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

概要

このページでは、** Integrations** ページまたは Marketplace ページで製品を作成するために入力する必要があるファイルについて説明します。

構成ファイル

When preparing a new integration, you must include an example configuration that contains the necessary options and reasonable defaults. The example configuration file—which in this case, is located at <CHECK_NAME>/datadog_checks/<CHECK_NAME>/data/conf.yaml.example—has two top-level elements: init_config and instances.

init_config 下のコンフィギュレーションはインテグレーションにグローバルに適用され、インテグレーションのすべてのインスタンスで使用されます。一方、instances 内のコンフィギュレーションは特定のインスタンスに適用されます。

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

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

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

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

@param の指定

@param コマンドは、構成ブロックを記述し、構成のドキュメントを提供するために使用することができます。

param は、以下のいずれかの形式で実装されます。

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

引数:

  • name: パラメーターの名前。例: search_string (必須)。
  • type: パラメーター値のデータタイプ (必須)。 Possible values include the following: boolean, string, integer, double, float, dictionary, list*, and object*.
  • defval: パラメーターのデフォルト値。空でもかまいません (オプション)。

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

  • In a list, individual elements are not documented with the @param specification.
  • object の場合は、@param 指定を使用して要素を個別に文書化することも、オブジェクト自体の指定に続けてトップレベルに共通の説明を付けることもできます。

オプションパラメーター

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

ブロックコメント

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

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

YAML 構文についての詳細は、YAMLに関する Wikipedia の記事を参照してください。また、Online YAML Parser を調べることもできます。

マニフェストファイル

Integrations ページまたは Marketplace ページにあるすべての製品には、動作パラメーター、より大きなDatadog インテグレーションエコシステム内での位置づけ、追加のメタデータを定義する manifest.json ファイルがあります。

You can find the complete list of mandatory and optional attributes for the manifest.json file below:

AttributeMandatory or OptionalDescription
manifest_versionMandatoryType: String Enum.

Version of the manifest schema. Supported values include 1.0.0 and 2.0.0.
app_uuidMandatoryType: UUID.

Globally unique UUID for this application. This is automatically generated by Datadog when the developer toolkit ddev create command runs as part of creating tile scaffolding for your integration tile.
app_idMandatoryType: String.

The unique identifying name of this offering. Usually kebab case of the app title. For example, if the app title is “Marketplace Offering”, then the app_id would be marketplace-offering.
assetsMandatoryType: Dictionary.

Object containing any Datadog installable entity.
assets[dashboards]OptionalType: Dictionary.

Out-of-the-box dashboards associated with this offering.
assets[dashboards["dashboard_short_name"]]MandatoryType: String.

Key and value pairs for any out-of-the-box dashboards. The key is the globally unique short name of the dashboard and the value is the relative path to the dashboard’s JSON definition in relation to this manifest.
assets[integration]OptionalType: Dictionary.

Object containing information about the integration.
assets[integration[auto_install]]MandatoryType: Boolean.

Whether or not the integration and related assets should be installed automatically when metrics or logs from the integration are received from the source. This is typically set to true for integrations using the Datadog Agent, and other integrations that are configured outside the Datadog UI. It is typically set to false for marketplace integrations and integrations that are configured with the Datadog UI, such as integrations using OAuth.
assets[integration[configuration]]Mandatory, can be { }Type: Dictionary.

Object representing the configuration specification for this integration.
assets[integration[configuration[spec]]]MandatoryType: String.

Relative path to where the configuration spec lives in relation to this manifest.
assets[integration[events]]MandatoryType: Dictionary.

Information about events emitted by this integration.
assets[integration[events[creates_events]]]MandatoryType: Boolean.

Whether or not this integration emits events to Datadog.
assets[integration[metrics]]MandatoryType: Dictionary.

Information about the metrics this integration emits.
assets[integration[metrics[check]]]MandatoryType: String or list of strings.

A string or list representing metrics that this integration always emits on every run.
assets[integration[metrics[metadata_path]]]MandatoryType: String.

