第6章 Dev Workspace 演算子の監視
この章では、Dev Workspace 演算子が公開するメトリクスを処理するために、モニターリングスタックの例を設定する方法を説明します。この章の指示に従うには、Dev Workspace 演算子を有効にする必要があります。https://access.redhat.com/documentation/ja-jp/red_hat_codeready_workspaces/2.15/html-single/installation_guide/index#enabling-dev-workspace-operator.adoc を参照してください。
6.1. Prometheus による Dev Workspace 演算子メトリクスの収集 リンクのコピーリンクがクリップボードにコピーされました!
このセクションでは、Prometheus を使用して、Dev Workspace 演算子に関するメトリクスを収集、保存、および照会する方法について説明します。
前提条件
-
devworkspace-controller-metricsサービス は、ポート8443でメトリクスを公開しています。 -
devworkspace-webhookserverサービスは、ポート9443でメトリクスを公開しています。デフォルトでは、このサービスはポート9443でメトリクスを公開します。 -
Prometheus 2.26.0 以降が動作しています。Prometheus コンソールは、対応する service と route のあるポート
9090で実行されています。Prometheus を初めて実行するための手順 について参照してください。
手順
ClusterRoleBindingを作成して、Prometheus に関連するServiceAccountを devworkspace-controller-metrics-readerClusterRoleにバインドします。ClusterRoleBindingがないと、Dev Workspace のメトリクスはロールベースアクセスコントロール (RBAC) で保護されているため、アクセスできません。例6.1 ClusterRole の例
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: devworkspace-controller-metrics-reader rules: - nonResourceURLs: - /metrics verbs: - get例6.2 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ポートからメトリクスを収集するように設定します。例6.3 Prometheus 設定の例
apiVersion: v1 kind: ConfigMap metadata: name: prometheus-config data: prometheus.yml: |- global: scrape_interval: 5s1 evaluation_interval: 5s2 scrape_configs:3 - job_name: 'DevWorkspace' 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' 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 コンソールを使用して、ターゲットとメトリックスを表示します。
詳細は、Using the expression browser を参照してください。