- 重要な情報
- はじめに
- 用語集
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Agent v6 と v7は、インフラストラクチャーメトリクスとログの収集、そして DogStatsD メトリクスの受信を担当する 1 つのメインプロセスで構成されています。このプロセスの主なコンポーネントは次のとおりです。
datadog.yaml
構成ファイルで有効にすると、次の 2 つのオプションのプロセスが Agent によって生成されます。
Windows では、サービスは次のように一覧表示されます。
サービス | 説明 |
---|---|
DatadogAgent | “Datadog Agent” |
datadog-trace-agent | “Datadog Trace Agent” |
datadog-process-agent | “Datadog Process Agent” |
Agent がデフォルトでバインドするポートは、Linux では 3 個、Windows と OSX では 4 個です。
ポート | 説明 |
---|---|
5000 | Agent に関するランタイムメトリクスを公開します。 |
5001 | Agent の CLI と GUI で使用され、コマンドを送信して実行中の Agent から情報を取得します。 |
5002 | Windows と OSX で GUI サービスを提供します。 |
8125 | DogStatsD サーバーで使用され、外部メトリクスを受信します。 |
ポートの構成については、ネットワークトラフィックを参照してください。
コレクターは、15 秒ごとにすべての標準のメトリクスを収集します。Agent v6 埋め込みの Python2.7 インタープリターは、インテグレーションとカスタムチェックを実行します。
Agent フォワーダーは、メトリクスを HTTPS 経由で Datadog に送信します。バッファリングを行うと、ネットワークスプリットがメトリクスの報告に影響を与えることを防ぐことができます。メトリクスは、処理待ちの送信リクエストのサイズまたは数が制限に達するまで、メモリにバッファされます。その後、フォワーダーのメモリのフットプリントを管理可能な範囲に保つために、最も古いメトリクスが破棄されます。ログは、SSL 暗号化 TCP 接続経由で Datadog に送信されます。
v6 の DogStatsD は、Etsy の StatsD メトリクス集計デーモンの Go 言語実装です。UDP または Unix ソケット経由で任意のメトリクスを受信してロールアップするために使用され、構成要素の一部としてカスタムコードを組み込んでもレイテンシーが発生しません。DogStatsD についての詳細はこちらでご確認いただけます。
Agent v5 は、以下に示す主な 4 つのコンポーネントで構成され、それぞれ別のプロセスとして実行される Python で記述されます。
agent.py
): コレクターは、現在のマシンで構成されているインテグレーションのチェックを実行し、メモリや CPU などのシステムメトリクスをキャプチャします。dogstatsd.py
): アプリケーションからカスタムメトリクスを送信できる StatsD 互換可能バックエンドサーバーです。ddagent.py
): フォワーダーは、DogStatsD とコレクターの両方からデータを取得し、クエリを実行し、Datadog に送信します。注: 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/17124 | graphite サポート用のフォワーダー |
udp/8125 | DogStatsD |
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 が実行されるポートを datadog.yaml
ファイルで構成できます。GUI を無効にするには、ポートの値を -1
に設定します。
Windows および macOS では、GUI はデフォルトで有効になり、ポート 5002
で実行されます。Linux では、GUI はデフォルトで無効になります。
Agent の実行中は、datadog-agent launch-gui
コマンドを使用して、デフォルトの Web ブラウザーで GUI を開きます。
注: Agent GUI は、32 ビット Windows プラットフォームではサポートされません。
cookie をブラウザーで有効にする必要があります。GUI は、GUI サーバーとのすべての通信を認証するために使用されるトークンを生成し、ブラウザーに保存します。
GUI を起動するには、必要なアクセス許可を持っている必要があります。datadog.yaml
を開くことができる場合は、GUI を使用できます。
セキュリティ上の理由から、GUI はローカルネットワークインターフェイス (localhost
/127.0.0.1
) からのみアクセスできます。そのため、Agent を同じホストで実行する必要があります。したがって、Agent を VM やコンテナーで実行してホストマシンからアクセスすることはできません。
プラットフォーム (64 ビット x86) | サポートされるバージョン |
---|---|
Amazon Linux | Amazon 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)+ |
Ubuntu | Ubuntu 14.04 以上 |
RedHat/CentOS/AlmaLinux/Rocky | RedHat/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+ |
Fedora | Fedora 26 以上 |
macOS | macOS 10.12+ は Agent < 6.35.0/7.35.0、 macOS 10.13+ は Agent < 7.39.0、macOS 10.14+ は Agent 7.39.0+ |
Windows Server | Windows Server 2008 R2+ (Server Core を含む) |
Windows | Windows 7 以上 |
Azure Stack HCI OS | すべてのバージョン |
プラットフォーム (64 ビット Arm v8) | サポートされるバージョン |
---|---|
Amazon Linux | Amazon Linux 2 |
Debian (systemd を使用) | Debian 9 (stretch)+ |
Ubuntu | Ubuntu 16.04 以降 |
RedHat/CentOS/AlmaLinux/Rocky | RedHat/CentOS 8+、Agent 6.33.0+/7.33.0+ の AlmaLinux/Rocky 8+ |
Docker | バージョン 1.12 以上 |
Kubernetes | バージョン 1.3 以上 |
Fedora | Fedora 27+ |
macOS | macOS 11.0+ |
注:
プラットフォーム | サポートされるバージョン |
---|---|
Amazon Linux | Amazon Linux 2 |
Debian | Debian 7 (wheezy) 以上 |
Ubuntu | Ubuntu 12.04 以上 |
RedHat/CentOS | RedHat/CentOS 5 以上 |
Docker | バージョン 1.12 以上 |
Kubernetes | バージョン 1.3 ~ 1.8 |
SUSE Enterprise Linux | SUSE 11 SP4 以上 |
Fedora | Fedora 26 以上 |
macOS | macOS 10.10 以上 |
Windows Server | Windows Server 2008 以上 |
Windows | Windows 7 以上 |
注:
プラットフォーム | サポートされるバージョン |
---|---|
AIX | AIX 6.1 TL9 SP6, 7.1 TL5 SP3, 7.2 TL3 SP0 |
Agent v6 以上のコマンドラインインターフェイスはサブコマンドに基づいています。サブコマンドを実行するには、まず Agent バイナリを呼び出します。
<AGENT_バイナリパス> <サブコマンド> <オプション>
サブコマンド | 注 |
---|---|
check | 指定されたチェックを実行します。 |
configcheck | 実行中の Agent のうち、ロード済みで解決済みの構成をすべて出力します。 |
diagnose | システムに対して接続診断を実行します。 |
flare | フレアを収集して Datadog に送信します。 |
health | 現在の Agent の状態を出力します。 |
help | 任意のコマンドのヘルプ。 |
hostname | Agent が使用するホスト名を出力します。 |
import | 以前のバージョンの Agent から構成ファイルをインポートして変換します。 |
launch-gui | Datadog Agent GUI を起動します。 |
restart | Agent を再起動します。 |
restart-service | サービスコントロールマネージャー内で Agent を再起動します。 |
start | Agent を起動します。 |
start-service | サービスコントロールマネージャー内で Agent を起動します。 |
status | 現在の Agent のステータスを出力します。 |
stream-logs | 実行中の Agent が処理するログをストリーミング表示します。 |
stop | Agentを 停止します。 |
stopservice | サービスコントロールマネージャー内で Agent を停止します。 |
version | バージョン情報を出力します。 |
注: 一部のオプションにはフラグのセットとオプションがあり、ヘルプメッセージで詳細に説明されています。たとえば、check
サブコマンドの使用方法を表示するには、次のように実行します。
<AGENT_バイナリパス> check --help
以下は、Datadog Agent リソース消費の例です。テストは、AWS EC2 マシンの c5.xlarge
インスタンス (4 VCPU/ 8 GB RAM) で行われ、同様のリソースを持つ ARM64 ベースのインスタンスで同等のパフォーマンスが見られました。Agent 自体を監視するために、vanilla datadog-agent
がプロセスチェックとともに実行されました。さらにインテグレーションを有効にすると、Agent リソースの消費が増えます。
JMX チェックを有効にすると、監視対象の JVM によって公開される Bean の数に応じて、Agent が使用するメモリの量が増えます。トレースとプロセスを有効にしても、Agents のリソース消費が増えます。
ログ収集:
以下は、HTTP フォワーダーが有効になっている状態で毎秒 110KB のログが記録されるファイルから得た結果です。これは、使用可能な圧縮レベルに応じてリソース使用量がどのように増加するかを示しています。
特定のホスト上で実行されている Datadog Agent のコアを手動でマイナーバージョンにアップデートするには、プラットフォームの対応するインストールコマンドを実行します。
注: 特定の Agent インテグレーションを手動でアップデートするには、インテグレーション管理ガイドを参照してください。
Agent コンフィギュレーションファイルに関するドキュメントを参照してください。
Agent のメインコンフィギュレーションファイル、datadog.yaml
を編集して、site
パラメーターを設定します (デフォルトは datadoghq.com
)。
site:
注: site
パラメーターの詳細については、Datadog サイトの概要ドキュメントを参照してください。
Agent ログファイルに関するドキュメントを参照してください。