Docker EE 2.x/UCP 3.x モニタリングのインストールおよび設定

Docker EE 2.x/UCP 3.x を使用すると、swarm サービスを Swarm オーケストレーション エンジンに展開し、Kubernetes にポッドを展開できます。Docker Monitor を使用すると、Swarm ノード上で実行されているコンテナを監視できます。Kubernetes Monitor を使用すると、Kubernetes ノード上で実行されているポッドを監視できます。
Swarm ノードの監視
Docker Monitor を使用して swarm ノードの監視を開始するには、以下の設定手順を実行します。
Swarm ノードのインストール
まず、swarm ノードをインストールする必要があります。
以下の手順に従います。
  1. 下記の YML コンテンツを
    install.yml
    という名前のファイルにコピーします。
    version: "3.2" services: dockermonitor: image : caapm/dockermonitor:latest environment: - agentManager_url_1=[AGENTMANAGER_URL] - agentManager_[AGENTMANAGER_CREDENTIAL] - containerflow=enabled - interval=60 - type=Docker - image=caapm/dockermonitor:latest - introscope_agent_agentName=DockerMonitor pid: host command: ["bash","install.sh","--memory=512m","--cpus=0.5"] deploy: mode: global placement: constraints: [node.labels.com.docker.ucp.orchestrator.swarm == true] resources: limits: cpus: '0.5' memory: 700MB volumes: - type: bind source: /var/run/docker.sock target: /var/run/docker.sock read_only: true - type: bind source: /proc target: /host/proc read_only: true bind: propagation: rslave
  2. 以下のコマンドを実行します。
    docker stack deploy -c install.yml dockermonitor --with-registry-auth
Swarm ノードからのアンインストール
swarm ノードから Docker Monitor をアンインストールするには、まずコンテンツを YML ファイルにコピーする必要があります。
以下の手順に従います。
  1. 以下の YML コンテンツをコピーし、
    uninstall.yml
    を作成します。
    version: "3" services: dockermonitor: image : caapm/dockermonitor:latest command: ["bash","uninstall.sh"] deploy: mode: global volumes: - /var/run/docker.sock:/var/run/docker.sock - /proc:/host/proc:ro
  2. 以下のコマンドを実行して、Swarm ノードから Docker Monitor をアンインストールします。
    docker stack deploy -c uninstall.yml uninstall-apm
Kubernetes ノードの監視
Kubernetes Monitor を使用して Kubernetes ノードの監視を開始するには、以下の設定手順を実行します。
Kubernetes ノードの設定
まず、Kubernetes ノードを設定する必要があります。
以下の手順に従います。
  1. この展開をインストールするノードに以下のラベルを追加します。クラスタごとに展開を 1 つだけ使用します。
    kubectl label nodes <node-name> ca.apm.cluster.monitoring.agent=true
  2. 以下のコマンドを実行して、ノード ラベルが正しく設定されていることを確認します。
    kubectl get nodes --show-labels | grep ca.apm.cluster.monitoring.agent
  3. UCP Web サイトからクライアント バンドルをダウンロードし、バンドルを抽出します。
  4. kube.yml
    ファイルの完全パスをコピーします。UCP クライアント バンドルからフル パスを
    install.yml
    ファイルにコピーして追加し、ファイルを保存します。
  5. このパスは、ノード セレクタ マシン上の
    kube.yml
    ファイルを指している必要があります。
オプションの設定については、「Monitor Docker EE 2.x および UCP 3.x の監視」を参照してください。
Kubernetes ノードへのインストール
設定手順が完了したら、インストール手順に進みます。以下の手順に従います。
  1. 下記の YML コンテンツを
    install.yml
    という名前のファイルにコピーします。
    apiVersion: extensions/v1beta1 kind: DaemonSet metadata: name: caagent labels: tier: monitoring app: caagent version: v1 spec: template: metadata: labels: app: caagent spec: hostPID: true hostIPC: true hostNetwork: true containers: - resources: securityContext: privileged: true env: - name: containerflow value: enabled - name: agentManager_url_1 value: [AGENTMANAGER_URL] - name: agentManager_credential value: AGENTMANAGER_CREDENTIAL - name: type value: Kubernetes - name: interval value: "60" - name: KUEBRNETES_NODE_MONITORING value: "true" - name: introscope_agent_agentName value: KubernetesNodeMonitor name: podmonitor image: caapm/kubernetesmonitor:latest imagePullPolicy: Always volumeMounts: - name: dockersock mountPath: /var/run/docker.sock readOnly: true - name: proc mountPath: /host/proc readOnly: true volumes: - name: dockersock hostPath: path: /var/run/docker.sock - name: proc hostPath: path: /proc --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: caagent-deployment labels: tier: monitoring app: caagent_monitoring version: v1 spec: template: metadata: labels: app: caagent_v2 spec: nodeSelector: ca.apm.cluster.monitoring.agent: "true" containers: - resources: securityContext: privileged: true env: - name: agentManager_url_1 value: [AGENTMANAGER_URL] - name: agentManager_credential value: [AGENTMANAGER_CREDENTIAL] - name: APMENV_MONITORING_TYPE value: Kubernetes - name: HostMonitoring value: disabled - name: KUEBRNETES_CLUSTER_MONITORING value: "true" - name: introscope_agent_hostName value: "[INTRSCOPE_AGENT_HOSTNAME]" - name: APMENV_AGENTNAME value: "Kubernetes Cluster Monitor" - name: SHOW_METRICS_LEVEL value: full name: kubemetainfo image: caapm/kubernetesmonitor:latest imagePullPolicy: Always volumeMounts: - name: kubeconfig mountPath: /root/.kube/config volumes: - name: kubeconfig hostPath: path: [~replace/with/path/to/kube.yml]
  2. 以下のコマンドを実行します。
    kubectl create -f install.yml
Kubernetes Monitor のアンインストール
Kubernetes ノードから Kubernetes Monitor をアンインストールするには、以下のコマンドを実行します。
kubectl delete -f install.yml
混在ノード
混在ノードは、Swarm サービスと Kubernetes ポッドの両方を提供します。混在ノード上で実行されている Swarm コンテナを監視するには、Swarm ノード インストール手順を使用して Docker Monitor を展開します。混在ノード上で実行されているポッドを監視するには、Kubernetes インストール手順を使用して Kubernetes Monitor を展開します。Swarm と Kubernetes の両方のモニタの一部であるホスト モニタのインストールは、重複しないようにする必要があります。
Docker Monitor の YML ファイルでは、以下の環境変数
HostMonitoring=disabled
を使用します。
environment: - HostMonitoring=disabled