Relative path to where the metrics metadata lives in relation to this manifest.
assets[integration[metrics[prefix]]]MandatoryType: String.

The prefix for metrics emitted by this integration.
assets[integration[service_checks]]Mandatory, but can be { }Type: Dictionary.

Information about service checks emitted by this integration.
assets[integration[service_checks[metadata_path]]]MandatoryType: String.

Relative path to where the service check metadata lives in relation to this manifest.
assets[integration[source_type_name]]MandatoryType: String.

User-facing name of this integration.
assets[integration[source_type_id]]MandatoryType: Integer.

Globally unique ID for this integration. This is automatically generated by Datadog when the developer toolkit ddev create command runs as part of creating tile scaffolding for your integration tile.
assets[monitors]OptionalType: Dictionary.

Recommended monitors.
assets[monitors["monitor_short_name"]]MandatoryType: String.

Key and value pairs for any recommended monitors. The key is the globally unique short name of the monitor and the value is the relative path to the monitor’s JSON definition in relation to this manifest.
authorMandatoryType: Dictionary.

Information about the author of this app.
author[homepage]MandatoryType: String (URL).

The web URL to the homepage of the author.
author[name]MandatoryType: String.

The human-readable name for this company.
author[sales_email]MandatoryType: String (Email).

The Partner email to contact for any subscription-level events.
author[support_email]MandatoryType: String (Email).

The Partner email to contact for any support and maintenance queries.
author[contact_link]OptionalType: String (URL).

The URL link to meeting scheduling software, such as Calendly. This field is mandatory for professional services listings.
author[vendor_id]MandatoryType: String.

The vendor ID to use for subscription purposes. Must be globally unique and cannot be changed. Should follow the strict standards of app_id where only dashes and alphabetic chars are allowed. This value is provided to Datadog Technology Partners.
display_on_public_websiteMandatoryType: Boolean.

Whether or not information about this listing is displayed on the public Datadog Docs site. Once this is set to true, it cannot be changed.
legal_termsMandatoryType: Dictionary.

Any legal documentation that a user needs to agree to in order to use this app.
legal_terms[eula]MandatoryType: String.

Relative path to the End User License Agreement (EULA) PDF in relation to this manifest.
pricingMandatoryType: Array of Dictionaries.

List of objects representing the pricing model of the integration. See the Marketplace GitHub repository for pricing details. The Marketplace GitHub repository is private, email marketplace@datadog.com for access.
resourcesOptionalType: Array of Dictionaries.

List of externally hosted resources (blog posts, documentation, etc.) that appear in the “Dive Deeper” section of the integration tile with rich previews.
resources[resource_type]MandatoryType: String.

Type of resource being linked. Can be blog, documentation, faq, or other.
resources[url]MandatoryType: String.

Link to resource.
tileMandatoryType: Dictionary.

Information about this offering.
tile[media]Mandatory, can be [ ]Type: Array of Dictionaries.

Information about the various image and video style objects that are presented in the media gallery carousel on the listing page.
tile[media[media_type]]MandatoryType: String or Enum.

The type of media this is. Allowed values are image and video.
tile[media[caption]]MandatoryType: String.

The caption for the image.
tile[media[image_url]]MandatoryType: String.

The relative path to this image in relation to this manifest file.
tile[classifier_tags]Mandatory, can be [ ]Type: Array of strings.

Select and use the appropriate classifiers to describe this app, including categories, submitted or queried data types, supported_os, and available_offerings. For more information, see Classifier Tags.
tile[description]MandatoryType: String[80].

A brief description of what this offering provides. Limited to 80 characters.
tile[title]MandatoryType: String[50].

The user-friendly title for this app.

分類子タグ

classifier_tags パラメーターを使用して、複数のカテゴリーを設定し、インテグレーションに送信またはクエリされるデータタイプを定義することができます。

manifest.json ファイルに対する分類子タグの完全なリストは、以下の通りです。

