基本的な Agent の利用方法

Agentをインストールして開始するために、プラットフォームを選択してください。

integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration
integration

Agent アーキテクチャ

Agent v6 と v7は、インフラストラクチャーメトリクスとログの収集、そして DogStatsD メトリクスの受信を担当する 1 つのメインプロセスで構成されています。このプロセスの主なコンポーネントは次のとおりです。

  • コレクター: チェックの実行とメトリクスの収集を行います。
  • フォーワーダー: Datadog にペイロードを送信します。

datadog.yaml 構成ファイルで有効にすると、次の 2 つのオプションのプロセスが Agent によって生成されます。

  • APM Agent: トレースを収集するプロセスです (デフォルトで有効になっています)。
  • Process Agent: ライブプロセス情報を収集するプロセスです。デフォルトでは使用できるコンテナのみを収集し、その他に対しては無効になります。

Windows では、サービスは次のように一覧表示されます。

サービス説明
DatadogAgent“Datadog Agent”
datadog-trace-agent“Datadog Trace Agent”
datadog-process-agent“Datadog Process Agent”

Agent がデフォルトでバインドするポートは、Linux では 3 個、Windows と OSX では 4 個です。

ポート説明
5000Agent に関するランタイムメトリクスを公開します。
5001Agent の CLI と GUI で使用され、コマンドを送信して実行中の Agent から情報を取得します。
5002Windows と OSX で GUI サービスを提供します。
8125DogStatsD サーバーで使用され、外部メトリクスを受信します。

ポートの構成については、ネットワークトラフィックを参照してください。

コレクター

コレクターは、15 秒ごとにすべての標準のメトリクスを収集します。Agent v6 埋め込みの Python2.7 インタープリターは、インテグレーションとカスタムチェックを実行します。

Forwarder

Agent フォワーダーは、メトリクスを HTTPS 経由で Datadog に送信します。バッファリングを行うと、ネットワークスプリットがメトリクスの報告に影響を与えることを防ぐことができます。メトリクスは、処理待ちの送信リクエストのサイズまたは数が制限に達するまで、メモリにバッファされます。その後、フォワーダーのメモリのフットプリントを管理可能な範囲に保つために、最も古いメトリクスが破棄されます。ログは、SSL 暗号化 TCP 接続経由で Datadog に送信されます。

DogStatsD

v6 の DogStatsD は、Etsy の StatsD メトリクス集計デーモンの Go 言語実装です。UDP または Unix ソケット経由で任意のメトリクスを受信してロールアップするために使用され、構成要素の一部としてカスタムコードを組み込んでもレイテンシーが発生しません。DogStatsD についての詳細はこちらでご確認いただけます。

Agent v5 アーキテクチャ

Agent v5 は、以下に示す主な 4 つのコンポーネントで構成され、それぞれ別のプロセスとして実行される Python で記述されます。

  • コレクター (agent.py): コレクターは、現在のマシンで構成されているインテグレーションのチェックを実行し、メモリや CPU などのシステムメトリクスをキャプチャします。
  • DogStatsD (dogstatsd.py): アプリケーションからカスタムメトリクスを送信できる StatsD 互換可能バックエンドサーバーです。
  • フォワーダー (ddagent.py): フォワーダーは、DogStatsD とコレクターの両方からデータを取得し、クエリを実行し、Datadog に送信します。
  • SupervisorD: 全体が 1 つのスーパーバイザープロセスで制御されます。すべての要素を実行しない場合に各アプリケーションのオーバーヘッドを制限するために、分離されています。ただし、原則としてすべての要素を実行することをお勧めします。

: Windows の場合、4 つの Agent プロセスはいずれも ddagent.exe インスタンスとして、DevOps' best friend という説明とともに表示されます。

監督、特権、ネットワークポート

SupervisorD プライマリプロセスは、dd-agent ユーザーとして実行され、分岐したすべてのサブプロセスは同じユーザーとして実行されます。これは、Datadog Agent によって開始されたシステムコール (iostat/netstat) にも適用されます。Agent 構成は、/etc/dd-agent/datadog.conf/etc/dd-agent/conf.d にあります。すべての構成は、dd-agent によって読み取り可能である必要があります。構成ファイルには API キーとメトリクスにアクセスするために必要な他の証明書が含まれるので、推奨されるアクセス許可は 0600 です。

操作のために次のポートが開かれています。

ポート説明
tcp/17123フォワーダーの通常操作
tcp/17124graphite サポート用のフォワーダー
udp/8125DogStatsD

v3.4.1 以上の Agent では、すべてのリスニングプロセスはデフォルトで 127.0.0.1::1 にバインドされます。以前のバージョンでは、0.0.0.0 (すべてのインターフェイス) にバインドされます。プロキシから Agent を実行する詳細については、Agent のプロキシ構成を参照してください。許可される IP 範囲の詳細については、ネットワークトラフィックを参照してください。

