3.6.4.2. DevWorkspace Operator のモニタリング
DevWorkspace Operator が公開するメトリクスを処理するために、モニターリングスタックの例を設定できます。
3.6.4.2.1. Prometheus による DevWorkspace Operator メトリクスの収集
Prometheus を使用して、DevWorkspace Operator に関するメトリクスを収集、保存、および照会するには、以下を実行します。
前提条件
-
devworkspace-controller-metrics
Service は、ポート8443
でメトリクスを公開している。 -
devworkspace-webhookserver
サービスは、ポート9443
でメトリクスを公開している。デフォルトでは、このサービスはポート9443
でメトリクスを公開します。 -
Prometheus 2.26.0 以降が動作している。Prometheus コンソールは、対応する
service
とroute
のあるポート9090
で実行されています。Prometheus を初めて実行するための手順について参照してください。
手順
ClusterRoleBinding
を作成して、Prometheus に関連するServiceAccount
を devworkspace-controller-metrics-readerClusterRole
にバインドします。注記DevWorkspace メトリクスへのアクセスはロールベースアクセスコントロール (RBAC) で保護されているため、
ClusterRoleBinding
がないとアクセスできません。例3.31 ClusterRole
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: devworkspace-controller-metrics-reader rules: - nonResourceURLs: - /metrics verbs: - get
例3.32 clusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: devworkspace-controller-metrics-binding subjects: - kind: ServiceAccount name: <ServiceAccount_name_associated_with_the_Prometheus_Pod> namespace: <Prometheus_namespace> roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: devworkspace-controller-metrics-reader
Prometheus は、
devworkspace-controller-metrics
サービスが公開するポート8443
と、devworkspace-webhookserver
サービスが公開するポート9443
からメトリクスを収集するように設定します。例3.33 Prometheus の設定
apiVersion: v1 kind: ConfigMap metadata: name: prometheus-config data: prometheus.yml: |- global: scrape_interval: 5s 1 evaluation_interval: 5s 2 scrape_configs: 3 - job_name: 'DevWorkspace' scheme: https authorization: type: Bearer credentials_file: '/var/run/secrets/kubernetes.io/serviceaccount/token' tls_config: insecure_skip_verify: true static_configs: - targets: ['devworkspace-controller-metrics:8443'] 4 - job_name: 'DevWorkspace webhooks' scheme: https authorization: type: Bearer credentials_file: '/var/run/secrets/kubernetes.io/serviceaccount/token' tls_config: insecure_skip_verify: true static_configs: - targets: ['devworkspace-webhookserver:9443'] 5
検証手順
Prometheus コンソールを使用して、メトリクスを表示および照会します。
-
http://<prometheus_url>/metrics
でメトリクスを表示します。 http://<prometheus_url>/graph
からメトリクスを照会します。詳細は、Using the expression browser を参照してください。
-
-
http://<prometheus-url>/targets
にあるターゲットエンドポイントを表示して、すべてのターゲットが稼働していることを確認します。