概要
開発者セクションには、Datadog で開発するための参考資料が含まれています。表示されていない製品に表示したいデータがある場合は、Datadog で開発することをお勧めします。この場合、Datadog は必要なテクノロジーをすでにサポートしている可能性があります。一般的に要求されるテクノロジーの表を参照して、ニーズを満たす可能性のある製品またはインテグレーションを見つけてください。
一般的に要求されるテクノロジー
現在表示されていない Datadog で監視したいデータがある場合は、カスタムを作成する前に、次の Datadog 製品とインテグレーションを検討してください。
| OpenMetrics | The Agent includes the OpenMetrics check capable of scraping Prometheus endpoints. Metrics retrieved by this integration are considered custom metrics. |
| JMX Beans | The JMX integration enables collection of metrics, logs, and traces from JVM-based applications. For example, the JMX integration is already used for official integrations like Solr, Tomcat, Cassandra, and more. Metrics generated through JMX-based integrations not natively supported by Datadog are considered custom metrics. |
| Custom metrics and integrations | Submit custom metrics for business stats using DogStatsD and the API. Datadog Agent integrations are Python files querying for metrics. All Agent code is open source, so it’s possible to write your own custom Agent check or custom Agent integration. The integrations-extras GitHub repository contains many community-developed custom integrations. |
| Logs | Use Log Management to view, monitor, and analyze the logs from your applications and infrastructure. The Datadog Agent provides advanced functionality for sending logs to your Datadog account, but you can also submit logs directly to the Logs API. |
| APM | APM and Continuous Profiler provide out-of-the-box performance dashboards for web services, queues, and databases to monitor requests, errors, and latency. You can use the Datadog Tracing Library for your environment and language, whether you are tracing a proxy or tracing across AWS Lambda functions and hosts, using automatic instrumentation, dd-trace-api, or OpenTelemetry. |
| Processes | The Processes integration collects resource usage metrics for specific running processes on any host, such as CPU, memory, I/O, and others. Use Live Process Monitoring (which is like htop without having to SSH) to query across all your running processes. |
| Files and Directories | The Directory check measures the age of files, the number of files in a directory, or the size of a directory." |
| Endpoint | Use the Agent-based HTTP check, or configure Synthetic Monitoring from the Datadog application to validate if an endpoint or URL is running and accessible. Use either option to test both public and private endpoints. Combine with Service Level Objectives, or SLOs to define clear targets for performance. |
| SNMP and Network Traffic | Network Device Monitoring enables you to collect SNMP (Simple Network Management Protocol) metrics emitted from network devices, such as routers, switches, and printers. Network Performance Monitoring tracks all network traffic in and out of a host, providing visibility into your network traffic between services, containers, availability zones, and any other tag in Datadog. Connection data at the IP, port, and PID levels is aggregated into application-layer dependencies between meaningful source and destination endpoints. |
| Cloud Providers | All the major Cloud providers (AWS, Azure, GCP, Alibaba) emit metrics through APIs. Use the Datadog integration tiles in your account to configure these integrations, which use Datadog servers to crawl for metrics. |
| Windows Performance Counters | Use the Windows performance counters integration to monitor performance and behavior in Windows environments. |
必要なソリューションが本当に利用できない場合は、Datadog サポートに連絡して機能をリクエストできます。このセクションの参考資料を使用して、独自のソリューションを作成することもできます。
パートナーと Datadog マーケットプレイス
また、Datadog を基盤として、Datadog Marketplace や Datadog のコミュニティインテグレーションに貢献したいパートナーである場合もあります。
製品を開発するには、適切なドキュメントを参照してください。
Datadog パートナーになるための詳細は、Datadog パートナーネットワークをご覧ください。
独自のソリューションを作成する
必要な種類のデータがまだ表示されていませんか?開発者には、サポートされていないデータを Datadog に送信するための選択肢がいくつかあります。
DogStatsD は、カスタムメトリクス、イベント、サービスチェックを受け入れるメトリクス集計サービスです。
カスタムチェックを使用すると、カスタムアプリケーションまたはシステムからメトリクスを収集できます。カスタム Agent チェックは多くのニーズに適しています。メトリクスの前処理などのより高度な要件については、OpenMetrics チェックを作成するという選択肢があります。
インテグレーションを使用すると、カスタムアプリケーションまたはシステムからメトリクス、イベント、サービスチェックを収集することもできます。インテグレーションは再利用可能です。インテグレーションは非公開に保つことも、他の開発者が使用できるように Datadog のコミュニティインテグレーションのリポジトリに貢献する公開インテグレーションを作成することもできます。
カスタムチェックとインテグレーション
カスタムチェックとインテグレーションの主な違いは、インテグレーションは Datadog のエコシステムの一部になることができる再利用可能なコンポーネントであるということです。これは通常、より多くの労力 (開発にかかる時間) を要し、アプリケーションフレームワーク、オープンソースプロジェクト、または一般的に使用されるソフトウェアなどの一般的なユースケースに最適です。チームや組織の外部で広く使用されていない監視サービスなど、よりユニークなシナリオでは、カスタムチェックを作成するのが最も効率的なオプションです。
ただし、特定のユースケースでソリューションを Python ホイール (.whl
) として公開およびデプロイする必要がある場合は、カスタムチェックの代わりにインテグレーションを作成することを選択できます。カスタムチェックを通じて発行されたメトリクスはカスタムメトリクスと見なされ、サブスクリプションプランに基づいてコストが関連付けられます。しかし、インテグレーションが Datadog エコシステムに受け入れられると、それが発行するメトリクスはカスタムメトリクスとは見なされなくなり、カスタムメトリクス数にカウントされなくなります。これがコストに与える影響の詳細については、Datadog の料金を参照してください。
インテグレーションを作成するには?
公開インテグレーション (つまり、Datadog のエコシステムの一部であり、datadog-agent integration
コマンドでインストールでき、Datadog の integrations-extras または integrations-core リポジトリに受け入れられるインテグレーション) を作成するには、非公開インテグレーションよりも多くの作業が必要になることに注意してください。このインテグレーションは、すべての ddev validate
ステップに合格し、使用可能なテストを行い、コードレビューを受ける必要があります。コード作成者であるあなたには、インテグレーションの保守管理者として、その機能を保証する責任があります。
初期目標は、小規模なコードを生成して信頼できる方法で希望するメトリクスを収集し、基本的なインテグレーションフレームワークを構築することです。カスタムチェックとして基本機能のコードを記述し、Agent インテグレーションの作成からフレームワークの詳細を入力してください。
次に、integrations-extras
リポジトリに対してプルリクエストを開いてください。これにより、コードレビューの準備が整ったことが Datadog に通知されます。テストや Datadog 内部の仕組み、その他の点について不明点がある場合は、Datadog Ecosystems チームがサポートしますのでご安心ください。プルリクエストを通じて効率的に懸念点を振り返ることができます。
インテグレーションは、機能性、フレームワークへの準拠、一般的なコード品質が検証されると、integrations-extras
にマージされ、Datadog エコシステムの一部となります。
サポートされていないデータを Datadog に送信する方法を決定する際の主な考慮事項は、労力 (開発にかかる時間) と予算 (カスタムメトリクスのコスト) です。Datadog がサポートしていないデータを表示しようとしている場合は、まずはデータの送信を開始するのに最も適切な方法を決定してください。
タイプ | 工数 | カスタムメトリクス | 言語 |
---|
DogStatsD | 最小 | はい | 任意 |
カスタムチェック | 小 | はい | Python |
プライベートインテグレーション | 中 | はい | Python |
パブリックインテグレーション | 大 | いいえ | Python |
インテグレーション作成のメリット
不定期にレポートを作成したい場合、またデータソースが特殊または非常に限られているなどの場合はカスタムチェックが有用です。アプリケーションのフレームワーク、オープンソースプロジェクト、一般的に使用されるソフトウェアなど、これよりも汎用的なユースケースに関してはインテグレーションを作成することをお勧めします。
許容されたインテグレーションから報告されるメトリクスは、カスタムメトリクスとしてはカウントされません、そのため、これがカスタムメトリクスの割り当てに影響することはありません。(ほぼ無制限にメトリクスを生成するインテグレーションは「カスタム」とみなされる場合があります。) Datadog によるネイティブサポートを実施することで、適応時の問題を緩和し、自社製品、サービス、プロジェクトのユーザー利用を促進することができます。また、Datadog エコシステムの一員として取り上げられることで認知度の飛躍的な向上も期待できます。
カスタムチェックとサービスチェックの違いは何ですか?
カスタムチェックは、カスタム Agent チェックとも呼ばれるもので、これを使うと内部サービスデータを Datadog に送信することができます。サービスチェックはこれよりもはるかにシンプルなもので、これを使うと特定のサービスのアップまたはダウンステータスを監視することができます。これらは両方ともチェックですが、機能が異なり、監視のニーズに基づいて個別に、または一緒に使用できます。それぞれの詳細については、カスタムチェックおよびサービスチェックのドキュメントセクションを参照してください。
インテグレーションタイプ別のメトリクス送信
Datadog に独自のメトリクスを送信する方法を説明します。
データタイプ別のデータ送信
Datadog に送信できるデータのタイプとその送信方法について説明します。
開発者コミュニティとの連携
Datadog 開発者コミュニティへの参加方法を説明します。
その他の参考資料