- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
このガイドでは、Agent の紹介と、Agent を使用して Datadog プラットフォームにシステムレベルのメトリクスを送信する方法について説明します。また、Ubuntu 上での 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 が送信するように構成されているデータによって異なります。初期状態では、平均して約 0.08% の CPU 使用率と、約 830MB から 880MB のディスクスペースが見込まれます。
これらのベンチマークについて詳しくは、Agent Overhead を参照してください。
以下の Agent メトリクスは、Agent が Datadog に送信する自分自身に関する情報であり、どのホストやコンテナで Agent が動作しているか、Agent がいつ起動するか、どのバージョンの Python が動作しているかなどを判断することができます。
メトリクス | 説明 |
---|---|
datadog.agent.python.version | Agent が Datadog に報告中の場合は、値 1 が表示されます。メトリクスには python_version がタグ付けされています。 |
datadog.agent.running | Agent が Datadog に報告中の場合は、値 1 が表示されます。 |
datadog.agent.started | Agent 起動時に値 1 で送信されるカウント (v6.12 以上で使用可能)。 |
Agent メトリクスの全リストは、Agent メトリクスのインテグレーションをご覧ください。
一部のプラットフォームの Agent では、メトリクスを収集するいくつかのコアチェックがデフォルトで有効になっています。
チェック | メトリクス | プラットフォーム |
---|---|---|
CPU | System | すべて |
ディスク | Disk | すべて |
IO | System | すべて |
メモリ | System | すべて |
ネットワーク | Network | すべて |
NTP | NTP | すべて |
アップタイム | System | All |
ファイル処理 | System | Mac 以外のすべて |
ロード | System | Windows 以外のすべて |
Docker | Docker | Docker |
Winproc | System | Windows |
他のテクノロジーからメトリクスを収集する方法については、インテグレーションのページを参照してください。
このガイドでは、ホストへの Agent のインストールと構成を説明します。最終的にコンテナ環境に Agent をインストールする予定がある場合、いくつか知っておくべき相違点があります。
ホストでは、Agent は YAML ファイルを使用して構成されます (このガイドの後半で説明します)。一方、コンテナの Agent の構成オプションは、環境変数で渡されます。たとえば、以下のようになります。
DD_API_KEY
は Datadog API キー用DD_SITE
は Datadog サイト用同様に、ホスト上では、インテグレーションは Agent 構成ファイルを通して特定されますが、コンテナ環境では、Datadog のオートディスカバリー機能によりインテグレーションが自動的に特定されます。詳しくは、基本的な Agent のオートディスカバリーを参照してください。
コンテナ環境で Agent を実行するためのチュートリアルは、Docker Agent または Kubernetes を参照してください。
Agent ベースのインテグレーションからデータを送信するには、Agent をインストールする必要があります。Agent は必ずしも Datadog プラットフォームにデータを転送することを求められておらず、例えば、ログやメトリクスの送信は Datadog API を通じて行うことができます。しかし、Agent は Datadog プラットフォームにデータを転送する方法として推奨されています。
Agent は 15 秒ごとにホストデータを収集し、環境全体で何が起こっているかを正確に把握することができます。チェックのセクションで述べたように、Agent は 50 以上のデフォルトメトリクスを収集するいくつかのチェックを有効にし、システムレベルのデータについてより深い洞察を提供します。
Datadog アカウントを作成します。
Datadog API キーを手元に用意します。
Datadog の UI を開いておきます。
注: このチュートリアルでは、Ubuntu オペレーティングシステムを使用しています。サポートされているプラットフォームの全リストは、基本的な Agent の利用方法ページを参照してください。
Datadog UI で、Integrations > Agent に移動し、Ubuntu を選択して、Ubuntu 用の Agent インストールページに移動します。Datadog Agent をホストにインストールするには、そのページにある 1 行のインストールコマンド (以下に示す例) を使用し、Datadog API キーで更新します。
Ubuntu の 1 行インストールコマンドの例:
DD_API_KEY=<DATADOG_API_KEY> DD_SITE="" bash -c "$(curl -L https://s3.amazonaws.com/dd-agent/scripts/install_script_agent7.sh)"
最新のインストール方法については、お使いの OS のアプリ内 Agent インストールページをご覧ください。
インストールを検証するには、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.up
:
Agent が Datadog に接続した場合、OK
を返します。
datadog.agent.check_status
:
Agent チェックが Datadog にメトリクスを送信できない場合は、CRITICAL
を返します。それ以外の場合は、OK
を返します。
これらのチェックは、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 の主なコンフィギュレーションファイルは datadog.yaml
です。必要なパラメーターは以下の通りです。
)使用可能なすべての構成オプションの詳細については、サンプル config_template.yaml
ファイルを参照してください。
Agent のコンフィギュレーションファイルを調整することで、タグを含む他の Datadog の機能を利用することができます。
タグは、メトリクスとイベントにメタデータの追加レイヤーを追加します。これにより、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 のトラブルシューティングに関するヘルプ
お役に立つドキュメント、リンクや記事:
Agent のインストール後: