監視@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. コスト¶
記入中...