470c69881c
chore(gpu-01): retire les serveurs llama CPU system/monitor/dev (inutilisés) ( #31 )
...
Trois instances llama-server CPU manuelles (hors Ansible) tournaient sur gpu-01
sans servir : déjà orphelines de LiteLLM (alias absents de config.yaml, d'où le
bruit "Invalid model name"). Suppression complète :
gpu-01 (opérationnel, déjà fait) :
- systemctl disable --now + rm des units llama-server-{system,monitor,dev}
- ports firewall 1235/1236/1237 fermés
Repo :
- monitoring : scrape jobs (values.yaml) + alertes LlamaServer{System,Monitor}Down
(alerts-ai.yaml) retirés → plus de "target down"/alertes fantômes ; panneaux de
statut dashboard-infrastructure recyclés (system→llama-embed, monitor supprimé).
- docs admin/ + hermes-skills (souls funk-ai/brain, SKILL agent-delegation) mises à
jour : inventaire modèles, profils Hermès system/monitor sans backend (à repointer
sur qwen3-8b), litellm, ops, monitoring.
Les profils Hermès system/monitor existent toujours mais sans backend dédié.
Dashboards Grafana dashboard-ai (panneaux graphiques CPU) laissés tels quels
(cosmétique, séries vides, aucune alerte).
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 13:25:50 +02:00
alkatrazz
91e648f55e
feat(monitoring): métriques conso électrique CPU+GPU (RAPL + ROCm power)
...
- node_exporter : activer --collector.rapl (CPU power package, storage-01 + gpu-01 + nœuds k8s)
- rocm_scraper : ajouter rocm_gpu_power_watts + rocm_gpu_power_cap_watts via sysfs hwmon
- gpu-01 : activer rocm_exporter_enabled
- kube-prometheus-stack : propager --collector.rapl aux DaemonSet Talos via prometheus-node-exporter.extraArgs
Déployé sur storage-01 et gpu-01. ArgoCD prend en charge les nœuds Talos.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 22:54:51 +02:00
alkatrazz
0df9ccf812
feat(alertmanager): ajouter webhook n8n pour résumés alertes par email
...
AlertManager envoie maintenant les alertes à deux receivers :
- hermes-monitor (webhook Hermes existant)
- n8n webhook → LLM summary → Gmail
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 17:28:50 +02:00
alkatrazz
d39b083342
fix(grafana): corriger envFromSecrets (était envFromSecretRef)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 15:31:35 +02:00
alkatrazz
92ea6c60a5
fix(grafana): migrer SQLite→PostgreSQL — DDL NFS trop lent au boot
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 15:26:39 +02:00
alkatrazz
2bd7b2c602
fix(grafana): désactiver initChownData — perms déjà 472:472 + NFS writes bloquées sur compute-03
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 14:30:24 +02:00
alkatrazz
d552abd2ef
fix(monitoring): Grafana memory limit 512Mi → 1Gi
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 23:55:33 +02:00
alkatrazz
273d4b2a23
fix(monitoring): augmenter limite mémoire Grafana 256Mi → 512Mi
...
Grafana 13 était OOMKilled régulièrement (exit code 137, 5 restarts
observés) avec la limite à 256Mi — cause des "no available server"
Traefik pendant les redémarrages.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 23:15:37 +02:00
alkatrazz
83c10feae7
fix: monitoring — collecte métriques externes (nftables, llama --metrics, ROCm via 9100)
...
- nftables storage-01 : ports 9100 (node_exporter) + 9093 (webhook) ouverts pour 192.168.10.0/24
- llama-server : ajout --metrics pour exposer /metrics sur les 3 instances
- values.yaml : suppression job gpu-01-rocm:9101 inexistant (ROCm passe par node_exporter 9100 textfile_collector)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 22:41:19 +02:00
alkatrazz
e0d233da02
fix: alertmanager — receiver null manquant (Watchdog heartbeat)
...
Le chart kube-prometheus-stack génère une sous-route pour l'alerte
Watchdog qui référence le receiver "null". Notre config le remplaçait
sans le définir → ReconciliationFailed, StatefulSet jamais créé.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 22:29:19 +02:00
alkatrazz
d23d464372
fix: monitoring — Ingress Prometheus/AlertManager, paths + pathType requis
...
Le chart kube-prometheus-stack nécessite paths:[/] et pathType:Prefix
contrairement au sous-chart Grafana qui a des defaults.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 22:27:01 +02:00
alkatrazz
7fa790c8d3
feat: monitoring — Ingress Prometheus et AlertManager (traefik, lab.local)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 22:23:31 +02:00
alkatrazz
655ca4dc8c
feat: NFS provisioner + persistance Prometheus et Grafana
...
- k8s/infra/nfs-provisioner/ : nfs-subdir-external-provisioner v4.0.18
StorageClass "nfs" (default), ReclaimPolicy=Retain, server=192.168.10.1
path=/srv/data/nfs/k8s (export RAID5 déjà existant)
- k8s/apps-of-apps/apps/nfs-provisioner.yaml : Application ArgoCD
- monitoring/values.yaml : persistance activée
Prometheus: 20Gi sur nfs, Grafana: 2Gi sur nfs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 21:22:05 +02:00
alkatrazz
857351bcf9
fix: monitoring — supprimer storageSpec (emptyDir implicite)
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 20:39:55 +02:00
alkatrazz
36ca8f0179
fix: monitoring — emptyDir pour Prometheus (pas de StorageClass)
...
Longhorn à installer ensuite pour la persistance.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 20:37:33 +02:00
alkatrazz
d7b33bb34a
feat: bootstrap ArgoCD + structure GitOps k8s
...
- k8s/argocd-bootstrap/values.yaml : ArgoCD Helm values (ingress Traefik,
resources limités, dex désactivé)
- k8s/apps-of-apps/ : root Application + monitoring Application
- k8s/infra/monitoring/ : kube-prometheus-stack v85.0.2 (Grafana, Prometheus,
AlertManager, node-exporter daemonset)
- Scrape additionnels : storage-01:9100, gpu-01:9100 (node), :9101 (ROCm),
llama-server :1234/:1236/:1237
- AlertManager webhook → http://192.168.10.1:9093/webhook (Hermes monitor)
- Ressources dimensionnées pour compute 8GB
- kubeEtcd/Scheduler/ControllerManager/Proxy désactivés (Talos)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-13 20:26:49 +02:00