🐙
Grafana上にCert Managerを管理するDashboardを追加する
記事の内容
Grafana上にCert Managerのメトリクスを管理するDashboardを作成します。
記事の長さ
1分で読めます
GrafanaとPrometheus
GrafanaとPrometheusはすでにInstallされている前提で進めます。
それらのセットアップに関しては以下の記事で解説しています。
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に登録されている証拠です。
登録されない場合
登録されていない場合、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で配信しています。
Discussion