infra/ansible/roles/grafana
Graham McIntire 8466e4590f
tmobile-exporter: switch to stock json_exporter + nginx sidecar
Replaces the vendored Go exporter with two pre-built upstream images:
- quay.io/prometheuscommunity/json-exporter:v0.7.0 maps the gateway JSON
  into prometheus metrics via JSONPath. The G4AR keys signal blocks as
  "5g" / "4g" (digit-prefixed), which the k8s client-go JSONPath dialect
  only reaches via bracket-with-single-quote notation.
- nginxinc/nginx-unprivileged:1.27-alpine-slim sidecar rewrites
  GET /metrics → GET /probe?module=tmhi&target=http://192.168.12.1/...
  so the existing kubernetes-services scrape job picks it up over the
  apiserver proxy with no Prometheus-side config changes.

Avoiding caddy here: its binary carries cap_net_bind_service file caps,
which the kernel refuses to exec under no_new_privs as a non-root user.

Dashboard "Gateway up" panel now reads up{service="tmobile-exporter"}
(Prometheus's built-in scrape-success gauge) since json_exporter's
/probe endpoint does not emit probe_success.
2026-05-10 17:57:13 -05:00
..
defaults ansible: fix two latent bugs surfaced by repo audit 2026-05-08 11:09:14 -05:00
files/dashboards tmobile-exporter: switch to stock json_exporter + nginx sidecar 2026-05-10 17:57:13 -05:00
handlers prom: add prometheus stack (prometheus, alertmanager, grafana, node_exporter) 2026-05-08 09:50:31 -05:00
tasks prom: feed home-cluster metrics + provision standard k8s dashboards 2026-05-08 10:08:32 -05:00
templates ansible: fix two latent bugs surfaced by repo audit 2026-05-08 11:09:14 -05:00