インテグレーションアセットリファレンス
Dash が新機能を発表!インシデントマネジメント、Continuous Profiler など多数の機能が追加されました! Dash イベントで発表された新機能!

インテグレーションアセットリファレンス

構成ファイル

新しいインテグレーションを用意する際は、必要なオプションと適正なデフォルトを設定したコンフィギュレーションサンプルを追加する必要があります。この例のサンプルコンフィギュレーションファイルは <チェック名>/datadog_checks/<チェック名>/data/conf.yaml.example にあり、init_configinstances という 2 つのトップレベル要素を持っています。init_config 下のコンフィギュレーションはインテグレーションにグローバルに適用され、インテグレーションのすべてのインスタンスで使用されます。一方、instances 内のコンフィギュレーションは特定のインスタンスに適用されます。

どちらのセクションの構成ブロックも次の形式になります。

## @<COMMAND> [- <ARGS>]
## <DESCRIPTION LINE 1>
## <DESCRIPTION LINE 2>
#
<KEY>: <VALUE>

構成ブロックは以下のガイドラインに従います。

  • 説明を空にすることはできません。
  • ドキュメント寄稿ガイドラインに準拠して、プレースホルダーは常に <これはプレースホルダーです> の形式に従う必要があります。
  • すべての必須パラメーターはデフォルトでコメントにされません
  • すべてのオプションパラメーターはデフォルトでコメントにされます。
  • プレースホルダーにインテグレーションのデフォルト値がある場合 (たとえば、インテグレーションのステータスエンドポイント)、それを汎用プレースホルダーの代わりに使用できます。

@param の指定

事実上 @param が唯一のコマンドです。@param は、主に文書化の目的で構成ブロックについて説明するために使用され、以下のいずれかの形式を使用して実装されます。

@param <name> - <type> - 必須
@param <name> - <type> - オプション
@param <name> - <type> - オプション - デフォルト: <defval>

引数

  • name: パラメーターの名前。例: search_string (必須)。
  • type: パラメーター値のデータタイプ (必須)。使用可能な値:
    • boolean
    • string
    • integer
    • double
    • float
    • dictionary
    • list*
    • object
  • defval: パラメーターのデフォルト値。空でもかまいません (オプション)。

list および object 変数は複数行にまたがり、特別な規則があります。

  • list の個々の要素は、@param 指定を使用して文書化されません。
  • object の場合は、@param 指定を使用して要素を個別に文書化することも、オブジェクト自体の指定に続けてトップレベルに共通の説明を付けることもできます。

オプションパラメーター

オプションパラメーターはデフォルトでコメントにする必要があります。パラメーターの記述に使用される各行の前に、@param 指定と同じインデントで # を追加します。

ブロックコメント

次の規則に従って、構成ファイルの任意の場所にブロックコメントを追加できます。

  • コメントは ## で開始されます。
  • コメントは変数と同様にインデントされます (ハイフンはカウントされません)。

YAML 構文の詳細については、Wikipedia を参照してください。Online YAML Parser も活用してください。

マニフェストファイル

各インテグレーションには manifest.json ファイルが含まれています。これには、オペレーティングパラメーター、さらに大きな Datadog インテグレーションエコシステム内の配置などが記述されます。

以下に、manifest.json ファイルの必須属性とオプション属性をすべてリストします。

