サービスチェック送信: Agent チェック

カスタム 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 チェックの書き方を参照してください。

  1. Agent の conf.d/ フォルダーに新しいディレクトリ service_check_example.d/ を作成します。

  2. service_check_example.d/ フォルダーに次の内容で空のコンフィギュレーションファイルを作成し、service_check_example.yaml と名付けます。

    instances: [{}]
    
  3. conf.d/ フォルダーから階層を 1 つ上がり、checks.d/ フォルダーに移動します。

  4. このフォルダー内に次の内容でカスタムチェックファイルを作成し、service_check_example.py と名付けます。

    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='サンプルアプリケーションが稼働しています。')
        
  5. Agent を再起動します

  6. 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
    
        (...)
    
  7. 最後に、Datadog サービスチェック内容のサマリーを参照して、サービスチェックレポートを確認します。

サービスチェック

参考資料

お役に立つドキュメント、リンクや記事: