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 ノードをインストールする必要があります。
以下の手順に従います。
- 下記の 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
- 以下のコマンドを実行します。docker stack deploy -c install.yml dockermonitor --with-registry-auth
Swarm ノードからのアンインストール
swarm ノードから Docker Monitor をアンインストールするには、まずコンテンツを YML ファイルにコピーする必要があります。
以下の手順に従います。
- 以下の 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
- 以下のコマンドを実行して、Swarm ノードから Docker Monitor をアンインストールします。docker stack deploy -c uninstall.yml uninstall-apm
Kubernetes ノードの監視
Kubernetes Monitor を使用して Kubernetes ノードの監視を開始するには、以下の設定手順を実行します。
Kubernetes ノードの設定
まず、Kubernetes ノードを設定する必要があります。
以下の手順に従います。
- この展開をインストールするノードに以下のラベルを追加します。クラスタごとに展開を 1 つだけ使用します。kubectl label nodes <node-name> ca.apm.cluster.monitoring.agent=true
- 以下のコマンドを実行して、ノード ラベルが正しく設定されていることを確認します。kubectl get nodes --show-labels | grep ca.apm.cluster.monitoring.agent
- UCP Web サイトからクライアント バンドルをダウンロードし、バンドルを抽出します。
- kube.ymlファイルの完全パスをコピーします。UCP クライアント バンドルからフル パスをinstall.ymlファイルにコピーして追加し、ファイルを保存します。
- このパスは、ノード セレクタ マシン上のkube.ymlファイルを指している必要があります。
Kubernetes ノードへのインストール
設定手順が完了したら、インストール手順に進みます。以下の手順に従います。
- 下記の 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]
- 以下のコマンドを実行します。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