概要
このガイドでは、Datadog Agent を紹介し、以下の内容をカバーします:
Datadog Agent とは?
Datadog Agent はホスト上で動作するソフトウェアです。ホストからイベントとメトリクスを収集し、それらを Datadog に送信します。そこで、モニタリングとパフォーマンスデータを分析できます。
Agent は以下の環境で実行できます:
- ローカルホスト (Windows、Linux、macOS)
- コンテナ化された環境 (Docker、Kubernetes)
- オンプレミスのデータセンター
Chef、Puppet、または Ansible などの構成管理ツールを使用して、Agent をインストールおよび構成することもできます。
Agent は、15~20 秒ごとに 75~100 のシステムレベルのメトリクスを収集できます。追加の構成を行うことで、実行中のプロセスから Datadog にライブデータ、ログ、およびトレースを送信できます。Datadog Agent はオープンソースであり、そのソースコードは GitHub の DataDog/datadog-agent で入手できます。
Agent 構成ファイル
Agent のメイン設定ファイルは datadog.yaml です。必要なパラメータは次のとおりです。
使用可能なすべての構成オプションの詳細については、サンプル config_template.yaml ファイル を参照してください。Agent の設定ファイルを調整することで、他の Datadog 機能を活用できます。
インストール
前提条件
Datadog アカウント を作成します。
Datadog API キー を手元に用意します。
セットアップ
Fleet Automation を使用して、Datadog のアプリ内ワークフローを利用し、単一のホストまたは大規模環境で Datadog Agent をインストール、アップグレード、構成、トラブルシューティングします。
特定のプラットフォームに対する追加のAgent構成については、Agent ドキュメント を参照してください。
Agent によって収集されたデータ
インフラストラクチャーの完全な可視性を提供するために、Datadog Agent は自身の健康状態と構成に関するメトリクス、ならびにデフォルトのチェックを通じてホストやサービスから収集されたメトリクスを報告します。
Agent メトリクス
Agent は自身に関する以下のメトリクスを Datadog に報告します。これらのメトリクスは、どのホストまたはコンテナに Agent が稼働しているか、各 Agent がいつ開始されたか、Agent が使用している Python のバージョンに関する情報を提供します。
| メトリクス | 説明 |
|---|
datadog.agent.running | Agent が実行中であり Datadog に報告している場合、値 1。Agent のバージョンのタグ付き。 |
datadog.agent.started | Agent の起動ごとに 1 をカウント。 |
datadog.agent.python.version | 値 1、Python のバージョンのタグ付き。 |
Agent メトリクスの全リストは、Agent メトリクスのインテグレーションをご覧ください。
チェック
一部のプラットフォームの Agent では、メトリクスを収集するいくつかのコアチェックがデフォルトで有効になっています。
他のテクノロジーからメトリクスを収集する方法については、Integrationsのページを参照してください。
サービスチェック
Agent は、以下のサービスチェックを行うように設定されています。
datadog.agent.up: Agent が Datadog に接続すると OK を返します。datadog.agent.check_status: Agent チェックが Datadog にメトリクスを送信できない場合は CRITICAL を返し、それ以外は OK を返します。
これらのチェックは、Datadog でモニターやダッシュボードを通じて Agent の状態を一目で視覚化するために使用できます。詳細については、サービスチェックの概要 を参照してください。
高度な構成と機能
ホストに Agent をインストールすることと、コンテナ環境にインストールすることには重要な違いがあります:
設定の違い:
- ホスト: gent は YAML ファイルを使用して設定されます。
- コンテナ: 設定オプションは 環境変数 を使用して渡されます。たとえば:
`DD_API_KEY` # Datadog API key
`DD_SITE` # Datadog site
統合の検出:
- ホスト: 統合 は Agent の設定ファイルを通じて特定されます。
- コンテナ: Integrations は Datadog の Autodiscovery 機能を使用して自動的に特定されます。基本的な Agent Autodiscovery を参照して、詳細を学んでください。
さらに、コンテナ環境で Agent を実行するためのチュートリアルについては、Docker Agent または Kubernetes を参照してください。
タグは、メトリクスやイベントに追加のメタデータ層を追加します。これにより、Datadog のビジュアライゼーションでデータのスコープを設定し、比較することができます。複数のホストから Datadog にデータが送信されるとき、この情報にタグを付けることで、視覚化に最も興味のあるデータに絞り込むことができます。
たとえば、異なるチームから収集したデータを持っていて、チーム・アルファのメトリクスだけを見たい場合、特定のホストに team:alpha または team:bravo タグを付けると、team:alpha タグが付いているメトリクスにフィルターがかかるようになります。タグ付けの詳細については、タグの使用を開始するを参照してください。
Agent の メイン設定ファイル を見つけてください。Ubuntu の場合、ファイルの場所は /etc/datadog-agent/datadog.yaml です。
datadog.yaml ファイルの中で、tags パラメータを見つけてください。ホストレベルのタグは、datadog.yaml の設定で行うことにより、このホストから転送されるすべてのメトリクス、トレース、およびログに適用できます。
## @param tags - list of key:value elements - optional
## @env DD_TAGS - space separated list of strings - optional
## List of host tags. Attached in-app to every metric, event, log, trace, and service check emitted by this Agent.
##
## This configuration value merges with `DD_EXTRA_TAGS`, allowing some
## tags to be set in a configuration file (`tags`), and additional tags to be added
## with an environment variable (`DD_EXTRA_TAGS`).
##
## Learn more about tagging: https://docs.datadoghq.com/tagging/
#
# tags:
# - team:infra
# - <TAG_KEY>:<TAG_VALUE>
タグパラメータと提供された例の team:infra タグのコメントアウトの解除を行います。独自のカスタムタグを追加することもできます。たとえば、test:agent_walkthroughのように。
## @param tags - list of key:value elements - optional
## @env DD_TAGS - space separated list of strings - optional
## List of host tags. Attached in-app to every metric, event, log, trace, and service check emitted by this Agent.
##
## This configuration value merges with `DD_EXTRA_TAGS`, allowing some
## tags to be set in a configuration file (`tags`), and additional tags to be added
## with an environment variable (`DD_EXTRA_TAGS`).
##
## Learn more about tagging: https://docs.datadoghq.com/tagging/
#
tags:
- team:infra
- test:agent_walkthrough
エージェントの 再起動コマンド を実行して、エージェントを再起動します。Ubuntuの再起動コマンド:
sudo service datadog-agent restart
数分後、再度Metrics Summaryページに移動し、メトリック datadog.agent.started をクリックします。デフォルトのhostおよびversionタグに加えて、teamタグや追加した個人タグも表示されます。ページの上部にあるTagフィールドでメトリクスをフィルタリングすることもできます。
Events Explorer ページで、最新の Agent イベントとともに表示されるカスタムタグを見つけます。
Datadog UIでデフォルトのメトリクスを確認することで、エージェントが正しく動作しているかを確認できます。Metrics Summaryページに移動し、メトリックdatadog.agent.startedまたはメトリックdatadog.agent.runningを検索します。これらのメトリクスがすぐに表示されない場合、エージェントがデータをDatadogに送信するのに数分かかることがあります。
いずれかのメトリクスをクリックすると、メトリクスパネルが開きます。このパネルには、これらのメトリクスが収集される場所に関する追加のメタデータや関連するタグが表示されます。ホストにタグが設定されていない場合、Datadogがメトリクスに割り当てるデフォルトのタグのみが表示されるはずです。これにはversionおよびhostが含まれます。タグを追加する方法については、エージェントの設定ファイルを通じてタグを設定するセクションを参照してください。
ntp.offset や system.cpu.idle など、他のデフォルトメトリクスを探索してください。
エージェントが占有するスペースとリソースの量は、設定やエージェントが送信するデータによって異なります。最初は、平均して約0.08%のCPUが使用され、ディスクスペースは約880MBから1.3GBになります。
これらのベンチマークについて詳しくは、Agent Overhead を参照してください。
ログ、トレース、およびプロセスデータの収集は、エージェントの設定ファイルを通じて有効にできます。これらの機能はデフォルトでは有効になっていません。たとえば、設定ファイルでは、logs_enabledパラメータがfalseに設定されています。
##################################
## Log collection Configuration ##
##################################
## @param logs_enabled - boolean - optional - default: false
## @env DD_LOGS_ENABLED - boolean - optional - default: false
## Enable Datadog Agent log collection by setting logs_enabled to true.
#
# logs_enabled: false
Agent コンフィギュレーションファイルを通じて構成可能なその他の Datadog 機能は以下の通りです。
セットアップ中、ドキュメントが datadog.yaml ファイルまたはエージェントの設定ファイルに言及している場合、このファイルを構成する必要があります。
コマンド
Agent を起動、停止 または 再起動する方法については、Agent のコマンドを参照してください。
トラブルシューティング
Agent のトラブルシューティングに関するヘルプ
参考資料
次のステップ