虎塚(144)17この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。こんにちは、虎塚です。Logsを使うと、OSやミドルウェア、アプリケーションなどのログファイルをAWSに転送できます。転送したログを文字列でフィルターし、アラートメールを送ることもできて、便利です。sensitiveに指定することしかできません。いえ、「ERROR」と「Error」の文字列を両方検知したい場合がありますよね。今日は、そんな時の設定方法を紹介します。概要たとえば、「ERROR」という文字列を大文字小文字の区別なく検知したい場合を考えます。Filterを3種類作成します。Patternを次のように設定します。Nameを設定します。Filterを作成するわけです。次に、アラームを設定します。Nameとして先ほどの共通の名前を設定します。Filterを対象にアラームを定義できます。これで、「ログに『ERROR』『Error』『error』のいずれかが5分間に20回検知されたら、アラームを上げてメールを自動送信する」といった設定が可能になりました。Patternを定義すれば可能です)。「ERROR」「Error」「error」あたりを定義しておけば、実用上は問題ないかと思います。文章だけでは分かりづらいので、スクリーンショットをまじえて具体的に設定方法を説明します。Serverのログを使って実験してみましょう。今回は、フィルタ対象の文字列を「ZZZ」と「zzz」とします。両方の文字列を時間を空けてログに出力し、どちらの文字列だった場合も検知されて、メールが送信されれば、実験成功とします。インスタンスの準備ログの生成元となるインスタンスを準備しましょう。7のEC2インスタンスを起動します。インスタンスに関連づけるSecurityGroupでは、SSHログインのための22番ポートと、ブラウザからHTTPアクセスするための80番ポートを開けておきます。IPアドレスが自動的にアサインされる設定にしておきます。次に、インスタンスにSSHログインして、Apacheをパッケージインストールします。サービスを開始するとともに、インスタンス起動時にサービスが自動的に開始するように設定しておきます。httpd.serviceCentOSは初期設定のままではHTTPでアクセスできません。iptablesの80番ポートを開けておきます。Agentをインストールします。7が含まれませんが、ここでは検証ですので気にせずインストールします。ap-northeast-1インストール時には、初期値をそのまま適用して/var/log/messagesの転送設定をしてしまうとよいでしょう。その後、設定ファイルawslogs.confを開き、次の記述を末尾に追加します。/etc/httpd/logs設定ファイルを変更したら、Agentを再起動します。IPアドレスにブラウザからアクセスします。Consoleにログインして、CloudWatchのダッシュボードの[Logs]メニューから、Apacheアクセスログが転送されてきていることを確認しておきましょう。SNSのTopicとSubscriberの登録アラームを発生させてメールを受け取るために、SNSのトピックを作成します。Topicを作成します。topic]を選びます。ProtocolにEmailを選び、EndpointにEメールアドレスを入力して保存します。入力したメールアドレスに、Subscribe確認のメールがno-reply@sns.amazonaws.comから届きます。メール本文のリンクをクリックしましょう。Filterを2つ作成します。CloudWatchのダッシュボードに戻り、左ペインから[Logs]メニューを選びます。Filter]ボタンを押します。Filterでは「"zzz"」を入力します。Nameは「check_zzz」と設定します。Filter設定が完了した時の「/etc/httpd/logs」のフィルタ一覧を次に示します。Filterが作成されました。作成したMetricに対して、通知の設定を行います。Alarm]リンクをクリックします。to手順1で設定したSNSのTopicを選択します設定が完了した時の「/etc/httpd/logs」のフィルタ一覧を次に示します。Filterに関連づけられました。IPアドレスの後に文字列を続けてブラウザアクセスするだけで十分です。「http://XXX.XXX.XXX.XXX/ZZZ.html」などにアクセスします。Logsにログが転送されたことを確認します。次のようなログが来ていればOKです。手順3で設定したAlarmが上がり、メールが自動送信されることを確認してください。その後、ALARM状態が解除された(InsufficientもしくはOKの状態になった)ことを確認してから、今度は小文字「zzz」をURLに付けてアクセスします。Logsにログが転送されたことを確認します。次のようなログが来ていればOKです。先ほどと同じく、手順3で設定したAlarmが上がり、メールが自動送信されることを確認してください。ログに「ZZZ」が含まれていても「zzz」が含まれていても、1つのAlarmで検知できることを確認できました。おわりに今回のような設定を行うことで、「ログに『ERROR』『Error』『error』のいずれかが5分間に20回検知されたら、アラームを上げてメールを自動送信する」といった設定ができます。よかったら試してみてくださいね。Patternに正規表現が使えるようになる機能アップデートを期待しています!それでは、また。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。和樹25こんにちは植木和樹@上越オフィスです。Terminalの機能確定版がリリースされたので試してみました。CAFEの他、NTTデータとセブンイレブンの取り組みや、サインポスト、Zippinなどの各社と流通・小売業との連携を業界マップに作成してみました。川原征大4形態素解析の入門中で、ブログの内容の分析を試しています。作業効率化をしたという話。夏目祐樹395こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介255SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健233こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。