属性タイプ必須/オプション説明
integration_id文字列必須このインテグレーションを一意に識別する名前。通常は表示名のケバブケース。
categories文字列の配列必須公開ドキュメントのインテグレーションページで使用されるインテグレーションカテゴリ。
creates_eventsBoolean必須インテグレーションがイベントを作成できるかどうか。これが false に設定された場合は、インテグレーションからイベントを作成しようとするとエラーになります。
display_name文字列必須公開ドキュメントのインテグレーションページと Datadog アプリケーションの対応するインテグレーションタイルに表示されるタイトル。
guid文字列必須インテグレーションの一意の ID。UUID を生成します
is_publicBoolean必須false に設定されると、インテグレーションの README.md コンテンツは Datadog 公開ドキュメントのインデックスにボットによって掲載されません。
maintainer文字列必須インテグレーションの所有者の電子メール。
manifest_version文字列必須現在のマニフェストのバージョン。
name文字列必須インテグレーションの一意の名前。このパラメーターにはフォルダー名を使用します。
public_title文字列必須ドキュメントに表示されるインテグレーションのタイトル。Datadog-<INTEGRATION_NAME> integration の形式に従う必要があります。
short_description文字列必須このテキストは、インテグレーションページで、インテグレーションタイルの先頭およびインテグレーションのロールオーバーテキストに表示されます。最大 80 文字。
support文字列必須インテグレーションの所有者。
supported_os文字列の配列必須サポートされている OS のリスト。linuxmac_oswindows から選択します。
type文字列必須インテグレーションの種類。check に設定する必要があります。
aliases文字列の配列オプションDatadog ドキュメントの URL エイリアスのリスト。
description文字列オプションこのテキストは、インテグレーションドキュメントのリンクを共有したときに表示されます。
is_betaBooleanオプションデフォルトは false です。true に設定されると、インテグレーションの README.md コンテンツは Datadog 公開ドキュメントに表示されません。
metric_to_check文字列オプションこのメトリクスが存在するかどうかで、このインテグレーションが正しく動作しているかどうかが判定されます。インテグレーションがインストールされているのに、このメトリクスが報告されていない場合、このインテグレーションは Datadog アプリケーションで破損しているとマークされます。
metric_prefix文字列オプションこのインテグレーションのメトリクスのネームスペース。このインテグレーションによって報告されるすべてのメトリクスの先頭にこの値が付加されます。
process_signatures文字列の配列オプションこのインテグレーションのコマンドラインに一致するシグニチャのリスト。
assets辞書必須アセットファイルが存在する相対的場所とそれぞれの名前。
assets-> dashboards辞書必須(すべてのインテグレーションでグローバルに一意の) ダッシュボードの名前をキーとし、ダッシュボード定義がある場所の相対ファイルパスを値とする辞書。
assets-> monitors辞書必須(すべてのインテグレーションでグローバルに一意の) モニターの名前をキーとし、ダッシュボード定義がある場所の相対ファイルパスを値とする辞書。
assets-> service_checks文字列必須service_checks.json ファイルが存在する相対的な場所。

メトリクスメタデータファイル

metadata.csv ファイルには、インテグレーションが収集できるすべてのメトリクスが記述されます。

metadata.csv ファイルの各列について以下に説明します。

列名必須/オプション説明
metric_name必須メトリクスの名前。
metric_type必須メトリクスのタイプ
intervalオプションメトリクスの収集間隔 (秒単位)。
unit_nameオプションメトリクスの単位。サポートされているすべての単位のリスト
per_unit_nameオプション単位の下位区分がある場合。request per second (1 秒あたりのリクエスト) など。
descriptionオプションメトリクスの説明。
orientation必須myapp.turnover のように、大きい方がよいメトリクスの場合は 1 に設定します。メトリクスの変動が特に重要でない場合は 0 に設定します。myapp.latency のように、小さい方がよいメトリクスの場合は -1 に設定します。
integration必須メトリクスを送信するインテグレーションの名前。これは、manifest.json ファイルにある display_name を正規化した文字列です。文字、アンダースコア、ダッシュ、数字以外の文字はアンダースコアに変換されます。例: Openstack Controller -> openstack_controllerASP.NET -> asp_netCRI-o -> cri-o
short_name必須メトリクスの明示的な一意の ID。

サービスチェックファイル

service_check.json ファイルは、インテグレーションによって作成されたサービスチェックを記述します。

service_checks.json ファイルには、次の必須属性が含まれています。

属性説明
agent_versionサポートされている Agent の最小バージョン。
integrationこのサービスチェックを送信するインテグレーションの名前。これは、manifest.json にある正規化されていない display_name です。
checkサービスチェックの名前。一意である必要があります。
statusesチェックのさまざまなステータスのリスト。okwarningcritical から選択します。unknown も可能です。
groupsサービスチェックと共に送信されるタグ
nameサービスチェックの表示名。表示名はわかりやすく、すべてのインテグレーションで一意である必要があります。
descriptionサービスチェックの説明。