monitoring: fuera los restos de polymarket y la datasource Alertmanager

El dashboard «ChemaVX Homelab Overview» tenía 4 paneles Infinity apuntando a
api.polymarket-bot.svc.cluster.local:8000, decomisado el 2026-07-17, más dos
stat de servicios cuyos namespaces ya no existen (polymarket-bot, open-webui)
que se veían como un 0 sospechoso en vez de como ausencia. 24 -> 17 paneles, y
la rejilla de servicios reempaquetada (arrastraba huecos de borrados viejos).

La datasource Alertmanager apuntaba a un servicio inexistente (alertmanager
está desactivado a propósito) y devolvía 500. Dos sorpresas: no la apaga
alertmanager.enabled, sino grafana.sidecar.datasources.alertmanager.enabled; y
quitarla del provisioning NO la borra de grafana.db — hace falta una directiva
deleteDatasources de un solo uso. Igual para la Infinity, creada por UI.

Auditando el Deployment contra el render aparecieron dos campos puestos a mano
que el chart no genera y que sólo seguían vivos por el three-way merge de Helm,
el mismo agujero que 0501aab: GF_INSTALL_PLUGINS (ya sin uso, retirado junto al
plugin de 48 MB) y TELEGRAM_BOT_TOKEN/CHAT_ID, que sí son críticos — el contact
point usa ${TELEGRAM_BOT_TOKEN}, así que reconstruir el release desde cero
habría dejado las alertas mudas. Declarados ya en values.

Verificado: render == desplegado salvo defaults del API server; Grafana
reiniciada y arrancando sin errores, 1 datasource, 25 dashboards, 5 reglas y el
contact point de Telegram con token resuelto.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-22 08:02:48 +00:00
co-authored by Claude Opus 4.8
parent f5bcb76738
commit 28f16314d8
4 changed files with 55 additions and 642 deletions
@@ -2,7 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: '2'
deployment.kubernetes.io/revision: '16'
meta.helm.sh/release-name: kube-prometheus-stack
meta.helm.sh/release-namespace: monitoring
labels:
@@ -31,9 +31,8 @@ spec:
annotations:
checksum/config: b835787868e1c1e3616db22add4a94b4f3a7b8ccedf24d3e48c323334a2b023c
checksum/sc-dashboard-provider-config: e70bf6a851099d385178a76de9757bb0bef8299da6d8443602590e44f05fdf24
checksum/secret: bed677784356b2af7fb0d87455db21f077853059b594101a4f6532bfbd962a7f
kubectl.kubernetes.io/default-container: grafana
kubectl.kubernetes.io/restartedAt: '2026-04-09T07:16:07Z'
kubectl.kubernetes.io/restartedAt: '2026-07-22T08:00:01Z'
labels:
app.kubernetes.io/instance: kube-prometheus-stack
app.kubernetes.io/name: grafana
@@ -59,12 +58,12 @@ spec:
valueFrom:
secretKeyRef:
key: admin-user
name: kube-prometheus-stack-grafana
name: grafana-admin
- name: REQ_PASSWORD
valueFrom:
secretKeyRef:
key: admin-password
name: kube-prometheus-stack-grafana
name: grafana-admin
- name: REQ_URL
value: http://localhost:3000/api/admin/provisioning/dashboards/reload
- name: REQ_METHOD
@@ -100,12 +99,12 @@ spec:
valueFrom:
secretKeyRef:
key: admin-user
name: kube-prometheus-stack-grafana
name: grafana-admin
- name: REQ_PASSWORD
valueFrom:
secretKeyRef:
key: admin-password
name: kube-prometheus-stack-grafana
name: grafana-admin
- name: REQ_URL
value: http://localhost:3000/api/admin/provisioning/datasources/reload
- name: REQ_METHOD
@@ -136,12 +135,12 @@ spec:
valueFrom:
secretKeyRef:
key: admin-user
name: kube-prometheus-stack-grafana
name: grafana-admin
- name: GF_SECURITY_ADMIN_PASSWORD
valueFrom:
secretKeyRef:
key: admin-password
name: kube-prometheus-stack-grafana
name: grafana-admin
- name: GF_PATHS_DATA
value: /var/lib/grafana/
- name: GF_PATHS_LOGS
@@ -155,13 +154,13 @@ spec:
- name: TELEGRAM_BOT_TOKEN
valueFrom:
secretKeyRef:
name: grafana-telegram-infisical
key: TELEGRAM_BOT_TOKEN
name: grafana-telegram-infisical
- name: TELEGRAM_CHAT_ID
valueFrom:
secretKeyRef:
name: grafana-telegram-infisical
key: TELEGRAM_CHAT_ID
name: grafana-telegram-infisical
image: docker.io/grafana/grafana:12.4.2
imagePullPolicy: IfNotPresent
livenessProbe:
@@ -212,6 +211,8 @@ spec:
- mountPath: /etc/grafana/grafana.ini
name: config
subPath: grafana.ini
- mountPath: /etc/grafana/provisioning/alerting
name: grafana-alerting
- mountPath: /var/lib/grafana
name: storage
- mountPath: /var/lib/grafana-search
@@ -223,8 +224,6 @@ spec:
subPath: provider.yaml
- mountPath: /etc/grafana/provisioning/datasources
name: sc-datasources-volume
- mountPath: /etc/grafana/provisioning/alerting
name: grafana-alerting
dnsPolicy: ClusterFirst
enableServiceLinks: true
initContainers:
@@ -269,6 +268,10 @@ spec:
defaultMode: 420
name: kube-prometheus-stack-grafana
name: config
- configMap:
defaultMode: 420
name: grafana-alerting
name: grafana-alerting
- name: storage
persistentVolumeClaim:
claimName: kube-prometheus-stack-grafana
@@ -282,8 +285,3 @@ spec:
name: sc-dashboard-provider
- emptyDir: {}
name: sc-datasources-volume
- configMap:
defaultMode: 420
name: grafana-alerting
name: grafana-alerting