Docker Monitor のトラブルシューティングおよび FAQ
apmsaas
このセクションには、Docker モニタリングに関する重要なトラブルシューティング情報、およびよくある質問が含まれています。
Docker Monitor のトラブルシューティング
問題をトラブルシューティングするには、以下のリソースを使用します。
- Docker Monitor およびコンテナ フロー マップの持続性メトリックを確認します。Agent Stats|Sustainability|DockerMonitorAgent Stats|Sustainability|ContainerFlow
- エラーを識別できるログを収集します。docker logs dockermonitor > dockermonitor.log 2>&1
- CA サポートにお問い合わせください。
- Docker 固有の問題や質問は、Docker テクニカル サポートにお問い合わせください。
FAQ
Docker Monitor モニタリングに関するよくある質問のリストを以下に示します。
インストールが成功したかどうかを知るにはどうすればよいですか
Docker セットアップ内の各ノードで以下のコンテナが実行されている場合、Docker Monitor は正常にインストールされています。
- dockermonitor
- dockermonitor_dockermonitor_1
- docker_deafult
これらのインスタンスの正しいイメージ名を確認します。クラスタの各ノードで以下のコマンドを呼び出すことによって、この情報を検証できます。
docker ps | grep dockermonitor docker network ls
アンインストールが成功したかどうかを知るにはどうすればよいですか
Docker クラスタのどのノードでも
dockermonitor
または dockermonitor_dockermonitor_1
という名前のコンテナが実行されていない場合、Docker Monitor は正常にアンインストールされています。クラスタの各ノードで以下のコマンドを呼び出すことによって、これを検証できます。
docker ps | grep dockermonitor
エージェント ログ レベルを変更するにはどうすればよいですか
ログ レベルを変更するには、以下の手順に従います。
- dockermonitorコンテナにログインします。docker exec -it dockermonitor bash
- ./core/config/IntroscopeAgent.profileを開きます。
- エージェントのドキュメントの説明に従ってログ レベルを変更します。
コンテナを再起動する必要はありません。
カスタム コンテナ ラベルを属性として発行するにはどうすればよいですか
カスタム コンテナ ラベルを属性として発行するには、以下の手順に従います。
- Docker から現在のattributes.jsonを取得します。docker cp dockermonitor:/usr/local/openshift/APM_IA/extensions/DockerMonitor/config/attributes.json
- 「Docker カスタム属性の設定」で説明しているとおりにattributes.jsonに変更を加えます。
- 変更したファイルをコンテナにコピーします。docker cp attributes.json dockermonitor:/usr/local/openshift/APM_IA/extensions/DockerMonitor/config/attributes.json
- Docker Monitor を再起動します。docker restart dockermonitor
エージェント構成をカスタマイズしました。イメージを再作成して別のインストール ベース用に使用するにはどうすればよいですか
ベース イメージから新しいイメージを作成することで、カスタム ファイルに基づいてイメージを作成できます。以下の手順に従います。
- テキスト エディタを使用して、以下の内容で Dockerfile を作成します。この例は、変更したファイルが attributes.json であることを前提としています。# Create image from a Base Image FROM caapm/dockermonitor:latest # Copy the modified file to the exact same location COPY attributes.json dockermonitor:/usr/local/openshift/APM_IA/extensions/DockerMonitor/config/attributes.json
- コンテナをビルドします。docker build -t caapm/dockermonitor:latest
コンテナ フロー マップが動作しており、エッジを生成していることを知るにはどうすればよいですか
コンテナ フロー マップが正しく動作しており、エッジを生成しているかどうかを確認するには、以下の手順に従います。
- コンテナ フロー マップの持続性メトリックを確認します。Agent Stats|Sustainability|ContainerFlow
- 詳細ログがさらに必要な場合は、次のモジュールの DEBUG ログを有効化します。log4j.logger.IntroscopeAgent.NsEnterOutputProcessor=DEBUG, console, logfile。DEBUG レベルを有効化すると、ContainerFlow 持続可能性メトリックの下にエッジ情報アイテムが作成されます。
Docker 環境には、Docker ハブからイメージをダウンロードするためのインターネット アクセスがありません。内部レジストリで Docker モニタをインストールするにはどうすればよいですか
内部レジストリを使用して Docker モニタをインストールするには、以下の手順に従います。
- 以下の内容で Dockerfile を作成し、Dockerhub へのアクセスがあるマシン上で実行します。FROM caapm/dockermonitor:latestRUN sed -i 's#docker.io/caapm/dockermonitor:latest#<internal image copy>:latest#g' install.sh
- イメージをビルドしてタグ付けします。docker build -t <internal image copy>:latest
- このイメージをレジストリにプッシュします。
- 「Docker Monitor のインストールおよび設定」の説明に従って、YML ファイルで以下のようにイメージ セクションを編集し、YML ファイルを実行します。version: "3"services:dockermonitor:image :<internal image copy>:latestenvironment:
コンテナが使用する CPU およびメモリを制限するにはどうすればよいですか
デフォルトでは、コンテナはリソースの制約がなく、ホストのカーネル スケジューラと同じ量の特定のリソースを使用できます。実行しているコンテナがアクセスできる CPU の数とメモリの量は制限できます。Docker コンテナが使用できるリソースを制御する方法の詳細については、Docker ドキュメントのこのセクションを参照してください。
以下の手順に従います。
- 以下のスニペットをファイルにコピーして貼り付け、そのファイルにinstall.shという名前を付けます。docker rm -f dockermonitor env_vars=( `printenv | grep "storage_mount_filter\|agentName\|processName\|HostMonitoring\|interval\|containerflow\|type\|introscope_.*\|agentManager_.*\|log4j_.*"` ) env_vars_as_string="" for i in "${env_vars[@]}" do env_vars_as_string+=" -e $i " done if [[ -z "${image}" ]] ; then IMAGE_NAME="caapm/dockermonitor:latest" else IMAGE_NAME="$image" fi docker run -d --cpus="1" --memory="1G" --net=host --name=dockermonitor --pid="host" --privileged=true --volume=/var/run/docker.sock:/var/run/docker.sock --volume=/:/host $env_vars_as_string ${IMAGE_NAME} while true; do sleep 100 done
- Docker ドキュメントの説明に従って、このシェル スクリプトを使用して適切な docker パラメータを提供します(上に含まれるリンクを参照してください)。たとえば、コンテナ リソースが 1 つの CPU と 1 GB のメモリを使用するように制限する場合は、以下のようにします。docker run -d--cpus="1" --memory="1G"--net=host --name=dockermonitor --pid="host" --privileged=true --volume=/var/run/docker.sock:/var/run/docker.sock --volume=/:/host $env_vars_as_string ${IMAGE_NAME}
- スクリプトを以下のように実行可能にします。~$ chmod +x install.sh
- Dockerfile を以下の内容で作成します。FROM caapm/dockermonitor:latestCOPY install.sh /usr/local/openshift/apmia/install.sh
- 同じ名前でイメージを作成し、それをレジストリにプッシュします。docker build -t caapm/dockermonitor:latest
- 既存の DockerMonitor をアンインストールし、新しい DockerMonitor をインストールします。