ファイルディスクリプタを開く数は 1024 までにすることをお勧めします。この値は、コマンド ulimit -a で確認できます。Shell Fork Bomb Protection など、ハードウェアの制限でこの推奨値を下回る場合、たとえば supervisord.conf に次の内容を追加することが一解決方法として考えられます。

[supervisord]
minfds = 100 # ハードウェア制限

GUI

GUI が実行されるポートを datadog.yaml ファイルで構成できます。GUI を無効にするには、ポートの値を -1 に設定します。 Windows および macOS では、GUI はデフォルトで有効になり、ポート 5002 で実行されます。Linux では、GUI はデフォルトで無効になります。

Agent の実行中は、datadog-agent launch-gui コマンドを使用して、デフォルトの Web ブラウザーで GUI を開きます。

: Agent GUI は、32 ビット Windows プラットフォームではサポートされません。

要件

  1. cookie をブラウザーで有効にする必要があります。GUI は、GUI サーバーとのすべての通信を認証するために使用されるトークンを生成し、ブラウザーに保存します。

  2. GUI を起動するには、必要なアクセス許可を持っている必要があります。datadog.yaml を開くことができる場合は、GUI を使用できます。

  3. セキュリティ上の理由から、GUI はローカルネットワークインターフェイス (localhost/127.0.0.1) からのみアクセスできます。そのため、Agent を同じホストで実行する必要があります。したがって、Agent を VM やコンテナーで実行してホストマシンからアクセスすることはできません。

サポート対象のプラットフォーム

プラットフォーム (64 ビット x86)サポートされるバージョン
Amazon LinuxAmazon Linux 2
Debian (systemd を使用)Agent < 6.36.0/7.36.0 は Debian 7 (wheezy)+、Agent 6.36.0+/7.36.0+ は Debian 8 (jessie)+
Debian (SysVinit を使用)Agent 6.6.0 - 6.36.0/7.36.0 は Debian 7 (wheezy)+、Agent 6.36.0+/7.36.0+ は Debian 8 (jessie)+
UbuntuUbuntu 14.04 以上
RedHat/CentOS/AlmaLinux/RockyRedHat/CentOS 6+、Agent 6.33.0+/7.33.0+ の AlmaLinux/Rocky 8+
Dockerバージョン 1.12 以上
Kubernetesバージョン 1.3 以上
SUSE Enterprise Linux (systemd を使用)Agent < 6.33.0/7.33.0 の SUSE 11 SP4+、Agent 6.33.0+/7.33.0+ の SUSE 12+
SUSE Enterprise Linux (SysVinit を使用)Agent 6.16.0/7.16.0 - 6.33.0/7.33.0 の SUSE 11 SP4
OpenSUSE (systemd を使用)Agent 6.33.0+/7.33.0+ の OpenSUSE 15+
FedoraFedora 26 以上
macOSmacOS 10.12+ は Agent < 6.35.0/7.35.0、 macOS 10.13+ は Agent < 7.39.0、macOS 10.14+ は Agent 7.39.0+
Windows ServerWindows Server 2012+ (Server Core を含む)
WindowsWindows 8.1+
Azure Stack HCI OSすべてのバージョン
プラットフォーム (64 ビット Arm v8)サポートされるバージョン
Amazon LinuxAmazon Linux 2
Debian (systemd を使用)Debian 9 (stretch)+
UbuntuUbuntu 16.04 以降
RedHat/CentOS/AlmaLinux/RockyRedHat/CentOS 8+、Agent 6.33.0+/7.33.0+ の AlmaLinux/Rocky 8+
Dockerバージョン 1.12 以上
Kubernetesバージョン 1.3 以上
FedoraFedora 27+
macOSmacOS 11.0+

:

  • ソースインストールは、このリストにないオペレーティングシステムでも実行でき、ベストエフォートベースでサポートされている可能性があります。
  • Datadog Agent の 6.46.0 および 7.46.0 以前のバージョンは、最新の Windows Update がインストールされた Windows Server 2008 R2 をサポートします。Windows Server 2008 R2 に影響するクロックドリフトと Go の既知の問題もあります。
プラットフォームサポートされるバージョン
Amazon LinuxAmazon Linux 2
DebianDebian 7 (wheezy) 以上
UbuntuUbuntu 12.04 以上
RedHat/CentOSRedHat/CentOS 5 以上
Dockerバージョン 1.12 以上
Kubernetesバージョン 1.3 ~ 1.8
SUSE Enterprise LinuxSUSE 11 SP4 以上
FedoraFedora 26 以上
macOSmacOS 10.10 以上
Windows ServerWindows Server 2008 以上
WindowsWindows 7 以上

