コンテンツにスキップ

監視@Datadog

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. モニター

モニターとは

メトリクス/ログを監視し、システムの予測できる不具合の発生を未然に防ぐ。


ログモニター

▼ ログクエリの動作確認

ログモニターのクエリは、ログコンソールと同じ仕組みで動作する。

そのため、最初はログコンソールで必要なログを絞り込めるかを確認し、問題なければログモニターのクエリを設定する。

▼ シングルアラート

▼ マルチアラート

ログクエリでgroup by句を定義すると、選択できるようになる。


01-02. アラートの発火

グループ化


作成条件

▼ Auto resolve

アラートを通知した後に、一定期間同じエラーイベントが発生しなければ、発火したアラートを取り下げる。


01-03. アラートの通知内容

変数

▼ 変数を使用した重要度レベルの共通化

重要度レベルは、アプリケーション間で共通である方が良い。

通知内容に変数を使用することにより、異なるアプリケーションに共通のアラート条件を適用できるようになる。

そのため、アプリケーション間で重要度レベルを共通化できる。

ステータスに応じてアラートするか否かの決め方については、以下のリンクを参考にせよ。

▼ テンプレート変数

記入中...

▼ マルチアラート変数

クエリのgroup by句に割り当てたタグやファセットを変数として出力する。

マルチアラートモニターを使用する場合のみ、使用できる。

▼ タグ変数

構造化ログの属性値またはタグ値を変数として出力する。

{{ log.attributes.<キー名> }} または{{ log.tags.<キー名> }}として実装する。

▼ コンポジットモニター変数

▼ 条件変数


メッセージの構成

▼ タイトル

通知先にタイトルとして表示するテキストを定義する。

タイトルに変数を出力できる。

<!-- タグ変数を出力する -->

【{{ log.attributes.service }}】{{ log.attributes.env
}}環境でエラーを検知しました。

▼ 本文

通知先とテキストを定義する。

マークダウン記法を使用できる。

<!-- Datadogに設定した通知先 -->

<!-- アラート状態の時に表示するテキスト -->

{{ #is_alert }}

<!-- 復旧通知を転送しない場合、is_alert構文の中で定義する必要がある -->

@<本番環境のアラートチャンネル> 実行環境名:{{ log.attributes.env }}
アプリケーション名:{{ log.attributes.service }} ログステータス:{{
log.attributes.log_status }} ソース名:{{ log.tags.source }} リージョン名:{{
log.attributes.region }} {{ /is_alert }}


02. リアルユーザー監視 (RUM)

ブラウザエラー

▼ ブラウザエラーとは

Datadogで、ブラウザのエラーは以下に分類される。

エラーのソース エラーの例
コード上 ・ハンドリングされずにコード上に表示された例外
・ハンドリングされずにコード上に表示されたPromiseオブジェクトのrejectメソッドの結果
ブラウザコンソール上 console.errorメソッドによって、コンソール上に出力されたテキスト
カスタム @datadog/browser-rumパッケージのaddErrorメソッドによって、datadog-APIに送信されたテキスト


03. 合成監視

ブラウザテスト

▼ 送信元IPアドレス

Datadog社の物理サーバーがリクエストを送信する。

物理サーバー自体はAWSやAzureによって管理されており、使用する物理サーバーのリージョンを選択できる。

リージョンごとに数個ずつ物理サーバーが存在しているため、もし合成監視対象のアプリケーションでIP制限が行われている場合は、これらの物理サーバーのIPからのリクエストを許可する必要がある。

▼ ヘッダー

ヘッダー
user-agent ブラウザテストで設定したブラウザが割り当てられる。
sec-datadog ブラウザテストのIDが割り当てられる。
x-datadog-trace-id バックエンドがマイクロサービスアーキテクチャの場合、収集できる分散トレースを紐付けるIDが割り当てられる。
x-datadog-parent-id バックエンドがマイクロサービスアーキテクチャの場合、分散トレースのルートスパンとして、0が割り当てられる。
x-datadog-origin バックエンドがマイクロサービスアーキテクチャの場合、分散トレースがAPMクオータに影響しないように、synthetics-browserが割り当てられる。
x-datadog-sampling-priority バックエンドがマイクロサービスアーキテクチャの場合、分散トレースが収集される優先度として、1が割り当てれる。


APIテスト

記入中...


マルチステップAPIテスト

記入中...


04. セキュリティ監視

記入中


05. グラフ

図の種類

記入中...


スケールの種類

▼ log (対数) スケール

記入中...

▼ linear (線形) スケール

記入中...

▼ 2の累乗スケール

記入中...

▼ sqrt (平方根) スケール

記入中...


06. コスト

記入中...