Ingress-nginx Grafana 모니터링 대시보드

DevOps Engineer·2023년 10월 25일
0

Grafana 관련

목록 보기
2/3

현재상황
kube-Prometheus-stack을 설치한 후 ingress-nginx를 yaml형태로 설치할 경우 모니터링이 잡혔었는데 helm으로 설치할 경우 조회가 되지않았음

그에 대해 알아보니 공식문서에서는 values.yaml에 더 적어야 메트릭이 잡혔음

https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/monitoring.md#configure-prometheus

Since Prometheus is running in a different namespace and not in the ingress-nginx namespace, it would not be able to discover ServiceMonitors in other namespaces when installed. Reconfigure your kube-prometheus-stack Helm installation to set serviceMonitorSelectorNilUsesHelmValues flag to false. By default, Prometheus only discovers PodMonitors within its own namespace. This should be disabled by setting podMonitorSelectorNilUsesHelmValues to false

기존 yaml에서

prometheus.prometheusSpec.podMonitorSelectorNilUsesHelmValues: false
prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues: false

Ingress-nginx helm으로 설치할 때 옵션

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update

helm install ingress-nginx ingress-nginx/ingress-nginx --set controller.metrics.enabled=true \
--set controller.metrics.serviceMonitor.enabled=true \
--set controller.metrics.serviceMonitor.additionalLables.release="prometheus" \
--set-string controller.podAnnotations."prometheus\.io/scrape"="true" \
--set-string controller.podAnnotations."prometheus\.io/port"="10254" \
-n ingress-nginx

servicemonitor생성 시 APIextention에서 인식이 가능하도록 대소문자 구분이 확실해야하고
프로메테우스에서 다른 namespace의 서비스모니터를 조회가 되려면 위와 같이 옵션을 줘야함

profile
madame의 Techblog

0개의 댓글