:

  • ソースインストールは、このリストにないオペレーティングシステムでも実行でき、ベストエフォートベースでサポートされている可能性があります。
プラットフォームサポートされるバージョン
AIXAIX 6.1 TL9 SP6, 7.1 TL5 SP3, 7.2 TL3 SP0

CLI

Agent v6 以上のコマンドラインインターフェイスはサブコマンドに基づいています。サブコマンドを実行するには、まず Agent バイナリを呼び出します。

<AGENT_バイナリパス> <サブコマンド> <オプション>
サブコマンド
check指定されたチェックを実行します。
configcheck実行中の Agent のうち、ロード済みで解決済みの構成をすべて出力します。
diagnoseシステムに対して接続診断を実行します。
flareフレアを収集して Datadog に送信します
health現在の Agent の状態を出力します。
help任意のコマンドのヘルプ。
hostnameAgent が使用するホスト名を出力します。
import以前のバージョンの Agent から構成ファイルをインポートして変換します。
launch-guiDatadog Agent GUI を起動します。
restartAgent を再起動します
restart-serviceサービスコントロールマネージャー内で Agent を再起動します。
startAgent を起動します
start-serviceサービスコントロールマネージャー内で Agent を起動します。
status現在の Agent のステータスを出力します
stream-logs実行中の Agent が処理するログをストリーミング表示します。
stopAgentを 停止します
stopserviceサービスコントロールマネージャー内で Agent を停止します。
versionバージョン情報を出力します。

: 一部のオプションにはフラグのセットとオプションがあり、ヘルプメッセージで詳細に説明されています。たとえば、check サブコマンドの使用方法を表示するには、次のように実行します。

<AGENT_バイナリパス> check --help

Agent のオーバーヘッド

以下は、Datadog Agent リソース消費の例です。テストは、AWS EC2 マシンの c5.xlarge インスタンス (4 VCPU/ 8 GB RAM) で行われ、同様のリソースを持つ ARM64 ベースのインスタンスで同等のパフォーマンスが見られました。Agent 自体を監視するために、vanilla datadog-agent がプロセスチェックとともに実行されました。さらにインテグレーションを有効にすると、Agent リソースの消費が増えます。 JMX チェックを有効にすると、監視対象の JVM によって公開される Bean の数に応じて、Agent が使用するメモリの量が増えます。トレースとプロセスを有効にしても、Agents のリソース消費が増えます。

  • Agent テストのバージョン: 7.34.0
  • CPU: 平均で CPU の約 0.08 % を使用
  • メモリ: 約 130 MB の RAM を使用 (RSS メモリ)
  • ネットワーク帯域幅: 約 140 B/秒 ▼ | 800 B/秒 ▲
  • ディスク:
    • Linux: ディストリビューションによって 830 MB ~ 880 MB
    • Windows: 870 MB

ログ収集:

以下は、HTTP フォワーダーが有効になっている状態で毎秒 110KB のログが記録されるファイルから得た結果です。これは、使用可能な圧縮レベルに応じてリソース使用量がどのように増加するかを示しています。

  • Agent テストのバージョン: 6.15.0
  • CPU: 平均で CPU の約 1.5% を使用
  • メモリ: 約 95 MB の RAM 使用。
  • ネットワーク帯域幅: 約 14KB/秒 ▲
  • Agent テストのバージョン: 6.15.0
  • CPU: 平均で CPU の約 1% を使用
  • メモリ: 約 95 MB の RAM 使用。
  • ネットワーク帯域幅: 約 20KB/秒 ▲
  • Agent テストのバージョン: 6.15.0
  • CPU: 平均で CPU の約 0.7 % を使用
  • メモリ: 約 90 MB の RAM を使用 (RSS メモリ)
  • ネットワーク帯域幅: 約 200KB/秒 ▲

Datadog Agent の次のステップ

Agent の更新

特定のホスト上で実行されている Datadog Agent のコアを手動でマイナーバージョンにアップデートするには、プラットフォームの対応するインストールコマンドを実行します。

: 特定の Agent インテグレーションを手動でアップデートするには、インテグレーション管理ガイドを参照してください。

構成ファイル

Agent コンフィギュレーションファイルに関するドキュメントを参照してください。

Datadog サイト

Agent のメインコンフィギュレーションファイルdatadog.yaml を編集して、site パラメーターを設定します (デフォルトは datadoghq.com)。

site: 

: site パラメーターの詳細については、Datadog サイトの概要ドキュメントを参照してください。

ログの場所

Agent ログファイルに関するドキュメントを参照してください。

その他の参考資料