Docker 可視性のマシンエージェント設定

<machine-agent-home>/extensions/DockerMonitoring/conf/DockerMonitoring.yml   ファイルで Docker の可視性設定を設定できます。


このファイルを編集する前に、「サーバの可視性のためのマシンエージェントの設定」の「YML ファイルの編集:重要な注意事項」セクションを参照してください。

プロパティ

説明

デフォルト

cgroupEnabled

マシンエージェントは、cgroupdata を使用して Docker コンテナのメモリおよび CPU メトリックを収集できます。このメソッドは、Docker API(デフォルトの metric-collection メソッド)を使用するよりもはるかに高速です。Amazon Linux OS を除くすべてのプラットフォームで cgroupmetriccollection を有効にすることができます。cgroupEnabled フラグを true に設定すると、マシンエージェントはホストごとに最大 600 個のコンテナをモニターできます。cgroup が有効になっている場合は、Docker Metric Collector のプールサイズを更新する必要はありません。コンテナの最大数の制限は、これに依存しません。

このモードはデフォルトで無効になっています。cgroupmetriccollection を有効にするには、次のコマンドラインオプションを true に設定してエージェントを実行します。

java -Dappdynamics.docker.container.collection.cgroup.enabled=true  -jar machineagent.jar
JAVA
true

containerProcessSelectorRegex

マシンエージェントは、最大 150 個の実行コンテナをモニターできます(以下で説明するプールサイズの設定によって異なります)。エージェントは、コマンドラインが設定可能な正規表現と一致する 1 つ以上の実行中のプロセスでコンテナからメトリックを収集します。デフォルトでは、この正規表現の値は ".*" であり、その中で実行されているプロセスに関係なく、すべてのコンテナに一致します。APM エージェントを再起動できない場合、または別のコマンドライン引数に基づいて APM エージェントをフィルタリングする場合は、この正規表現を編集してこの動作をオーバーライドできます。

デフォルト= ".*"

".*"

docker.metric.collector.pool.size

エージェントがモニタできるコンテナの数に対するローカル制限を指定します。各エージェントの有効な制限値の下限は、次のとおりです。

  • コントローラ上の sim.docker.machine.container.limit (デフォルトの制限 = 15 個のコンテナ)、または
  • エージェント上にある Docker Metric Collector のプールサイズ(デフォルトのプールサイズは 3、または 90 個のコンテナ)。

この設定を変更して、最大 120 個のコンテナ(プールサイズ = 4)または 150 個のコンテナ(プールサイズ = 5)をモニタすることができます。トレードオフとは、プールサイズを大きくすると、エージェントホストでのリソース消費が高くなることを意味します。

プールサイズを変更するには、次のプロパティを設定します。

System Property

-Dappdynamics.docker.metric.collector.pool.size
YML
Environment Variable
APPDYNAMICS_DOCKER_METRIC_COLLECTOR_POOL_SIZE
YML

デフォルトの制限 = 15 コンテナ

デフォルトのプールサイズ = 3、または 90 コンテナ

dockerTagsEnabledマシンエージェントによってモニタされるコンテナからの Docker タグの収集を有効(デフォルト)または無効にします。
docker.use.container.name.selector

コンテナ名のみでコンテナを識別するには、マシンエージェントを使用します。

Docker モニタリングのデフォルトでは、マシンエージェントでコンテナのリストを取得します。マシンエージェントは、コンテナごとに、コンテナ内の実行中のすべてのプロセスを取得します。次に、マシンエージェントは、プロセスの完全なコマンドラインによってモニタされるコンテナと一致します。コンテナが多数あるため、選択プロセスは 1 分以上かかり、コンテナメトリックのレポートにギャップが生じます。

[Docker Use Container Name Selector] 設定オプションは、コンテナの名前を使用してモニタするコンテナを選択するための別の方法を提供します。このオプションを使用すると、マシンエージェントは各コンテナのすべてのプロセスを収集する必要がなくなるため、実行速度が大幅に向上します。

コンテナ名との照合を有効にするには、環境変数または JVM プロパティを使用できます。両方が定義されている場合は、環境変数が使用されます。

System Property

-Dappdynamics.docker.use.container.name.selector=false
YML

Environment Variable

APPDYNAMICS_DOCKER_USE_CONTAINER_NAME_SELECTOR=false
YML
コンテナ名に一致する正規表現(containerNameSelectorRegex)を指定することで、モニタするコンテナを選択できます。デフォルトでは、マシンエージェントがすべてのコンテナ名に一致します。正規表現は extensions/DockerMonitoring/conf/DockerMonitoring.yml ファイルの一部です。

コンテナをモニタリングから除外するには、環境変数または JVM プロパティを使用します。両方が定義されている場合は、環境変数が使用されます。

# default value
".*(machine-agent|machineagent).*"

# environment variable
export APPDYNAMICS_DOCKER_CONTAINER_NAME_SELECTOR_BLACKLIST_REGEX=".*(machine-agent|machineagent).*"

# JVM property
-Dappdynamics.docker.container.name.selector.blacklist.regex=".*(machine-agent|machineagent).*"
YML
# default value
".*(machine-agent|machineagent).*"

networkMonitorConfig:

blacklistSelectorRegex

この正規表現と一致する名前のネットワークは除外されます。この設定は、無関係なメトリックをフィルタリングして除外する場合に役立ちます。

Solaris でプロセスメトリックを収集する場合、マシンエージェントは、各プロセス名と引数リストの最初の 80 文字だけを観測してキャプチャします。これは、エージェントがブロックリストを適用するときに、各プロセス文字列の最初の 80 文字のみを考慮することを意味します。

# blacklistSelectorRegex specifies the regular expression used to blacklist reported networks by name. A network   with the name matching the regex will never be reported
# For example if blacklistSelectorRegex is set as blacklistSelectorRegex: "^(eth1|eth3)$"
  then it will blacklist networks whose name matches exactly with eth1 or eth3
YML

Docker 可視性のコントローラ設定

これらの設定の構成方法については、「マシンエージェント用コントローラの設定」を参照してください。

プロパティ

説明

デフォルト

sim.docker.apmNode.markHistorical.enabledアプリケーション エージェントが実行されているコンテナが停止したときに、APM ノードを履歴としてマークする設定を有効にします。true

sim.docker.enabled

Docker モニタリング機能を有効にします。true

sim.docker.machine.container.limit

各マシンエージェントがモニタできるコンテナの数に対するグローバル制限。各エージェントの有効な制限値の下限は、次のとおりです。

  • コントローラ上の sim.docker.machine.container.limit(デフォルトの制限 = 15 個のコンテナ)、または
  • エージェント上にある Docker Metric Collector のプールサイズ(デフォルトのプールサイズは 3、または 90 個のコンテナ)。

これは、管理コンソールでコントローラの設定(すべてのアカウント)として指定することも、個々のアカウントのアカウント設定として指定することもできます。指定できる制限値の上限は、150 です。

15

sim.machines.reuse.enabled

一時的な環境を処理するために、SIM マシンエンティティを再利用します。現在、サポートは Docker コンテナマシンに限定されています。

false に設定すると、新しいコンテナは新しいマシンと見なされます。

true

sim.machines.tags.enabled

コントローラへの Docker タグのインポートを有効または無効にします。true