🐙

Grafana上にCert Managerを管理するDashboardを追加する

2024/01/17に公開

記事の内容

Grafana上にCert Managerのメトリクスを管理するDashboardを作成します。

記事の長さ

1分で読めます

GrafanaとPrometheus

GrafanaとPrometheusはすでにInstallされている前提で進めます。

それらのセットアップに関しては以下の記事で解説しています。

https://zenn.dev/ring_belle/articles/prometheus-grafana-metrics

cert managerをinstallする

まずはCertManagerをKubernetesクラスターにinstallします。

$ helm repo add jetstack https://charts.jetstack.io
$ helm repo update
$ kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.6.3/cert-manager.crds.yaml
$ helm install \
  cert-manager jetstack/cert-manager \
  --namespace cert-manager \
  --create-namespace \
  --version v1.6.3 \
  --set prometheus.enabled=true \
  --set prometheus.servicemonitor.enabled=true

上記コマンドでCert ManagerがInstallされます。
※helmのinstall時にprometheusのオプションを渡すことでPrometheus形式のメトリクスを取得できるようにしています。

ServiceMonitorを確認する

HelmのInstallが完了したら、ServiceMonitorが正常にPrometheusにTargetとして登録されているかを確認します。

$ kubectl port-forward svc/prometheus 9090
$ open http://localhost:9090/targets

上記コマンドにて開いたぺーじにCertManagerのTargetが作成されていた場合、正常にPrometheusに登録されている証拠です。

CertManager

登録されない場合

登録されていない場合、PrometheusのServiceMonitorの検知に関する設定が間違っている可能性があります。今回、CertManagerはcert-managerというnamespaceに登録されたため、そのnamespaceが正しく登録されているか確認してください。

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: prometheus
  labels:
    app: prometheus
spec:
  image: quay.io/prometheus/prometheus:v2.22.1
...
  serviceMonitorSelector: {}
  serviceMonitorNamespaceSelector:
    matchExpressions:
      - key: kubernetes.io/metadata.name
        operator: In
        values:   
          - cert-manager
          - default

Grafana上でDashboardを表示する

正常にPrometheusでMetricsを取得できることを確認できましたので、最後にGrafana DashboardでMetricsを可視化します。

WIP

note

勉強法やキャリア構築法など、エンジニアに役立つ記事をnoteで配信しています。

https://note.com/ring_belle/membership

Discussion