名前説明
Category::AIAI 技術を監視するインテグレーション。
Category::AlertingDatadog のデータを収集してアラートを出したり、Datadog にアラートを送信するインテグレーション。
Category::Automationセキュリティ、コンプライアンス、テスト、AIOps などのプロセスを自動化するテクノロジーのインテグレーション。
Category::AWSAmazon Web Services とその関連サービスからデータを送信するインテグレーション。
Category::AzureAzure とその関連サービスからデータを送信するインテグレーション。
Category::Cachingキャッシュとキャッシュ技術を監視するインテグレーション。
Category::Cloudクラウドプラットフォームとその関連サービスからデータを送信するインテグレーション。
Category::Collaborationコードコラボレーション、メッセージングソフトウェア、電話会議など、コミュニケーションとコラボレーションを中心としたプラットフォームのインテグレーション。
カテゴリ::コンプライアンスHIPPA、SOC2、GDPR などのコンプライアンスデータを監視し、Datadog に送信するインテグレーション。
Category::Configuration & Deploymentインフラストラクチャーを構成しデプロイできるプラットフォームを監視するインテグレーション。
Category::Containersコンテナやコンテナ管理テクノロジーからのメトリクス、ログ、イベント、トレースを追跡するインテグレーション。
Category::Cost Managementクラウドコストの追跡と管理に役立つインテグレーション。
Category::Data Storeデータベース、クラスター、データレイクなどのデータストレージソリューションを監視するインテグレーション。
Category::Developer Toolsバージョン管理、CI/CD、コードとしてのインフラストラクチャーなど、開発者がアプリケーションの構築に使用するテクノロジーのインテグレーション。
Category::Event ManagementDatadog にイベントを送信したり、外部プラットフォームに送信するイベントをクエリするインテグレーション。
Category::Google CloudGoogle Cloud とその関連サービスからデータを送信するインテグレーション。
Category::IncidentsDatadog にインシデントを送信したり、Datadog のデータに基づいて外部でインシデントを作成するインテグレーション。
Category::IOTIoT (モノのインターネット) デバイスを監視するインテグレーション。
Category::Issue Trackingユーザーがインフラストラクチャーやコードの問題を特定し、管理するのに役立つインテグレーション。
Category::KubernetesKubernetes と Kubernetes 関連サービスからデータを送信するインテグレーション。
Category::Languages特定のプログラミング言語に基づいてメトリクスや追加データを送信するインテグレーション。
Category::Log CollectionDatadog からログを送信またはクエリするインテグレーション。
Category::Machine Learning & LLM機械学習 (ML) テクノロジー、大規模言語モデルを監視し、ML オペレーションを支援するインテグレーション。
Category::MainframeIBM z/OS などのメインフレームシステムを監視するインテグレーション。
Category::MarketplaceDatadog Marketplace で追加料金で販売されているインテグレーション。
Category::Messagingメッセージングキューとメッセージングシステムを監視するインテグレーション。
Category::MetricsDatadog からメトリクスを送信し、クエリするインテグレーション。
Category::Mobileモバイルデバイスとアプリケーションを監視するインテグレーション。
Category::Networkネットワークとネットワークデバイスを監視するインテグレーション。
Category::Notification例えばインシデント対応など、通知に重点を置いたテクノロジーのインテグレーション。
Category::OracleOracle ベースのテクノロジーを監視するインテグレーション。
Category::Orchestrationコンテナなどのオーケストレーションを提供するテクノロジーのインテグレーション。
Category::OS & Systemオペレーティングシステムやその他の低レベルのシステムを監視するインテグレーション。
Category::Provisioningクラウドやコンテナなどのリソースのプロビジョニングを管理するテクノロジーのインテグレーション。
Category::SAPSAP テクノロジーのインテグレーション。
Category::Securityセキュリティツールを監視したり、セキュリティレポートを提供するインテグレーション。
Category::SNMPSNMP と関連ツールを監視するインテグレーション。
カテゴリ::ソースコントロールGit などのソースコードコラボレーションツールを監視するインテグレーション。
Category::Testingブラウザテスト、負荷テストなどを実行するテクノロジーを監視するインテグレーション。
Category::TracingDatadog からトレースを送信またはクエリし、Datadog APM と対話するインテグレーション。
Offering::Integrationこれは、ユーザーの Datadog アカウントからデータを送信またはクエリする製品です。
Offering::Professional Serviceこれは、Datadog Marketplace を通じて Datadog のお客様にコンサルティングやインテグレーション作成などのサードパーティのプロフェッショナルサービスを提供する有料製品です。
Offering::Software Licenseこれは、Datadog Marketplace を通じて SaaS 製品のサブスクリプションを提供する有料製品です。
Offering::UI Extensionこれは、Datadog ユーザーのダッシュボード上にレンダリングされたインタラクティブな iFrame を表示するカスタムダッシュボードウィジェットです。
Queried Data Type::MetricsDatadog ユーザーのアカウントからメトリクスを読み取るインテグレーション。
Queried Data Type::LogsDatadog ユーザーのアカウントからログを読み取るインテグレーション。
Queried Data Type::TracesDatadog ユーザーのアカウントからトレースを読み取るインテグレーション。
Queried Data Type::EventsDatadog ユーザーのアカウントからイベントを読み取るインテグレーション。
Queried Data Type::IncidentsDatadog ユーザーのアカウントからインシデントを読み取るインテグレーション。
Submitted Data Type::MetricsDatadog ユーザーのアカウントにメトリクスを送信するインテグレーション。
Submitted Data Type::LogsDatadog ユーザーのアカウントにログを送信するインテグレーション。
Submitted Data Type::TracesDatadog ユーザーのアカウントにトレースを送信するインテグレーション。
Submitted Data Type::EventsDatadog ユーザーのアカウントにイベントを送信するインテグレーション。
Submitted Data Type::IncidentsDatadog ユーザーのアカウントにインシデントを送信するインテグレーション。
Supported OS::AndroidAndroid 上で動作し、Android からデータをクエリ/送信できるインテグレーション。
Supported OS::Any任意の OS 上で動作し、その OS からデータをクエリ/送信できるインテグレーション。
Supported OS::HP-UXHP-UX 上で動作し、HP-UX からデータをクエリ/送信できるインテグレーション。
Supported OS::IBM i/OSIBM i/OS 上で動作し、IBM i/OS からデータをクエリ/送信できるインテグレーション。
Supported OS::IBM z/OSIBM z/OS 上で動作し、IBM z/OS からデータをクエリ/送信できるインテグレーション。
Supported OS::iOSiOS 上で動作し、iOS からデータをクエリ/送信できるインテグレーション。
Supported OS::LinuxLinux 上で動作し、Linux からデータをクエリ/送信できるインテグレーション。
Supported OS::macOSmacOS 上で動作し、macOS からデータをクエリ/送信できるインテグレーション。
Supported OS::SolarisSolaris 上で動作し、Solaris からデータをクエリ/送信できるインテグレーション。
Supported OS::WindowsWindows 上で動作し、Windows からデータをクエリ/送信できるインテグレーション。

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

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

service_checks.json ファイルの必須属性の完全なリストは、以下の通りです。

属性説明
agent_versionサポートされている Agent の最小バージョン。
integrationこのサービスチェックを送信するインテグレーションの名前。これは、manifest.json にある正規化されていない tile.title です。
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 ファイルにある tile.title を正規化した文字列です。文字、アンダースコア、ダッシュ、数字以外の文字はアンダースコアに変換されます。例: Openstack Controller -> openstack_controllerASP.NET -> asp_netCRI-o -> cri-o
short_name必須Explicit unique ID for the metric.
curated_metricオプションインテグレーションのためのどのメトリクスが、与えられたタイプで注目すべきかをマークします (cpumemoryの両方が受け入れられる)。これらは、UI で他のインテグレーションメトリクスの上に表示されます。

その他の参考資料