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

インテグレーション入門

ここでは、インテグレーションの使用方法について説明します。新しいインテグレーションの構築方法については、新しいインテグレーションの作成ページをご参照ください。

インテグレーションとは、最上位レベルにおいては、通常個別に検討される要素から統合されたシステムを構築することをいいます。Datadog では、インテグレーションを利用することで、インフラストラクチャーからすべてのメトリクスとログを収集して、統合システムを全体として把握することができます。1 つひとつの要素はもちろん、個々の要素が全体にどのように影響を与えているかも確認できます。

メモ: プロジェクトに関するメトリクスの収集は、開発プロセスのできるだけ早い段階で開始するのが理想的ですが、どの段階からでも開始できます。

Datadog では、主に次の 3 種類のインテグレーションが提供されています。

  • エージェントベースのインテグレーションは、Datadog Agent と共にインストールされ、check という Python クラスメソッドを使用して、収集するメトリクスを定義します。
  • 認証 (クローラー) ベースのインテグレーションは、Datadog で設定されます。その際、API を使用してメトリクスを取得するための資格情報を指定します。これには、SlackAWSAzurePagerDuty などのよく使用されるインテグレーションがあります。
  • ライブラリインテグレーションでは、Datadog API を使用して、記述言語 (Node.jsPython など) に基づいてアプリケーションを監視できます。

メトリクスを定義し、独自の社内システムから Datadog にメトリクスを送信するカスタムチェックを作成することもできます。

インテグレーションの設定

Datadog Agent パッケージには、Datadog が公式にサポートしているインテグレーションコアが含まれています。これらのインテグレーションを使用するには、Datadog Agent をダウンロードします。コミュニティベースのインテグレーションは、インテグレーションエクストラにあります。これを使用するには、開発ツールキットをダウンロードする必要があります。これらのインテグレーションのインストールおよび管理についての詳細は、インテグレーション管理ガイドをご参照ください。

API キーとアプリケーションキー

Datadog Agent をインストールするには、API キーが必要です。Agent が既にダウンロードされている場合は、datadog.yaml ファイルで API キーを設定してください。メトリクスとイベントの送信を除くと、Datadog の機能の大半は、使用するためにアプリケーションキーが必要です。お客様のアカウントの API キーとアプリケーションキーは、API 設定ページで管理できます。

インストール

クローラーまたはライブラリベースのインテグレーションに接続する場合は、インテグレーションのページから該当するプロバイダーのページに移動し、具体的な接続方法を参照してください。その他のサポートされているインテグレーションの場合は、Datadog Agent をインストールします。ほとんどのインテグレーションがコンテナ化 Agent (Docker および Kubernetes) でサポートされています。Agent をダウンロードしたら、インテグレーションのページに移動し、個々のインテグレーションの具体的な構成方法をご確認ください。

Agent インテグレーションの構成

ほとんどの構成パラメーターは、インテグレーションごとに異なります。Agent の構成ディレクトリのルートにある conf.d フォルダーに移動し、Agent インテグレーションを構成します。インテグレーションごとに <INTEGRATION_NAME>.d という名前のフォルダーがあり、そこには、conf.yaml.example ファイルが含まれています。このサンプルファイルには、特定のインテグレーションで使用できるすべての構成オプションが一覧表示されています。

特定のインテグレーションを有効にするには

  1. conf.yaml.example ファイル (該当する <INTEGRATION_NAME>.d フォルダー内にある) の名前を conf.yaml に変更します。
  2. 新しく作成された構成ファイル内の必須パラメーターを環境に応じた値で更新します。
  3. Datadog Agent を再起動します。

メモ: すべての構成ファイルは、パラメーターの説明に記載されている形式に従います。

以下に、apache インテグレーションからメトリクスとログを収集するために必要な最小の conf.yaml 構成ファイルの例を示します。

init_config:
  service: apache

instances:
    - apache_status_url: http://localhost/server-status?auto

logs:
    - type: file
      path: /var/log/apache2/access.log
      source: apache
      sourcecategory: http_web_access
    - type: file
      path: /var/log/apache2/error.log
      source: apache
      sourcecategory: http_web_access

2 つの Apache サービスを監視するために、同じ Agent チェック内に複数のインスタンスを作成する場合は、instances セクションで - を使用して新しいインスタンスを作成します。

init_config:

instances:
    - apache_stats_url: "http://localhost/server-status?auto"
      service: local-apache

    - apache_status_url: "http://<REMOTE_APACHE_ENDPOINT>/server-status?auto"
      service: remote-apache

収集間隔

Datadog の標準インテグレーションのデフォルトの収集間隔は 15 秒です。収集間隔を変更するには、パラメーター min_collection_interval を使用します。詳細は、開発者用ドキュメントを参照してください。

タグ付け

タグ付けは、多くのソースで Datadog に入ってくるデータをフィルタリングおよび集計する上で重要な部分となります。タグ付けの詳細については、タグの概要を参照してください。

datadog.yaml ファイルでタグを定義すると、タグはすべてのインテグレーションデータに適用されます。datadog.yaml でタグを定義すると、すべての新しいインテグレーションがそれを継承します。

たとえば、コンフィギュレーションファイルで service を設定することは、個別の独立したシステムを監視するために推奨される Agent 設定となります。

