Docker Monitor のトラブルシューティングおよび FAQ

apmsaas
このセクションには、Docker モニタリングに関する重要なトラブルシューティング情報、およびよくある質問が含まれています。
Docker Monitor のトラブルシューティング
問題をトラブルシューティングするには、以下のリソースを使用します。
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
エージェント ログ レベルを変更するにはどうすればよいですか
ログ レベルを変更するには、以下の手順に従います。
  1. dockermonitor
    コンテナにログインします。
    docker exec -it dockermonitor bash
  2. ./core/config/IntroscopeAgent.profile
    を開きます。
  3. エージェントのドキュメントの説明に従ってログ レベルを変更します。
コンテナを再起動する必要はありません。
カスタム コンテナ ラベルを属性として発行するにはどうすればよいですか
カスタム コンテナ ラベルを属性として発行するには、以下の手順に従います。
  1. Docker から現在の
    attributes.json
    を取得します。
    docker cp dockermonitor:/usr/local/openshift/APM_IA/extensions/DockerMonitor/config/attributes.json
  2. Docker カスタム属性の設定」で説明しているとおりに
    attributes.json
    に変更を加えます。
  3. 変更したファイルをコンテナにコピーします。
    docker cp attributes.json dockermonitor:/usr/local/openshift/APM_IA/extensions/DockerMonitor/config/attributes.json
  4. Docker Monitor を再起動します。
    docker restart dockermonitor
エージェント構成をカスタマイズしました。イメージを再作成して別のインストール ベース用に使用するにはどうすればよいですか
ベース イメージから新しいイメージを作成することで、カスタム ファイルに基づいてイメージを作成できます。以下の手順に従います。
  1. テキスト エディタを使用して、以下の内容で 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
  2. コンテナをビルドします。
    docker build -t caapm/dockermonitor:latest
コンテナ フロー マップが動作しており、エッジを生成していることを知るにはどうすればよいですか
コンテナ フロー マップが正しく動作しており、エッジを生成しているかどうかを確認するには、以下の手順に従います。
  1. Agent Stats|Sustainability|ContainerFlow
  2. 詳細ログがさらに必要な場合は、次のモジュールの DEBUG ログを有効化します。
    log4j.logger.IntroscopeAgent.NsEnterOutputProcessor=DEBUG, console, logfile
    。DEBUG レベルを有効化すると、ContainerFlow 持続可能性メトリックの下にエッジ情報アイテムが作成されます。
Docker 環境には、Docker ハブからイメージをダウンロードするためのインターネット アクセスがありません。内部レジストリで Docker モニタをインストールするにはどうすればよいですか
内部レジストリを使用して Docker モニタをインストールするには、以下の手順に従います。
  1. 以下の内容で Dockerfile を作成し、Dockerhub へのアクセスがあるマシン上で実行します。
    FROM caapm/dockermonitor:latest
    RUN sed -i 's#docker.io/caapm/dockermonitor:latest#<internal image copy>:latest#g' install.sh
  2. イメージをビルドしてタグ付けします。
    docker build -t <internal image copy>:latest
  3. このイメージをレジストリにプッシュします。
  4. Docker Monitor のインストールおよび設定」の説明に従って、YML ファイルで以下のようにイメージ セクションを編集し、YML ファイルを実行します。
    version: "3"
    services:
    dockermonitor:
    image :<internal image copy>:latest
    environment:
コンテナが使用する CPU およびメモリを制限するにはどうすればよいですか
デフォルトでは、コンテナはリソースの制約がなく、ホストのカーネル スケジューラと同じ量の特定のリソースを使用できます。実行しているコンテナがアクセスできる CPU の数とメモリの量は制限できます。Docker コンテナが使用できるリソースを制御する方法の詳細については、Docker ドキュメントのこのセクションを参照してください。
以下の手順に従います。
  1. 以下のスニペットをファイルにコピーして貼り付け、そのファイルに
    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
  2. 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}
  3. スクリプトを以下のように実行可能にします。
    ~$ chmod +x install.sh
  4. Dockerfile を以下の内容で作成します。
    FROM caapm/dockermonitor:latest
    COPY install.sh /usr/local/openshift/apmia/install.sh
  5. 同じ名前でイメージを作成し、それをレジストリにプッシュします。
    docker build -t caapm/dockermonitor:latest
  6. 既存の DockerMonitor をアンインストールし、新しい DockerMonitor をインストールします。