- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
このページでは、** Integrations** ページまたは Marketplace ページで製品を作成するために入力する必要があるファイルについて説明します。
新しいインテグレーションを用意する際は、必要なオプションと適正なデフォルトを設定したコンフィギュレーションサンプルを追加する必要があります。この例のサンプルコンフィギュレーションファイルは <チェック名>/datadog_checks/<チェック名>/data/conf.yaml.example
にあり、init_config
と instances
という 2 つのトップレベル要素を持っています。
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
変数は複数行にまたがり、特別な規則があります。
list
の個々の要素は、@param
指定を使用して文書化されません。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:
Attribute | Mandatory or Optional | Description |
---|---|---|
manifest_version | Mandatory | Type: String Enum. Version of the manifest schema. Supported values include 1.0.0 and 2.0.0 . |
app_uuid | Mandatory | Type: UUID. Globally unique UUID for this application. |
app_id | Mandatory | Type: 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 . |
assets | Mandatory | Type: Dictionary. Object containing any Datadog installable entity. |
assets[dashboards] | Optional | Type: Dictionary. Out-of-the-box dashboards associated with this offering. |
assets[dashboards["dashboard_short_name"]] | Mandatory | Type: 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] | Optional | Type: Dictionary. Object containing information about the integration. |
assets[integration[configuration]] | Mandatory, can be { } | Type: Dictionary. Object representing the configuration specification for this integration. |
assets[integration[configuration[spec]]] | Mandatory | Type: String. Relative path to where the configuration spec lives in relation to this manifest. |
assets[integration[events]] | Mandatory | Type: Dictionary. Information about events emitted by this integration. |
assets[integration[events[creates_events]]] | Mandatory | Type: Boolean. Whether or not this integration emits events to Datadog. |
assets[integration[metrics]] | Mandatory | Type: Boolean. Information about the metrics this integration emits. |
assets[integration[metrics[check]]] | Mandatory | Type: String or list of strings. A string or list representing metrics that this integration always emits on every run. |
assets[integration[metrics[metadata_path]]] | Mandatory | Type: String. Relative path to where the metrics metadata lives in relation to this manifest. |
assets[integration[metrics[prefix]]] | Mandatory | Type: 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]]] | Mandatory | Type: String. Relative path to where the service check metadata lives in relation to this manifest. |
assets[integration[source_type_name]] | Mandatory | Type: String. User-facing name of this integration. |
assets[monitors] | Optional | Type: Dictionary. Recommended monitors. |
assets[monitors["monitor_short_name"]] | Mandatory | Type: 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. |
author | Mandatory | Type: Dictionary. Information about the author of this app. |
author[homepage] | Mandatory | Type: String (URL). The web URL to the homepage of the author. |
author[name] | Mandatory | Type: String. The human-readable name for this company. |
author[sales_email] | Mandatory | Type: String (Email). The email to contact for any subscription-level events. |
author[support_email] | Mandatory | Type: String (Email). The email to contact for any support and maintenance queries. |
author[contact_link] | Optional | Type: String (URL). The URL link to meeting scheduling software, such as Calendly. This field is mandatory for professional services listings. |
author[vendor_id] | Mandatory | Type: 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_website | Mandatory | Type: 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_terms | Mandatory | Type: Dictionary. Any legal documentation that a user needs to agree to in order to use this app. |
legal_terms[eula] | Mandatory | Type: String. Relative path to the End User License Agreement (EULA) PDF in relation to this manifest. |
pricing | Mandatory | Type: 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. |
tile | Mandatory | Type: 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]] | Mandatory | Type: String or Enum. The type of media this is. Allowed values are image and video . |
tile[media[caption]] | Mandatory | Type: String. The caption for the image. |
tile[media[image_url]] | Mandatory | Type: 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] | Mandatory | Type: String[80]. A brief description of what this offering provides. Limited to 80 characters. |
tile[title] | Mandatory | Type: String[50]. The user-friendly title for this app. |
classifier_tags
パラメーターを使用して、複数のカテゴリーを設定し、インテグレーションに送信またはクエリされるデータタイプを定義することができます。
manifest.json
ファイルに対する分類子タグの完全なリストは、以下の通りです。
Name | Description |
---|---|
Category::AI | Integrations that monitor AI technologies. |
Category::Alerting | Integrations that collect Datadog data to alert on, or send alerts into Datadog. |
Category::Automation | Integrations for technologies that automate processes such as security, compliance, testing, and AIOps. |
Category::AWS | Integrations that send in data from Amazon Web Services and its related services. |
Category::Azure | Integrations that send in data from Azure and its related services. |
Category::Caching | Integrations that monitor caches and caching technologies. |
Category::Cloud | Integrations that submit data from cloud platforms and their related services. |
Category::Collaboration | Integrations for platforms that center around communication and collaboration, such as code collaboration, messaging software, and conference calling. |
Category::Compliance | Integrations that monitor and send compliance data into Datadog, such as support for HIPPA, SOC2, GDPR, and more. |
Category::Configuration & Deployment | Integrations that monitor platforms that can configure and deploy infrastructure. |
Category::Containers | Integrations that track metrics, logs, events, and traces from containers and container management technologies. |
Category::Cost Management | Integrations that help track and manage cloud cost. |
Category::Data Store | Integrations that monitor data storage solutions such as databases, clusters, data lakes, and more. |
Category::Developer Tools | Integrations for technologies that developers use to help build applications such as version control, CI/CD, and infrastructure as code. |
Category::Event Management | Integrations that send events into Datadog or query events to send into external platforms. |
Category::Google Cloud | Integrations that send in data from Google Cloud and its related services. |
Category::Incidents | Integrations that send incidents into Datadog, or create incidents externally based on Datadog data. |
Category::IOT | Integrations that monitor IoT (Internet of Things) devices. |
Category::Issue Tracking | Integrations that help users identify and manage issues in their infrastructure or code. |
Category::Kubernetes | Integrations that send in data from Kubernetes and Kubernetes-related services. |
Category::Languages | Integrations that send metrics and additional data based on specific programming languages. |
Category::Log Collection | Integrations that submit or query logs from Datadog. |
Category::Machine Learning & LLM | Integrations that monitor Machine Learning technologies, Large Language Models, and assist with ML Operations. |
Category::Mainframe | Integrations that monitor mainframe systems such as IBM z/OS. |
Category::Marketplace | Integrations that are sold in the Datadog Marketplace for an additional fee. |
Category::Messaging | Integrations that monitor messaging queues and messaging systems. |
Category::Metrics | Integrations that submit and query metrics from Datadog. |
Category::Mobile | Integrations that monitor mobile devices and applications. |
Category::Network | Integrations that monitor networks and network devices. |
Category::Notification | Integrations for technologies that focus on notifications, for example, incident response. |
Category::Oracle | Integrations that monitor Oracle-based technologies. |
Category::Orchestration | Integrations for technologies that provide orchestration for containers and more. |
Category::OS & System | Integrations that monitor operating systems or other low-level systems. |
Category::Provisioning | Integrations for technologies that manage the provisioning of resources across the cloud, containers, and more. |
Category::SAP | Integrations for SAP technologies. |
Category::Security | Integrations that monitor security tools or provide security reporting. |
Category::SNMP | Integrations that monitor SNMP and related tools. |
Category::Source Control | Integrations that monitor source code collaboration tools such as Git. |
Category::Testing | Integrations that monitor technologies that run browser tests, load testing, and more. |
Category::Tracing | Integrations that send in or query traces from Datadog, and interact with Datadog APM. |
Offering::Integration | This is an offering that submits or queries data from a user’s Datadog account. |
Offering::Professional Service | This is a paid offering that provides third-party professional services, such as consulting, integration creation, and more to Datadog customers through the Datadog Marketplace. |
Offering::Software License | This is a paid offering that provides a subscription to a SaaS product through the Datadog Marketplace. |
Offering::UI Extension | This is a custom dashboard widget that displays a rendered, interactive iFrame on the dashboards of Datadog users. |
Queried Data Type::Metrics | An integration that reads metrics from a Datadog user’s account. |
Queried Data Type::Logs | An integration that reads logs from a Datadog user’s account. |
Queried Data Type::Traces | An integration that reads traces from a Datadog user’s account. |
Queried Data Type::Events | An integration that reads events from a Datadog user’s account. |
Queried Data Type::Incidents | An integration that reads incidents from a Datadog user’s account. |
Submitted Data Type::Metrics | An integration that sends metrics into a Datadog user’s account. |
Submitted Data Type::Logs | An integration that sends logs into a Datadog user’s account. |
Submitted Data Type::Traces | An integration that sends traces into a Datadog user’s account. |
Submitted Data Type::Events | An integration that sends events into a Datadog user’s account. |
Submitted Data Type::Incidents | An integration that sends incidents into a Datadog user’s account. |
Supported OS::Android | An integration that can run on and query/submit data from Android. |
Supported OS::Any | An integration that can run on and query/submit data from any OS. |
Supported OS::HP-UX | An integration that can run on and query/submit data from HP-UX. |
Supported OS::IBM i/OS | An integration that can run on and query/submit data from IBM i/OS. |
Supported OS::IBM z/OS | An integration that can run on and query/submit data from IBM z/OS. |
Supported OS::iOS | An integration that can run on and query/submit data from iOS. |
Supported OS::Linux | An integration that can run on and query/submit data from Linux. |
Supported OS::macOS | An integration that can run on and query/submit data from macOS. |
Supported OS::Solaris | An integration that can run on and query/submit data from Solaris. |
Supported OS::Windows | An integration that can run on and query/submit data from Windows. |
service_check.json
ファイルは、インテグレーションによって作成されたサービスチェックを記述します。
service_checks.json
ファイルの必須属性の完全なリストは、以下の通りです。
属性 | 説明 |
---|---|
agent_version | サポートされている Agent の最小バージョン。 |
integration | このサービスチェックを送信するインテグレーションの名前。これは、manifest.json にある正規化されていない tile.title です。 |
check | サービスチェックの名前。一意である必要があります。 |
statuses | チェックのさまざまなステータスのリスト。ok 、warning 、critical から選択します。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_controller 、ASP.NET -> asp_net 、CRI-o -> cri-o 。 |
short_name | 必須 | メトリクスの明示的な一意の ID。 |
curated_metric | オプション | インテグレーションのためのどのメトリクスが、与えられたタイプで注目すべきかをマークします (cpu とmemory の両方が受け入れられる)。これらは、UI で他のインテグレーションメトリクスの上に表示されます。 |