環境をよりよく統合するために、Agent で env タグを構成することもお勧めします。統合サービスタグ付けの詳細については、専用の統合サービスタグ付けのドキュメントを参照してください。

検証

Agent とインテグレーションのコンフィギュレーションを検証するには、Agent の status サブコマンドを実行し、Checks セクションで新しいコンフィギュレーションを見つけます。

複数インテグレーションのインストール

複数のインテグレーションをインストールする場合は、対応する <INTEGRATIONS>.d フォルダーで新しい conf.yaml ファイルに構成情報を追加する必要があります。conf.yaml.example ファイルで新しいインテグレーションの必須パラメーターを調べ、それを新しい conf.yaml ファイルに追加した後、上記の手順に従って構成を確認してください。

自動検出インテグレーション

プロセス収集を設定すると、Datadog はホストで実行されているテクノロジーを自動検出します。これにより、こうしたテクノロジーの監視に役立つ Datadog インテグレーションが識別されます。この自動検出されたインテグレーションは、インテグレーション検索に表示されます。

各インテグレーションには、次の 2 つのステータスタイプのいずれかがあります。

  • + Detected: このインテグレーションは、それを実行しているホストでは有効になっていません。
  • ✓ Partial Visibility: このインテグレーションは、一部で有効になっていますが、すべての関連ホストで実行されているわけではありません。

インテグレーションを実行しているが、インテグレーションが有効になっていないホストは、インテグレーションタイルの Hosts タブにあります。

セキュリティ対策

Datadog がユーザーデータを取り扱う方法など、セキュリティ上の注意事項については、セキュリティガイドを参照してください。

次のステップ

これでインテグレーションの設定は完了です。アプリケーションによって Datadog に送信されるすべてのメトリクスの調査を開始できます。また、そのメトリクスを使用してダッシュボードアラートをセットアップし、データを監視できます。

ログ管理APMSynthetic の監視 の各ソリューションも参照してください。

トラブルシューティング

インテグレーションのトラブルシューティングでは、最初に、コードエディターでプラグインを使用するか、さまざまなオンラインツールのいずれかを使用して、YAML が有効であることを確認します。次に、Agent のトラブルシューティングの手順をすべて実行します。

引き続き問題が発生する場合は、Datadog のサポートチームまでお問い合わせください。

重要な用語

用語説明
conf.yamlconf.yaml を作成する場所は、Agent のコンフィギュレーションディレクトリのルートにある conf.d/<インテグレーション名>.d フォルダーです。このファイルを使用して、インテグレーションの設定を行うほか、インテグレーションからシステムへの接続を行います。
カスタムチェック固有のシステムを監視する必要がある場合、またはインテグレーションから既に送信されたメトリクスを拡張したい場合は、メトリクスを定義して Datadog に送信するカスタムチェックを作成できます。ただし、一般に利用可能なアプリケーション、公開サービス、オープンソースプロジェクトなどを監視したい場合でも、そのためのインテグレーションがまだ用意されていなければ、カスタムチェックではなく、新しいインテグレーションの構築をご検討ください。
datadog.yamlメインの構成ファイルです。このファイルで、Agent 全体が自身のインテグレーションやユーザーのシステムとやり取りする方法を定義します。このファイルを使用して、API キー、プロキシ、ホストタグなどのグローバル設定を更新します。
イベントイベントは、システムに関する情報メッセージです。これをイベントストリームで使用して、イベントに対するモニターを作成できます。
インスタンス監視対象が何であれ、そのインスタンスを conf.yaml ファイルで定義し、マップします。たとえば、http_check インテグレーションの場合は、アップタイムやダウンタイムを監視する HTTP エンドポイントのインスタンスに関連付けられた名前を定義します。同じインテグレーションで複数のインスタンスを監視できます。それには、conf.yaml ファイルでそれぞれのインスタンスを定義します。
integration_name.d構成が複雑な場合は、それを複数の YAML ファイルに分割した後、それらのファイルをすべて <INTEGRATION_NAME>.d フォルダーに格納して構成を定義することができます。Agent は、<INTEGRATION_NAME>.d フォルダー内の有効な YAML ファイルをすべて読み込みます。
ログ監視対象のシステムにログがある場合は、Datadog に送信するログをカスタマイズしたり、Datadog のログ管理ソリューションを使用してログを管理および分析することができます。
metadata.csv各インテグレーションによって収集されたメトリクスをリスト化して格納するファイルです。
メトリクス各インテグレーションによってシステムから収集されるデータのリストです。各インテグレーションのメトリクスは、そのインテグレーションの metadata.csv ファイルにあります。メトリクスの詳細については、「開発ツール」のメトリクスのページを参照してください。カスタムメトリクスを設定することもできます。インテグレーションでそのまま使用できるメトリクスが提供されていない場合は、通常、カスタムメトリクスを追加します。
パラメーターconf.yaml ファイルのパラメーターを使用することで、インテグレーションデータソースと Agent の間のアクセスを制御できます。各インテグレーションの conf.yaml.example ファイルには、必須パラメーターと任意パラメーターのすべてがリストされています。
サービスチェックサービスチェックは、サービスの稼働時間の状況を追跡するために使用される一種のモニターです。詳細については、サービスチェックガイドをご参照ください。
タグ付けタグを使用すると、メトリクスをカスタマイズし、ご自身に最適な形で絞り込んで表示できます。

その他の参考資料