Cum creezi un ServiceMonitor în Microk8s: Tutorial de observabilitate

  • 1 minute de citit
  • 5 exemple de cod

Disponibil și în English

Salut,

În acest tutorial rapid vom explora cum să creezi un ServiceMonitor în microk8s când ai activat addon-ul observability.

Când activezi addon-ul observability cu:

microk8s enable observability

Se va crea namespace-ul obserability și se va instala Kubernetes Prometheus Stack.

 k get pods -n observabilityNAME                                                     READY   STATUS    RESTARTS      AGEkube-prom-stack-prometheus-node-exporter-htzw9           1/1    tempo-0                                                  2/2     Running   4 (16h ago)   27halertmanager-kube-prom-stack-kube-prome-alertmanager-0   2/2  kube-prom-stack-kube-prome-operator-cbf896985-fb5fc      1/1     kube-prom-stack-kube-state-metrics-57c8c84df6-hflgj      1/1   kube-prom-stack-grafana-74d8979894-sjv77                 3/3     prometheus-kube-prom-stack-kube-prome-prometheus-0       2/2    loki-0                                                   1/1   loki-promtail-sg8bv                                      1/1     Running   

Vei primi un Grafana configurat cu o sursă de date Prometheus și alte surse de date.

Pentru a monitoriza un serviciu personalizat, să zicem un exportator de metrici Prometheus pentru Apache Kafka, va trebui să creezi un ServiceMonitor. Pentru ca ServiceMonitor-ul să fie descoperit, va trebui să-i adaugi câteva etichete.

Ca să afli etichetele pe care trebuie să le adaugi, descrie operatorul Prometheus:

k describe prometheus/kube-prom-stack-kube-prome-prometheus -n observability
[...]  Pod Monitor Namespace Selector:  Pod Monitor Selector:    Match Labels:      Release:  kube-prom-stack  Service Account Name:  kube-prom-stack-kube-prome-prometheus  Service Monitor Namespace Selector:  Service Monitor Selector:    Match Labels:      Release:  kube-prom-stack

Apoi creează ServiceMonitor-ul cu etichetele corespunzătoare: kube-prom-stack.

apiVersion: monitoring.coreos.com/v1kind: ServiceMonitormetadata:  name: prometheus-exporter-kafka-monitor  labels:    team: observability    release: kube-prom-stackspec:  selector:    matchLabels:      app: prometheus-kafka-exporter      app.kubernetes.io/managed-by: Helm      chart: prometheus-kafka-exporter-1.8.0      heritage: Helm      release: prometheus-exporter  endpoints:  - port: exporter-port

Mulțumesc că ai citit!