3.6.4.2. DevWorkspace Operator のモニタリング
DevWorkspace Operator が公開するメトリクスを処理するために、モニターリングスタックの例を設定できます。
3.6.4.2.1. Prometheus による DevWorkspace Operator メトリクスの収集
Prometheus を使用して、DevWorkspace Operator に関するメトリクスを収集、保存、および照会するには、以下を実行します。
前提条件
-
devworkspace-controller-metricsService は、ポート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-readerPrometheus は、
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にあるターゲットエンドポイントを表示して、すべてのターゲットが稼働していることを確認します。