カスタム Agent チェック内で Datadog にサービスチェックを送信するには、AgentCheck
クラスの定義済みの service_check()
関数を使用します。
self.service_check(name, status, tags=None, hostname=None, message=None)
以下は、service_check()
関数で利用可能な各種パラメーターとデータ型です。
パラメーター | タイプ | 必須 | デフォルト値 | 説明 |
---|
name | 文字列 | はい | - | サービスチェックの名前。 |
status | 整数 | はい | - | サービスのステータスを説明する定数: OK には 0 、Warning には 1 、Critical には 2 、Unknown には 3 。 |
tags | 文字列のリスト | いいえ | None | このサービスチェックに関連付けるタグのリスト |
hostname | 文字列 | いいえ | 現在のホスト | このサービスチェックに関連付けるホスト名。デフォルトは現在のホストです。 |
message | 文字列 | いいえ | None | このステータスが発生した補足情報や説明 |
例
定期的に 1 つのサービスチェックのみを送信するダミーの Agent チェックの例を次に示します。詳細については、カスタム Agent チェックの書き方を参照してください。
Agent の conf.d/
フォルダーに新しいディレクトリ service_check_example.d/
を作成します。
service_check_example.d/
フォルダーに次の内容で空のコンフィギュレーションファイルを作成し、service_check_example.yaml
と名付けます。
conf.d/
フォルダーから階層を 1 つ上がり、checks.d/
フォルダーに移動します。
このフォルダー内に次の内容でカスタムチェックファイルを作成し、service_check_example.py
と名付けます。
from datadog_checks.base import AgentCheck
__version__ = "1.0.0"
class MyClass(AgentCheck):
def check(self, instance):
self.service_check('example_service_check', 0, message='サンプルアプリケーションが稼働しています。')
Agent を再起動します。
Agent ステータスコマンドを使用して、カスタムチェックが正しく実行されていることを確認してください。次のように表示されるはずです。
=========
Collector
=========
Running Checks
==============
(...)
service_check_example (1.0.0)
-----------------------------
Instance ID: service_check_example:d884b5186b651429 [OK]
Total Runs: 1
Metric Samples: Last Run: 0, Total: 0
Events: Last Run: 0, Total: 0
Service Checks: Last Run: 1, Total: 1
Average Execution Time : 2ms
(...)
最後に、Datadog サービスチェック内容のサマリーを参照して、サービスチェックレポートを確認します。
参考資料