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

構成ファイル

新しいインテグレーションを用意する際は、必要なオプションと適正なデフォルトを設定したコンフィギュレーションサンプルを追加する必要があります。この例のサンプルコンフィギュレーションファイルは <チェック名>/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 も活用してください。

マニフェストファイル

Integrations ページMarketplace にある全てのオファーは、操作パラメーター、Datadog インテグレーションエコシステム内での位置づけ、その他のメタデータを記述した manifest.json ファイルを含んでいます。

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

属性タイプ必須/オプション説明
manifest_version文字列 列挙型必須マニフェストスキーマのバージョン。サポートされる値は 1.0.02.0.0 です。
app_id文字列必須この製品の固有の識別名。通常、アプリのタイトルのケバブケースです。例えば、アプリのタイトルが “Marketplace Offering” の場合、app_idmarketplace-offering となります。
app_uuidUUID必須このアプリケーションのグローバルにユニークな UUID。
assets辞書必須任意の Datadog インストール可能なエンティティを含むオブジェクト。
assets[dashboards]辞書オプションこの製品に関連するすぐに使えるダッシュボード。
assets[dashboards["dashboard_short_name"]]文字列必須すぐに使えるダッシュボードのキーと値のペア。キーはダッシュボードのグローバルに一意な短縮名で、値はこのマニフェストに関連するダッシュボードの JSON 定義への相対パスです。
assets[integration]辞書オプションインテグレーションに関する情報を含むオブジェクト。
assets[integration[configuration]]辞書必須、{ } でも可このインテグレーションのための構成仕様を表すオブジェクト。
assets[integration[configuration[spec]]]文字列必須このマニフェストに関連して構成スペックが存在する場所への相対パス。
assets[integration[events]]辞書必須このインテグレーションが発するイベントに関する情報。
assets[integration[events[creates_events]]]Boolean必須このインテグレーションが Datadog にイベントを発するかどうか。
assets[integration[metrics]]辞書必須このインテグレーションが発するメトリクスに関する情報。
assets[integration[metrics[check]]]文字列または文字列のリスト必須このインテグレーションが実行されるたびに必ず発するメトリクスを表す文字列またはリスト。
assets[integration[metrics[metadata_path]]]文字列必須このマニフェストに関連して、メトリクスのメタデータが存在する場所への相対パス。
assets[integration[metrics[prefix]]]文字列必須このインテグレーションで発されるメトリクスのプレフィックス。
assets[integration[service_checks]]辞書必須、しかし { } でも可このインテグレーションが発するサービスチェックに関する情報。
assets[integration[service_checks[metadata_path]]]文字列必須このマニフェストに関連して、サービスチェックのメタデータが存在する場所への相対パス。
assets[integration[source_type_name]]文字列必須このインテグレーションのユーザー向けの名前。
assets[monitors]辞書オプション推奨モニター。
assets[monitors["monitor_short_name"]]文字列必須推奨モニターのキーと値のペア。キーはモニターのグローバルに一意な短縮名で、値はこのマニフェストに関連するモニターの JSON 定義への相対パスです。
author辞書必須このアプリの作者に関する情報。
author[homepage]文字列 (URL)必須作者のホームページの Web URL。
author[name]文字列必須この会社の読みやすい名前。
author[sales_email]文字列 (メール)必須サブスクリプションレベルのイベントに関する連絡先メール。
author[support_email]文字列 (メール)必須サポートやメンテナンスの問い合わせ先となるメール。
author[vendor_id]文字列必須サブスクリプションのために使用するベンダー ID。グローバルに一意でなければならず、変更することはできません。ダッシュとアルファベットのみ使用可能な app_id の厳格な基準に従わなければなりません。この値はパートナーに提供されます。
display_on_public_websiteBoolean必須このリストに関する情報を、公開されている Datadog ドキュメントサイトに表示するかどうか。これを True に設定すると、変更することはできません。
legal_terms辞書必須このアプリを使用するためにユーザーが同意する必要がある法的文書。
legal_terms[eula]文字列必須このマニフェストに関連する EULA (End User License Agreement) PDF への相対パス。
pricing辞書の配列必須インテグレーションの価格モデルを表すオブジェクトのリスト。価格の詳細については、Marketplace GitHub リポジトリを参照してください。Marketplace GitHub リポジトリは非公開です。アクセスするには marketplace@datadog.com にメールを送ってください。
tile辞書必須この製品に関する情報
tile[media]辞書の配列必須、[ ] でも可リスティングページのメディアギャラリーカルーセルに表示される、さまざまな画像やビデオのスタイルオブジェクトに関する情報。
tile[media[media_type]]文字列または列挙型必須メディアの種類。許可される値は image および video です。
tile[media[caption]]文字列必須画像のキャプション。
tile[media[image_url]]文字列必須このマニフェストファイルに対する、この画像の相対パス。
tile[classifier_tags]文字列の配列必須、[ ] でも可このアプリに関するいくつかの分類子情報。これには supported_osavailable_offerings などの情報が含まれます。
tile[description]文字列[80]必須この製品の提供内容の簡単な説明。80 文字以内です。
tile[title]文字列[50]必須このアプリのユーザーフレンドリーなタイトル。

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

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

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

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

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

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。
curated_metricオプションインテグレーションのためのどのメトリクスが、与えられたタイプで注目すべきかをマークします (cpumemoryの両方が受け入れられる)。これらは、UI で他のインテグレーションメトリクスの上に表示されます。