- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
Datadog Agent v6 には、以前の Agent バージョンと比較して多くの変更が含まれています。変更と非推奨については、以下のセクションで詳しく説明します。
Agent v5 の次の機能は、Agent v6 では使用できません。
以前のバージョンの Agent はコンフィギュレーションファイルを /etc/dd-agent
に保存していました。Agent v6.0 以降では、コンフィギュレーションファイルは /etc/datadog-agent
に保存されます。
Agent のメインコンフィギュレーションファイルは INI 形式から YAML 形式に移行し、複雑なコンフィギュレーションをサポートし、Agent とチェック全体で一貫したエクスペリエンスを提供します。
Agent v5 datadog.conf
–> Agent v6 datadog.yaml
Agent コンフィギュレーションのパスと形式を切り替えるには、以下の Agent コマンドを使用します。
sudo -u dd-agent -- datadog-agent import
このコマンドは、既存の datadog.conf
を解析し、サポートされているパラメーターを datadog.yaml
の新しい形式に変換します。このコマンドは、現在有効になっているチェックのコンフィギュレーションファイルもコピーします。詳細については、Datadog Agent v6 へのアップグレードを参照してください。
次の Agent コンフィギュレーションオプションは、Agent v6 で変更または削除されました。削除されたコンフィギュレーションオプションは、他のオプションに置き換えられたか、以前のバージョンとは異なる動作をする機能に関連しています。
以前の名称 | 変更後の名称 | 注 |
---|---|---|
proxy_host | proxy | プロキシ設定は、URI のリストとして表現されるようになりました。詳細については、proxyのドキュメントを参照してください。 |
collect_instance_metadata | enable_metadata_collection | メタデータ収集を有効にします。 |
collector_log_file | log_file | |
syslog_host | syslog_uri | Syslog コンフィギュレーションが URI として表現されるようになりました。 |
syslog_pem | TLS クライアント検証用の Syslog コンフィギュレーションクライアント証明書。 | |
syslog_key | TLS クライアント検証用の Syslog コンフィギュレーションクライアント秘密キー。 |
名前 | 注 |
---|---|
proxy_port | proxy に置き換えられました。詳細については、プロキシのドキュメントを参照してください。 |
proxy_user | proxy に置き換えられました。詳細については、プロキシのドキュメントを参照してください。 |
proxy_password | proxy に置き換えられました。詳細については、プロキシのドキュメントを参照してください。 |
proxy_forbid_method_switch | 廃止 |
use_mount | Agent レベルでは非推奨となり、ディスクチェックに移動しました。 |
device_blacklist_re | Agent レベルでは非推奨となり、device_blacklist としてディスクチェックに移動しました。 |
use_curl_http_client | 廃止 |
exclude_process_args | 非推奨の機能 |
check_timings | 内部統計に置き換えられました |
non_local_traffic | Dogstatsd の場合は dogstatsd_non_local_traffic 、トレース Agent の場合は apm_config.apm_non_local_traffic に置き換えられました。 |
dogstatsd_target | |
dogstreams | 非推奨機能。代わりにログ Agent を使用してください。 |
custom_emitters | |
forwarder_log_file | log_file に置き換えられました |
dogstatsd_log_file | log_file に置き換えられました |
jmxfetch_log_file | log_file に置き換えられました |
syslog_port | syslog_uri に置き換えられました |
check_freq | |
collect_orchestrator_tags | メタデータコレクターに実装されました |
utf8_decoding | |
developer_mode | |
use_forwarder | |
autorestart | |
dogstream_log | 非推奨機能。代わりにログ Agent を使用してください。 |
use_curl_http_client | |
collect_security_groups | 廃止。機能は、AWS インテグレーションで利用可能です。 |
Agent v6 は、有効な YAML ファイルを <AGENT_DIRECTORY>/conf.d/<CHECK_NAME>.d/
にロードします。これにより、複雑なコンフィギュレーションを複数のファイルに分割できます。
たとえば、http_check
のコンフィギュレーションファイルは以下のようになります。
/etc/datadog-agent/conf.d/http_check.d/
├── backend.yaml
└── frontend.yaml
Agent は、<CHECK_NAME>.d
フォルダー内のサブディレクトリからコンフィギュレーションファイルをロードしません。たとえば、次のコンフィギュレーションはロードされません。
/etc/datadog-agent/conf.d/http_check.d/prod.d/
├── backend.yaml
オートディスカバリーテンプレートファイル (auto_conf.yaml
) もコンフィギュレーションフォルダーに保存されます。以下は redisdb
チェックコンフィギュレーションフォルダーの例です。
/etc/datadog-agent/conf.d/redisdb.d/
├── auto_conf.yaml
└── conf.yaml.example
<CHECK_NAME>.d
フォルダー内の YAML ファイルには、.yaml
または .yml
拡張子が付いている限り、どんな名前でも付けることができます。標準名は conf.yaml
です。
下位互換性を維持するため、Agent は <AGENT_DIRECTORY>/conf.d/<CHECK_NAME>.yaml
の形式でコンフィギュレーションファイルを処理しますが、更新されたレイアウトへの移行を強くおすすめします。
Agent v6 は、チェックの instance
セクションで次のオプションをサポートしています。
オプション | 説明 |
---|---|
min_collection_interval | デフォルトの 15 秒間隔よりも実行頻度が低いチェックの場合は、別の実行間隔を秒単位で設定します。 |
empty_default_hostname | true に設定されている場合、ホスト名なしでメトリクス、イベント、サービスチェックを送信します。 |
tags | チェックによって送信されたタグに加えて、カスタムタグを送信します。 |
Agent v6 で使用される環境変数のほとんどは、以前のバージョンとは異なります。Agent v6 の環境変数のリストを参照してください。
注: DD_TAGS
は同じタグですが、Agent v6 では形式がスペースで区切られています。以前のバージョンはカンマで区切られていました。v6 の例: DD_TAGS="simple-tag-0 tag-key-1:tag-value-1"
v6.4.0 以降の場合、Agent プロキシ設定は次の環境変数でオーバーライドできます。
環境変数 | 説明 |
---|---|
DD_PROXY_HTTP | http リクエストのプロキシとして使用する URL。 |
DD_PROXY_HTTPS | https リクエストのプロキシとして使用する URL。 |
DD_PROXY_NO_PROXY | プロキシを使用すべきではない場合に必要となる、URL をスペースで区切ったリストです。 |
標準環境変数 (HTTP_PROXY
、HTTPS_PROXY
、NO_PROXY
) は Agent v6 でサポートされていますが、DD_PROXY_*
変数を使用することをお勧めします。DD_PROXY_*
変数は他のプロキシ変数よりも優先されます。
Agent v6 のプロキシオプションの優先順位は、以前のバージョンとは異なります。
proxy.http
と proxy.https
の両方が設定されていて、環境で DD_PROXY_HTTPS
のみが設定されている場合、Agent は環境の https
値とコンフィギュレーションファイルの http
値を使用します。Agent v5 と Agent v6 ではホスト名解決に違いがあります。詳細については、専用ドキュメントをご覧ください。
Agent ログファイルは引き続き /var/log/datadog/
(Linux) と C:\ProgramData\Datadog\logs
(Windows) にあります。
以前のバージョンでは複数のファイル (collector.log
、forwarder.log
、dogstatsd.log
など) にログを記録していました。Agent v6 では単一のログファイル agent.log
にログを記録します。
Agent v6 のコマンドラインインターフェイスは、サブコマンドベースです。利用可能なサブコマンドのリストを確認するには、次を実行します:
<エージェント_バイナリ> --help
サブコマンドを実行するには、Agent バイナリを呼び出す必要があります:
<エージェントバイナリ> <サブコマンド> <オプション>
一部のオプションにはフラグとオプションがあり、--help
で詳細に説明されています。たとえば、check
サブコマンドのヘルプを使用するには、次を実行します。
<エージェント_バイナリ> check --help
使用可能なコマンドの完全なリストについては、Agent のコマンドを参照してください。
Linux 上の Agent v6 の主な変更点は次のとおりです。
start
/stop
/restart
/status
) だけは sudo service
/sudo initctl
/sudo systemctl
で実行する必要があります。datadog-agent
として PATH
(/usr/bin
) にある Agent バイナリで呼び出す必要があります。dd-agent
コマンドは使用できなくなりました。info
サブコマンドは status
に名前が変更されました。/etc/init.d/datadog-agent
にありました)。システムで service
ラッパーコマンドが使用できる場合、ライフサイクルコマンドに変更はありません。
たとえば Ubuntu の場合、_ライフサイクルコマンド_は次のとおりです。
コマンド | 説明 |
---|---|
sudo service datadog-agent start | Agent をサービスとして起動します。 |
sudo service datadog-agent stop | Agent サービスを停止します。 |
sudo service datadog-agent restart | Agent サービスを再起動します。 |
sudo service datadog-agent status | Agent サービスのステータスを出力します。 |
ご使用のシステムで service
ラッパーコマンドを使用できない場合は、以下を使用してください。
upstart
ベースのシステムの場合: sudo start/stop/restart/status datadog-agent
systemd
ベースのシステムの場合: sudo systemctl start/stop/restart/status datadog-agent
ディストリビューションがデフォルトで使用する init システムが不明な場合は、以下の表を参照してください。
ディストリビューション \ init システム | upstart | systemd | sysvinit | 注 |
---|---|---|---|---|
Amazon Linux (<= 2017.09) | ||||
Amazon Linux 2 (>= 2017.12) | ||||
CentOS/RHEL 6 | ||||
CentOS/RHEL 7 | ||||
Debian 7 (wheezy) | (Agent v6.6.0+) | |||
Debian 8 (jessie) & 9 (stretch) | ||||
SUSE 11 | systemd がないとサポートされません | |||
SUSE 12 | ||||
Ubuntu < 15.04 | ||||
Ubuntu >= 15.04 |
Agent v6 以降では、他の機能は Agent バイナリ自体によってサブコマンドとして提供されるため、service
/systemctl
/initctl
で呼び出すことはできません。以下にいくつかの例を示します。
Agent v5 コマンド | Agent v6 コマンド | 注 |
---|---|---|
sudo service datadog-agent info | sudo datadog-agent status | 実行中の Agent のステータスページ |
sudo service datadog-agent flare | sudo datadog-agent flare | フレアの送信 |
sudo service datadog-agent | sudo datadog-agent --help | Agent の使用状況を表示する |
sudo -u dd-agent -- dd-agent check <CHECK_NAME> | sudo -u dd-agent -- datadog-agent check <CHECK_NAME> | チェックの実行 |
Windows 上の Agent v6 の主な変更点は次のとおりです。
agent.exe
(以前は ddagent.exe
) です。"%PROGRAMFILES%\datadog\datadog agent\embedded\agent.exe" <COMMAND>
を使用してコマンドを実行する必要があります。MacOS 上の Agent v6 の主な変更点は次のとおりです。
datadog-agent start
/stop
/restart
/status
) は、com.datadoghq.agent
サービスの launchctl
コマンドに置き換えられ、ログインユーザーで実行される必要があります。これらのコマンドでは、Datadog Agent systray アプリを使用することもできます。PATH
(/usr/local/bin/
) にある datadog-agent
バイナリで実行できます。info
コマンドは status
に名前が変更されました。datadog-agent launch-gui
を実行するか、systray アプリを使用してアクセスできます。変更例:
Agent v5 コマンド | Agent v6 コマンド | 説明 |
---|---|---|
datadog-agent start | launchctl start com.datadoghq.agent または systray アプリ | Agent をサービスとして起動します |
datadog-agent stop | launchctl stop com.datadoghq.agent または systray アプリ | Agent サービスを停止します |
datadog-agent restart | run stop then start または systray アプリ | Agent サービスを再起動します |
datadog-agent status | launchctl list com.datadoghq.agent または systray アプリ | Agent サービスのステータスを出力します |
datadog-agent info | datadog-agent status または Web GUI | 実行中の Agent のステータスページ |
datadog-agent flare | datadog-agent flare または Web GUI | フレアの送信 |
not implemented | datadog-agent --help | コマンドの使用方法の表示 |
datadog-agent check <チェック名> | datadog-agent check <チェック名> | チェックを実行します (変更なし) |
APM Agent は、Linux、MacOS、Windows 用の Agent v6 パッケージにデフォルトで付属しています。
Linux では、APM Agent はデフォルトで有効になっています。他のプラットフォームで有効または Linux で無効にするには、datadog.yaml
の apm_config
キーを更新します。
apm_config:
enabled: true
Docker イメージの場合、APM Agent はデフォルトで無効になっています。DD_APM_ENABLED
を true
に設定して有効にします。デフォルトではすべてのインターフェイスをリッスンします。他のプラットフォームでローカル以外のトラフィックをリッスンする場合は、DD_APM_NON_LOCAL_TRAFFIC
を true
に設定します。詳細については、Docker アプリケーションのトレースを参照してください。
Process Agent は、Linux 用の Agent v6 パッケージにのみデフォルトで付属しています。
Process Agent はデフォルトでは有効になっていません。有効にするには、datadog.yaml
ファイルを次のように更新します。
process_config:
enabled: "true"
enabled
の値は文字列で、以下のオプションがあります。
"true"
: プロセス Agent を有効にして、プロセスとコンテナを収集します。"false"
: コンテナがあれば、コンテナのみを収集します (デフォルト)。"disabled"
: Process Agent を実行しません。Agent v6 では、Docker バージョン 1.12.1 以降がサポートされています。
Docker チェックは、Agent の内部アーキテクチャを利用するために Go で書き直されました。したがって、Python バージョン (docker_daemon
) は非推奨になりました。
新しいチェックの名前は docker
です。Agent インポートコマンドは、レガシーの docker_daemon.yaml
コンフィギュレーションから設定をインポートします。以下を除くすべての機能が移植されています。
url
、api_version
、tags*
は非推奨になりました。標準の Docker 環境変数を使用することをお勧めします。ecs_tags
、performance_tags
、container_tags
は非推奨になりました。すべての関連タグはデフォルトで収集されます。docker.container.count
メトリクスを有効にする collect_container_count
の使用はサポートされません。docker.containers.running
と .stopped
を使用してください。一部のオプションは docker_daemon.yaml
からメインの datadog.yaml
に移動しました。
collect_labels_as_tags
は docker_labels_as_tags
に名前が変更され、カーディナリティの高いタグをサポートします。詳細については、タグの割り当てと抽出を参照してください。exclude
と include
は ac_include
と ac_exclude
に名前が変更されました。Agent のすべてのコンポーネントで絞り込みを一貫させるために、任意のタグでの絞り込みはなくなりました。タグの絞り込みは、image
(イメージ名) および name
(コンテナ名) でのみサポートされています。正規表現の絞り込みは引き続き使用できます。詳細については、コンテナディスカバリー管理を参照してください。docker_root
オプションは、container_cgroup_root
と container_proc_root
の 2 つのオプションに分割されました。exclude_pause_container
が追加されました (デフォルトは true
です)。Agent v6 では、Kubernetes バージョン 1.3 以降がサポートされています。
Kubernetes インテグレーションは、以下を組み合わせることによって情報を提供します。
Agent インポートコマンド (v6.2 以降) は、レガシーの kubernetes.yaml
コンフィギュレーションから設定をインポートします。次のオプションは非推奨になりました。
api_server_url
、apiserver_client_crt
、apiserver_client_key
、apiserver_ca_cert
): 代わりに、kubenetes_kubeconfig_path
を使用して Agent に kubeconfig
ファイルを提供します。use_histogram
: Datadog のサポートチームに問い合わせて、最適な代替案を決めてください。namespaces
と namespace_name_regexp
: Agent v6 は、使用可能なすべてのネームスペースからメトリクスを収集します。アップグレードされたロジックでは、Kubernetes バージョン 1.7.6 以降と互換性のある Prometheus メトリクス収集が有効になります。古いバージョンを実行しているか、cadvisor 収集ロジックに戻したい場合は、cadvisor_port
を 4194
(kubelet が cadvisor を公開するポート) に設定します。
kubernetes_state チェックは、Agent v5 または Agent v6 で機能します。
Agent v5 はすべてのポッドラベルをタグとして自動的に収集しましたが、Agent v6 にはホワイトリストが必要です。これは、datadog.yaml
の kubernetes_pod_labels_as_tags
オプションで行われます。詳細については、タグの割り当てと抽出を参照してください。
次のオプションとタグは非推奨になりました。
label_to_tag_prefix
は kubernetes_pod_labels_as_tags
に置き換えられました。container_alias
タグは収集されません。kube_replicate_controller
は、ポッドがレプリケーションコントローラーによって作成された場合にのみ追加されます。代わりに、関連するクリエイタータグ (kube_deployment
や kube_daemon_set
など) を使用してください。Agent v6 には JMXFetch が付属していますが、次の変更が加えられています。
Agent v6 には jmxterm
JAR が付属していません。jmxterm
をダウンロードして使用するには、アップストリームプロジェクトを参照してください。
トラブルシューティングのコマンド構文が変更されました。これらのコマンドは v6.2.0 以降で使用できます。以前のバージョンについては、JMX Agent のトラブルシューティングを参照してください。
コマンド | 説明 |
---|---|
sudo -u dd-agent datadog-agent jmx list matching | 1 つ以上のインスタンスコンフィギュレーションに一致する属性をリストします。 |
sudo -u dd-agent datadog-agent jmx list limited | インスタンスコンフィギュレーションの 1 つに一致するが、収集可能なメトリクス数を超えるために収集されない属性をリストします。 |
sudo -u dd-agent datadog-agent jmx list collected | 現在のインスタンスコンフィギュレーションによって収集される属性をリストします。 |
sudo -u dd-agent datadog-agent jmx list not-matching | どのインスタンスコンフィギュレーションにも一致しない属性をリストします。 |
sudo -u dd-agent datadog-agent jmx list everything | JMXFetch でサポートされているタイプのすべての使用可能な属性をリストします。 |
sudo -u dd-agent datadog-agent jmx collect | 現在のコンフィギュレーションに基づいてメトリクスの収集を開始し、コンソールに表示します。 |
注: デフォルトでは、これらのコマンドは構成済みのすべての JMX チェックで実行されます。チェックを指定するには、--checks
フラグを使用します。例:
sudo datadog-agent jmx list collected --checks tomcat
Windows Agent のみに影響します
Windows Agent v5 の場合、system.mem.pagefile.*
メトリクスは一貫性のない単位を表示します (10^6 でオフ)。
この問題は、Windows Agent v6 で修正されています。ただし、下位互換性のために Agent v5 の不一致は残っています。したがって、Agent v5 から Agent v6 にアップグレードする場合、報告される値 (および関連するモニター) は異なります。
オートディスカバリーシステムは、Agent v6 用に作り直されました。また、コンテナランタイムとオーケストレーターは分離され、より柔軟になりました。これには、テンプレートの docker_images
から ad_identifiers
への移動が含まれます。
Kubernetes を使用する場合、オートディスカバリーは Docker デーモンではなく kubelet から情報を取得します。これにより、Docker ソケットにアクセスしなくてもオートディスカバリーが機能します。また、デフォルトの動作では、ポッドアノテーションからオートディスカバリーテンプレートを取得します。docker
コンフィギュレーションプロバイダーを有効にしてコンテナラベルを使用し、ポッドが不足しているコンテナでオートディスカバリーが必要な場合は、kubelet
リスナーを Docker リスナーに置き換えることができます。
ポッドアノテーションでオートディスカバリーテンプレートを指定する場合、アノテーション名のプレフィックスは ad.datadoghq.com/
です。以前のアノテーションプレフィックス (service-discovery.datadoghq.com/
) は Agent v6 でも引き続きサポートされていますが、サポートは将来のバージョンで削除される予定です。
Docker ラベルのオートディスカバリーテンプレートは、同じ名前のプレフィックス com.datadoghq.ad.*
で機能します。
一貫性を保つため、識別子オーバーライドラベルの名前が com.datadoghq.sd.check.id
から com.datadoghq.ad.check.id
に変更されました。以前の名前は Agent v6 でも引き続きサポートされていますが、サポートは将来のバージョンで削除される予定です。
Agent v6 では、すべてのチェック関連の Python コードは、datadog_checks
ネームスペースからインポートされます。Agent v5 に含まれているほとんどの Python ライブラリは Agent v6 に付属しています。以下が変更されました。
util.py
とそれに関連する関数は Agent v6 から削除されました。util.headers(...)
は引き続き Agent v6 に含まれていますが、C および Go に実装されてチェックに渡されます。注: すべての公式インテグレーションは廃止されたモジュールを削除するように更新されたため、これらの変更はカスタムチェックにのみ影響します。
多くの utils
ディレクトリが Agent v6 から削除されましたが、削除されたコンテンツのほとんどはチェックに直接関係していませんでした。たとえば、flare モジュールは Go で削除され、再実装されましたが、カスタムチェックで誰も使用していなかった可能性があります。詳細については、開発ドキュメントを参照してください。
Agent v6 は Python チェックを完全にサポートしていますが、公式の Agent v5 インテグレーションの一部は削除または置き換えられています。
Python チェックの基本クラス (AgentCheck
) が datadog_checks.base.checks
からインポートされました。クラス API で削除または変更されたものは多数あります。さらに、各チェックインスタンスは、クラスの独自のインスタンスになりました。したがって、それらの間で状態を共有することはできません。
AgentCheck
クラスの以下のメソッドは実装されていません。
service_metadata
get_service_metadata
generate_historate_func
generate_histogram_func
stop
メトリクス送信者の関数シグニチャが変更されました。
# 以前のバージョン
gauge(self, metric, value, tags=None, hostname=None, device_name=None, timestamp=None)
# Agent v6
gauge(self, name, value, tags=None, hostname=None, device_name=None)
次のメソッドは、AgentCheck
から完全に削除されました。
_roll_up_instance_metadata
instance_count
is_check_enabled
read_config
set_check_version
set_manifest_path
_get_statistic_name_from_method
_collect_internal_stats
_get_internal_profiling_stats
_set_internal_profiling_stats
get_library_versions
get_library_info
from_yaml
get_service_checks
has_warnings
get_metrics
has_events
get_events
注: すべての公式インテグレーションは廃止されたメソッドを削除するように更新されたため、これらの変更はカスタムチェックにのみ影響します。
Agent v6 では、公式チェックはカスタムチェックよりも優先されます (<AGENT_DIRECTORY>/checks.d
のチェック)。公式チェックと同じ名前のカスタムチェックは無視されます。
Agent v6 でカスタムチェックのセットアップを修正するには、影響を受けるカスタムチェックの名前を新しい未使用の名前に変更し、それに応じて関連する .yaml
コンフィギュレーションファイルの名前を変更します。
カスタムチェックを使用する場合、コードが Agent v6 にバンドルされなくなった Python コードに依存する可能性があります。次のパッケージは、Agent にバンドルされなくなりました。
コードがこれらのパッケージのいずれかに依存している場合は、次のコマンドを実行して、不足しているパッケージをインストールします。
sudo -u dd-agent -- /opt/datadog-agent/embedded/bin/pip install <PACKAGE_NAME>
同様に、Agent v5 でカスタムチェックの要件を満たすために PIP パッケージを追加した可能性があります。追加された PIP パッケージに、すでに Agent v5 にバンドルされているパッケージとの内部依存関係がある場合 (上記のリストを参照)、Agent v6 にアップグレードした後、それらの依存関係は失われます。上記の説明に従って、不足している依存関係をインストールします。
お役に立つドキュメント、リンクや記事: