13.3. 仮想マシンのカスタムメトリクスの公開
Prometheus 監視システムに基づいた OpenShift Dedicated モニタリングスタックを使用して、コアプラットフォームコンポーネントを監視します。さらに、CLI を使用してユーザー定義プロジェクトの監視を有効にし、node-exporter サービスを介して仮想マシン用に公開されているカスタムメトリクスをクエリーします。
13.3.1. ノードエクスポーターサービスの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
node-exporter エージェントは、メトリクスを収集するクラスター内のすべての仮想マシンにデプロイされます。node-exporter エージェントをサービスとして設定し、仮想マシンに関連付けられた内部メトリクスおよびプロセスを公開します。
前提条件
-
OpenShift CLI (
oc) がインストールされている。 -
cluster-admin権限を持つユーザーとしてクラスターにログインしている。 -
cluster-monitoring-configConfigMapオブジェクトをopenshift-monitoringプロジェクトに作成する。 -
enableUserWorkloadをtrueに設定して、user-workload-monitoring-configConfigMapオブジェクトをopenshift-user-workload-monitoringプロジェクトに設定する。
手順
ServiceYAML ファイルを作成します。以下の例では、このファイルはnode-exporter-service.yamlという名前です。kind: Service apiVersion: v1 metadata: name: node-exporter-service namespace: dynamation labels: servicetype: metrics spec: ports: - name: exmet protocol: TCP port: 9100 targetPort: 9100 type: ClusterIP selector: monitor: metrics-
metadata.nameは、仮想マシンからのメトリクスを公開するノードエクスポートサービスを定義します。 -
metadata.namespaceは、サービスが作成される namespace を定義します。 -
metadata.labels.servicetypeは、サービスのラベルを定義します。ServiceMonitorはこのラベルを使用してこのサービスを照会します。 -
spec.ports.nameは、ClusterIPサービスでポート 9100 上のメトリクスを公開するポートに付けられる名前を定義します。 -
spec.ports.portは、node-exporter-serviceがリクエストをリッスンするために使用するターゲットポートを定義します。 -
spec.ports.targetPortは、monitorラベルが設定されている仮想マシンの TCP ポート番号を定義します。 -
spec.selector.monitorは、仮想マシンの Pod を照合するために使用されるラベルを定義します。この例では、ラベルmonitorのある仮想マシンの Pod と、metricsの値がマッチします。
-
node-exporter サービスを作成します。
$ oc create -f node-exporter-service.yaml