連載
「CloudWatch Logs」の「サブスクリプションフィルター」を使って、Slackにほぼリアルタイムでエラーを通知する:AWSチートシート
AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は「CloudWatch Logs」の「サブスクリプションフィルター」機能の利用方法と注意点を紹介する。
「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「CloudWatch Logs」の「サブスクリプションフィルター」機能の利用方法と注意点を紹介します。
「CloudWatch Logs」の「サブスクリプションフィルター」とは
「サブスクリプションフィルター」はロググループ単位に設定するフィルター機能です。設定した特定文字列がログに出力された場合に、指定した後続処理(「AWS Lambda」「Amazon Kinesis」など)にログを転送します。
構築時は、とあるエラーのみ処理の中で通知する仕組みにしていたが、運用していく上で「他のエラーも同様に通知したい」「一時的にこのエラーは通知してほしい」といったことも起こります。こういった場合、大抵は処理を改修して通知する箇所を増やす必要がありますが、エラーログさえ出力していれば、元の処理を改修せずに「サブスクリプションフィルター」を使って解決できます。
サービスの構築
図1は本記事で作成するサービスの構成イメージです。
今回は以下の手順でサービスを構築します。
- SlackへのIncoming Webhookの追加
- Slack通知するLambda関数の作成
- 監視対象となるLambda関数の作成
- ロググループへのサブスクリプションフィルターの設定
- 動作確認
1.SlackへのIncoming Webhookの追加
こちらの記事の該当手順を参照してください。
2.Slack通知するLambda関数の作成
AWSにログインし、Lambdaコンソールにアクセスして「関数の作成」をクリックします。
関数の作成画面では、下表の項目通りに設定して「関数の作成」をクリックします。なお、記載のない項目についてはデフォルトの設定のままで問題ありません。
設定項目 | 設定値 |
---|---|
オプション | 一から作成 |
関数名 | 任意(例では「subscriptionFilterToSlack」) |
ランタイム | Python 3.9 |
関連記事
- 「Amazon CloudWatch Synthetics」で始める性能監視「合成モニタリング」入門
AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、AWSで合成モニタリングができるマネージドサービス「Amazon CloudWatch Synthetics」を紹介する。 - 「AWS Lambda」とPython Boto3を使ってEC2インスタンスを操作する「AWS SDK」入門
AWS活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「AWS Lambda」とPython Boto3を使ってEC2インスタンスを操作する方法を紹介する。 - 「AWS Lambda」が拡張機能を介して各種運用ツールと統合可能に
サーバのプロビジョニングや管理をすることなくコードを実行できる「AWS Lambda」サービスが利用しやすくなった。AWS Lambda拡張機能を使うことでモニタリングや可観測性、セキュリティ、ガバナンスのための運用ツールをAWS Lambdaと統合して利用できる。
Copyright © ITmedia, Inc. All Rights Reserved.