このガイドでは、Agent の紹介と、Agent を使用して Datadog プラットフォームにシステムレベルのメトリクスを送信する方法について説明します。また、Ubuntu 上での Agent のインストール例についても説明します。以下の内容をカバーしています。
- Agent のインストール
- Agent が起動していることを確認する
- Agent の機能を構成する
- トラブルシューティングリソース
概要
Agent について
Datadog Agent は、ホスト上で実行されるソフトウェアです。ホストからイベントやメトリクスを収集し、Datadog に送信し、モニタリングやパフォーマンスデータを分析することができます。ローカルホスト (Windows、MacOS)、コンテナ環境 (Docker、Kubernetes)、オンプレミスデータセンターで実行することが可能です。構成管理ツール (Chef、Puppet、Ansible) を使って、インストールと構成が可能です。
Agent は、15~20 秒ごとに 75~100 のシステムレベルメトリクスを収集することができます。また、追加の構成により、Agent は実行中のプロセスからライブプロセスデータ、ログ、トレースを Datadog プラットフォームに送信することができます。Datadog Agent はオープンソースで、ソースコードは GitHub の DataDog/datadog-agent で公開されています。
Agent のオーバーヘッド
Agent が占有するスペースとリソースの量は、構成と Agent が送信するように構成されているデータによって異なります。初期状態では、平均して約 0.08% の CPU 使用率と、約 880MB から 1.3GB のディスクスペースが見込まれます。
これらのベンチマークについて詳しくは、Agent Overhead を参照してください。
データ収集
Agent メトリクス
以下の Agent メトリクスは、Agent が Datadog に送信する自分自身に関する情報であり、どのホストやコンテナで Agent が動作しているか、Agent がいつ起動するか、どのバージョンの Python が動作しているかなどを判断することができます。
メトリクス | 説明 |
---|
datadog.agent.python.version | メトリクスには python_version というタグが付いています。 |
datadog.agent.running | Agent が Datadog に報告中の場合は、値 1 が表示されます。 |
datadog.agent.started | Agent 起動時に値 1 で送信されるカウント (v6.12 以上で使用可能)。 |
Agent メトリクスの全リストは、Agent メトリクスのインテグレーションをご覧ください。
チェック
一部のプラットフォームの Agent では、メトリクスを収集するいくつかのコアチェックがデフォルトで有効になっています。
他のテクノロジーからメトリクスを収集する方法については、インテグレーションのページを参照してください。
ホスト用 Agent とコンテナ用 Agent の相違点
このガイドでは、ホストへの Agent のインストールと構成を説明します。最終的にコンテナ環境に Agent をインストールする予定がある場合、いくつか知っておくべき相違点があります。
ホストでは、Agent は YAML ファイルを使用して構成されます (このガイドの後半で説明します)。一方、コンテナの Agent の構成オプションは、環境変数で渡されます。たとえば、以下のようになります。
DD_API_KEY
は Datadog API キー用DD_SITE
は Datadog サイト用
同様に、ホスト上では、インテグレーションは Agent 構成ファイルを通して特定されますが、コンテナ環境では、Datadog のオートディスカバリー機能によりインテグレーションが自動的に特定されます。詳しくは、基本的な Agent のオートディスカバリーを参照してください。
コンテナ環境で Agent を実行するためのチュートリアルは、Docker Agent または Kubernetes を参照してください。
なぜ Agent をインストールする必要があるのですか?
Agent ベースのインテグレーションからデータを送信するには、Agent をインストールする必要があります。Agent は必ずしも Datadog プラットフォームにデータを転送することを求められておらず、例えば、ログやメトリクスの送信は Datadog API を通じて行うことができます。しかし、Agent は Datadog プラットフォームにデータを転送する方法として推奨されています。
Agent は 15 秒ごとにホストデータを収集し、環境全体で何が起こっているかを正確に把握することができます。チェックのセクションで述べたように、Agent は 50 以上のデフォルトメトリクスを収集するいくつかのチェックを有効にし、システムレベルのデータについてより深い洞察を提供します。
セットアップ
前提条件
Datadog アカウントを作成します。
Datadog API キーを手元に用意します。
Datadog の UI を開いておきます。
注: このチュートリアルでは、Ubuntu オペレーティングシステムを使用しています。サポートされているプラットフォームの全リストは、基本的な Agent の利用方法ページを参照してください。
インストール
Datadog UI で Agent Installation ページに移動し、Ubuntu をクリックします。ホストに Datadog Agent をインストールするには、そのページから 1 行のインストールコマンド (下図の例) を使用し、Datadog API キーで更新します。
Ubuntu の 1 行インストールコマンドの例:
DD_API_KEY=<DATADOG_API_KEY> DD_SITE="" bash -c "$(curl -L https://install.datadoghq.com/scripts/install_script_agent7.sh)"
Agent Installation ページを使用して、お使いのオペレーティングシステムの最新のインストール手順を参照してください。
検証
ターミナルコマンド
インストールを検証するには、Agent のステータスコマンドを実行します。
sudo datadog-agent status
インストールに成功すると、次のような Agent 情報で始まる Agent Status レポートが返されます。
===============
Agent (v7.36.1)
===============
Status date: 2022-06-15 15:54:48.364 EDT / 2022-06-15 19:54:48.364 UTC (1655322888364)
Agent start: 2022-06-15 15:54:29.85 EDT / 2022-06-15 19:54:29.85 UTC (1655322869850)
Pid: 9801
Go Version: go1.17.6
Python Version: 3.8.11
Build arch: amd64
Agent flavor: agent
Check Runners: 6
Log Level: info
イベント
Datadog UI で Events Explorer ページに移動します。Agent が起動または再起動されると、Agent は Datadog にイベントを送信します。Agent が正常にインストールされると、以下のメッセージが表示されます。
Datadog agent (v. 7.XX.X) started on <Hostname>
サービスチェック
Agent は、以下のサービスチェックを行うように設定されています。
これらのチェックは、Datadog プラットフォームで使用することで、モニターやダッシュボードを通じて Agent のステータスを一目で視覚化することができます。詳しくは、サービスチェックの概要を参照してください。
メトリクス
Datadog UI で、Metrics Summary ページに移動し、メトリクス datadog.agent.started
または メトリクス datadog.agent.running
を検索してください。これらのメトリクスがすぐに表示されない場合、Agent が Datadog プラットフォームにデータを送信するのに数分かかることがあります。
いずれかのメトリクスをクリックすると、Metric パネルが開きます。このパネルには、これらのメトリクスがどこから収集されたか、および関連するタグに関する追加のメタデータが表示されます。このチュートリアルでは今のところ、このホストにはタグが構成されていないため、version
や host
など、Datadog がメトリクスに割り当てるデフォルトのタグだけが表示されるはずです。タグを追加する方法については、次の Agent コンフィギュレーションファイルのセクションを参照してください。
ntp.offset
や system.cpu.idle
など、他のデフォルトメトリクスも調べてみてください。
Agent 構成ファイル
Agent の主なコンフィギュレーションファイルは datadog.yaml
です。必要なパラメーターは以下の通りです。
使用可能なすべての構成オプションの詳細については、サンプル config_template.yaml
ファイルを参照してください。
Agent のコンフィギュレーションファイルを調整することで、タグを含む他の Datadog の機能を利用することができます。
Agent のコンフィギュレーションファイルによるタグの設定
タグは、メトリクスとイベントにメタデータの追加レイヤーを追加します。これにより、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>
tags パラメーターと、例として提供されている 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
Agent の restart コマンドを実行して、Agent を再起動します。Ubuntu の restart コマンド:
sudo service datadog-agent restart
数分後、再び Metrics Summary ページに移動し、メトリクス datadog.agent.started
をクリックします。デフォルトの host
と version
タグに加えて、team
タグや追加した個人用タグも表示されます。また、ページ上部にある Tag
フィールドでメトリクスをフィルターすることもできます。
Events Explorer ページで、最新の Agent イベントとともに表示されるカスタムタグを見つけます。
その他の構成オプション
ログ、トレース、プロセスのデータ収集は、Agent コンフィギュレーションファイルから有効にすることができます。これらは、デフォルトで有効になっている機能ではありません。例えば、コンフィギュレーションファイルで、logs_enabled
パラメーターは false に設定されています。
##################################
## Log collection Configuration ##
##################################
## @param logs_enabled - ブール値 - オプション - デフォルト: false
## @env DD_LOGS_ENABLED - ブール値 - オプション - デフォルト: false
## logs_enabled を true に設定し、Datadog Agent のログ収集を有効にします。
#
# logs_enabled: false
Agent コンフィギュレーションファイルを通じて構成可能なその他の Datadog 機能は以下の通りです。
セットアップ中、ドキュメントが datadog.yaml
ファイルまたは Agent コンフィギュレーションファイルに言及している場合、このファイルを構成する必要があります。
コマンド
Agent を起動、停止 または 再起動する方法については、Agent のコマンドを参照してください。
トラブルシューティング
Agent のトラブルシューティングに関するヘルプ
その他の参考資料
次のステップ