Monitoring cez Prometheus a Grafana
Cluster monitoring stack a ako naň napojiť vlastné metriky.
OpenShift dodáva Prometheus stack out-of-the-box v namespace `openshift-monitoring`. Zbiera metriky z API serveru, etcd, kubelet, node-exporter, cluster operátorov a routera. Ako admin máš okamžite pohľad na zdravie klastra bez ďalšej inštalácie.
Pre user workloady musíš explicitne zapnúť User Workload Monitoring. Vytvor ConfigMap `cluster-monitoring-config` v `openshift-monitoring` s `enableUserWorkload: true` – OpenShift spustí druhú Prometheus inštanciu v `openshift-user-workload-monitoring`, ktorá skenuje ServiceMonitor a PodMonitor CR v ostatných namespaces.
ServiceMonitor je štandardný prometheus-operator CR. Definuje label selector nad Service a endpoint (path, port, interval). Tvoja aplikácia vystaví `/metrics` v Prometheus texte a servicemonitor to scrapne. Alerty riešiš cez PrometheusRule CR – ten prijme YAML s `alert:`, `expr:`, `for:` a `labels:`.
Grafana v OpenShift 4.11+ nie je supportovaná ako súčasť stacku (bola nahradená konzolou s vloženými dashboardami). Ak chceš klasickú Grafanu, nasaď community Grafana operator alebo Helm chart do vlastného namespace a napoj ho ako Prometheus datasource cez `https://thanos-querier.openshift-monitoring.svc:9091` s bearer tokenom service accountu.
Retention a storage sú produkčný problém. Default je 15 dní na 40Gi PVC – dojde ti to za pár týždňov, ak scrape-uješ veľa cieľov. Buď zväčši PVC v `cluster-monitoring-config`, alebo napoj Thanos/Cortex pre long-term storage do S3. Pre alerting mimo konzoly siahni po Alertmanageri – konfiguračný Secret `alertmanager-main` obsahuje routes do PagerDuty, Slacku či emailu.