observability: scrape existing app metrics (audit + ceph-csi batch) #239

Merged
benvin merged 1 commits from benvin/metrics-scrapes into main 2026-07-06 23:57:54 +10:00
Owner

Why

Audit of existing helm deployments for (a) metrics collection and (b) bundled Grafana dashboards, per request. This PR enables the first, cleanest batch (ceph-csi) and documents the rest for follow-up review.

Key constraint

The cluster has no Prometheus-Operator CRDs (servicemonitors.monitoring.coreos.com absent) — only the VM-native VMServiceScrape/VMPodScrape. So flipping charts' serviceMonitor: true toggles would fail. The correct mechanism here is native VMServiceScrape CRs, which the observability VMAgent picks up (selectAllByDefault, added in #234). Bundled chart dashboards ship as ConfigMaps that grafana-operator v5 ignores (it uses CRs), so "enabling" them means adding GrafanaDashboard CRs.

This PR

  • VMServiceScrape for csi-cephfs and csi-cephrbd (their *-http-metrics services already exist).

Audit — metrics (apps already exposing a metrics service; enable via VMServiceScrape)

App Metrics service / port Note
csi-cephfs / csi-cephrbd *-http-metrics :8080 done here
cert-manager webhook :9402 metrics, cainjector :9402 http-metrics multi-port; easy follow-up
argocd argocd-*-metrics :8082/8083/8084/9001 many components
media-apps prowlarr/radarr/sonarr-metrics :9707 (exportarr) follow-up
vm-system / grafana-operator operator metrics low value

Audit — charts with metrics toggles (need endpoint enabled + VMServiceScrape)

authentik, vault, purelb, externaldns, cnpg-system (enablePodMonitor), reloader, traefik. These expose serviceMonitor/podMonitor toggles that assume Prometheus CRDs — recommend enabling the metrics endpoint + a VMServiceScrape rather than the toggle.

Audit — bundled Grafana dashboards

  • CNPG: ships a dashboard (grafana.com id 20417) — add as GrafanaDashboard (grafanaCom).
  • traefik: dashboard: true option + community dashboards — add as GrafanaDashboard.
  • Others: none bundled.

Review ask

Confirm the VMServiceScrape approach; I'll extend to the remaining apps (cert-manager/argocd/media-apps + CNPG/traefik dashboards) in follow-up batches.

## Why Audit of existing helm deployments for (a) metrics collection and (b) bundled Grafana dashboards, per request. This PR enables the first, cleanest batch (ceph-csi) and documents the rest for follow-up review. ## Key constraint The cluster has **no Prometheus-Operator CRDs** (`servicemonitors.monitoring.coreos.com` absent) — only the VM-native `VMServiceScrape`/`VMPodScrape`. So flipping charts' `serviceMonitor: true` toggles would fail. The correct mechanism here is native **VMServiceScrape** CRs, which the observability VMAgent picks up (`selectAllByDefault`, added in #234). Bundled chart dashboards ship as ConfigMaps that grafana-operator v5 ignores (it uses CRs), so "enabling" them means adding `GrafanaDashboard` CRs. ## This PR - `VMServiceScrape` for **csi-cephfs** and **csi-cephrbd** (their `*-http-metrics` services already exist). ## Audit — metrics (apps already exposing a metrics service; enable via VMServiceScrape) | App | Metrics service / port | Note | |-----|------------------------|------| | csi-cephfs / csi-cephrbd | `*-http-metrics` :8080 | **done here** | | cert-manager | webhook :9402 `metrics`, cainjector :9402 `http-metrics` | multi-port; easy follow-up | | argocd | `argocd-*-metrics` :8082/8083/8084/9001 | many components | | media-apps | `prowlarr/radarr/sonarr-metrics` :9707 (exportarr) | follow-up | | vm-system / grafana-operator | operator metrics | low value | ## Audit — charts with metrics *toggles* (need endpoint enabled + VMServiceScrape) authentik, vault, purelb, externaldns, cnpg-system (`enablePodMonitor`), reloader, traefik. These expose `serviceMonitor`/`podMonitor` toggles that assume Prometheus CRDs — recommend enabling the metrics endpoint + a VMServiceScrape rather than the toggle. ## Audit — bundled Grafana dashboards - **CNPG**: ships a dashboard (grafana.com id 20417) — add as `GrafanaDashboard` (grafanaCom). - **traefik**: `dashboard: true` option + community dashboards — add as `GrafanaDashboard`. - Others: none bundled. ## Review ask Confirm the VMServiceScrape approach; I'll extend to the remaining apps (cert-manager/argocd/media-apps + CNPG/traefik dashboards) in follow-up batches.
unkinben added 1 commit 2026-07-06 22:26:29 +10:00
observability: scrape ceph-csi metrics via VMServiceScrape
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/kubeconform Pipeline was successful
57097b8ff8
The ceph-csi cephfs/rbd charts already expose http-metrics services but
nothing scraped them. Add native VMServiceScrape CRs (the cluster has no
Prometheus-Operator CRDs, only VM-native ones) so the observability
VMAgent (selectAllByDefault) collects ceph-csi grpc/csi metrics.
benvin merged commit 9a56612ae6 into main 2026-07-06 23:57:54 +10:00
benvin deleted branch benvin/metrics-scrapes 2026-07-06 23:57:55 +10:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: unkin/argocd-apps#239