🐶

【Datadog】特定のエラー通知を除く

2024/01/03に公開

DatadogはLogに出力された内容をSlack通知などする際にMonitorの設定をする。

Monitorは通知条件を指定するが、一部のエラーを除きたいことがあり、その設定方法が分かったので書く。

LogのConfigurationを見ると、Pipelineがあるのが分かる。
Logの出力があるとこのPipelineの①から順に処理が行われるらしい。
今回はこのPipelineのステップを追加したいが、デフォルトのは変更できないので右側のボタンからCloneする。

Cloneすると元々動いていたものは自動で非アクティブになるのでそのままでOK。
複製されたPipelineを展開すると、下に「Add Processor」があるのでクリック。
このProcessorがPipelineのステップのようなもの。

今回はLogの内容によってEvent attributeに特定のプロパティ(ラベルのようなもの)をつけるとする。
Select the processor typeのセレクトボックスから「Category Processor」を選択。
②のProcessorのNameと③のCategory attributeは今回は「AlertType」とする。
④のAll events that matchには通知から除外したいLogに含まれる文字列を入れる。今回はテストとして「hoge」にします。
Appear under the value nameにはラベルに値するものを指定。今回は除外したいものなので「NO_PROBLEM」にします。

それ以外のエラーには「ERROR」を付与します。
⑤のReview added entriesに表示されている上から順に通るため、他のもの(ここではNO_PROBLEM)にヒットしなかったものには「ERROR」を付与するため、All events that matchを「*」にして一番最後に設定します。

ここまで出来たら、あとはMonitorの設定を少し変えるだけ。

現在使っているMonitorのQueryに、且つ、今設定したAlertTypeがERRORのみの場合、を追加します。

追加したCategory ProcessorはLogでも確認できます。
追加前のログには反映されないので、設定後のログから確認してください。

以上。
これを活用すれば、「NO_PROBLEM」でも短期間で多く発生していたら通知する、も出来そうです!

参考
https://www.youtube.com/live/YsC6fNl0qB0?si=ECC_TdjN0Mxv3y6C&t=1747

Discussion