What's This
CloudWatch Logsに出力されたログで、特定文字列があった場合に、
メトリクスフィルターで検知したい文字列を設定し、メトリクスフィルター作成時に生成されたcustom metricsをDatadogに流して、Datadogモニターで検知する
仕組みを作ったときのメモです。
あくまでメモなので、参考にされる場合は、公式ドキュメントの副読的な感じで読まれると幸いです。
AWSでの設定
テスト用にロググループ作成
メトリクスフィルターを作成
"Error"文字列が出現したらカウントするように設定
ログイベントを作成
カスタムメトリクスが作成されていることを確認
上記で作成したメトリクスフィルターの、Metricから飛べます。
検知の文字列が発生していないと、メトリクスとして反映されない感じだった気がします。
反映されるまで少し時間がかかることも。
ここで、文字列がカウントされていることを確認できます。
Datadogでの設定
Datadogのインテグレーション設定でcollect custom metricsにチェックが入っていることを確認
Datadogにカスタムメトリクスが流れてきたことを確認
Metic Explorerか、New monitorで、(上記メトリクスフィルターで生成された)Metricの名前
で、流れていることを確認。
ほか
モニター作成し、文字列が発生していないのに、なぜかアラート状態になる期間があり、原因の対策として
適切かは不明ですが、default_zeroをクエリに追加したところ、発生していない時は正常判定になりました。
以下で設定できます。
Reference
・https://cloudpack.media/18996
・https://docs.datadoghq.com/ja/metrics/custom_metrics/
・https://stackoverflow.com/questions/58414654/how-can-i-monitor-aws-cloudwatch-customized-metric-on-datadog
・社内有識者
参考になりました。ありがとうございます。