mirror of
https://github.com/Alkatrazz24/Funk-lab.git
synced 2026-07-10 20:54:42 +02:00
docs: réorganisation complète de admin/ en 4 domaines thématiques
Structure avant : 20 fichiers à plat dans admin/ — difficile à naviguer.
Structure après : 4 sous-répertoires thématiques + index clair.
Réorganisation :
admin/ops/ → cluster.md, ansible.md, systeme.md
admin/infra/ → reseau.md, nfs.md, dnsmasq.md, ssh.md
admin/k8s/ → talos.md, argocd.md, monitoring.md
admin/ia/ → llama_server.md, rocm.md, litellm.md, hermes.md
Suppressions :
- ask-agent.md : contenu fusionné dans ia/hermes.md (section ask-agent)
- lm_studio.md : obsolète (LM Studio remplacé par llama-server)
Mises à jour contenu :
- ia/hermes.md : fusion complète avec ask-agent.md (profils, skills,
SOUL.md, ask-agent CLI, dépannage) — doc unifiée sans redondance
- ops/cluster.md : section GitOps réduite à 2 lignes + lien argocd.md
- incidents.md : tableau de résumé en tête + 4 nouveaux incidents
(Grafana OOMKilled, AlertManager null receiver, llama-server 501,
nftables règle après drop)
- README.md : réécrit — navigation rapide + index par domaine
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
d552abd2ef
commit
5bcf95b82e
19 changed files with 633 additions and 677 deletions
|
|
@ -1,5 +1,145 @@
|
|||
# Incidents — Historique et résolutions
|
||||
|
||||
## Index
|
||||
|
||||
| Date | Composant | Résumé | Sévérité |
|
||||
|---|---|---|---|
|
||||
| 2026-05-14 | Grafana | OOMKilled — limite 256Mi trop serrée pour Grafana 13 | Warning |
|
||||
| 2026-05-13 | AlertManager | Receiver "null" non défini — ReconciliationFailed | Warning |
|
||||
| 2026-05-13 | llama-server | `/metrics` retourne 501 Not Implemented — flag `--metrics` absent | Warning |
|
||||
| 2026-05-13 | nftables storage-01 | Règle monitoring ajoutée après le drop — paquets bloqués | Warning |
|
||||
| 2026-05-13 | storage-01 | Corruption EXT4 + réinstallation hermes-agent | Critique |
|
||||
| 2026-05-11 | storage-01 | Boucle fsck après coupure de courant — XFS corrompu | Critique |
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-14 — Grafana : OOMKilled (limite mémoire trop serrée)
|
||||
|
||||
### Symptôme
|
||||
|
||||
Erreurs "No available server" intermittentes sur `grafana.lab.local`. Pod en CrashLoop.
|
||||
|
||||
```bash
|
||||
kubectl describe pod -n monitoring -l app.kubernetes.io/name=grafana
|
||||
# → Last State: Terminated, Reason: OOMKilled, Exit Code: 137
|
||||
# → RESTARTS: 5
|
||||
```
|
||||
|
||||
### Cause
|
||||
|
||||
Limite mémoire à 256Mi dans `k8s/infra/monitoring/values.yaml`. Grafana 13 consomme plus que ses prédécesseurs — OOM systématique. Traefik perd le backend pendant chaque redémarrage.
|
||||
|
||||
### Résolution
|
||||
|
||||
Augmenter les limites dans `k8s/infra/monitoring/values.yaml` :
|
||||
|
||||
```yaml
|
||||
grafana:
|
||||
resources:
|
||||
requests:
|
||||
memory: 256Mi
|
||||
limits:
|
||||
memory: 1Gi # était 256Mi
|
||||
```
|
||||
|
||||
`git push` → ArgoCD applique → pod redémarre proprement.
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-13 — AlertManager : ReconciliationFailed — receiver "null" non défini
|
||||
|
||||
### Symptôme
|
||||
|
||||
AlertManager en erreur dans ArgoCD. Logs :
|
||||
```
|
||||
level=error msg="loading configuration" err="undefined receiver \"null\" used in route"
|
||||
```
|
||||
|
||||
### Cause
|
||||
|
||||
kube-prometheus-stack génère en interne une sous-route référençant le receiver `"null"` pour le heartbeat Watchdog. Une config AlertManager custom qui ne définissait pas ce receiver cassait la validation.
|
||||
|
||||
### Résolution
|
||||
|
||||
Ajouter explicitement le receiver et la route dans `values.yaml` :
|
||||
|
||||
```yaml
|
||||
alertmanager:
|
||||
config:
|
||||
route:
|
||||
routes:
|
||||
- matchers:
|
||||
- alertname = "Watchdog"
|
||||
receiver: "null"
|
||||
repeat_interval: 24h
|
||||
receivers:
|
||||
- name: "null" # obligatoire même si vide
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-13 — llama-server : /metrics retourne 501 Not Implemented
|
||||
|
||||
### Symptôme
|
||||
|
||||
Prometheus ne scrappe rien sur les jobs `llama-server-*`. Targets en erreur avec `501 Not Implemented`.
|
||||
|
||||
### Cause
|
||||
|
||||
Le flag `--metrics` doit être passé explicitement à llama-server pour activer l'endpoint `/metrics`. Sans lui, la route existe mais répond 501.
|
||||
|
||||
### Résolution
|
||||
|
||||
Ajouter `--metrics` dans le service systemd (template Ansible `llama-server.service.j2`) :
|
||||
|
||||
```ini
|
||||
ExecStart=/opt/llama.cpp/build/bin/llama-server \
|
||||
...
|
||||
--metrics \
|
||||
--log-disable
|
||||
```
|
||||
|
||||
Fix live sur les 3 instances + `daemon-reload` + restart :
|
||||
```bash
|
||||
# Sur gpu-01
|
||||
for svc in llama-server llama-server-system llama-server-monitor; do
|
||||
sudo sed -i 's/--log-disable/--metrics \\\n --log-disable/' /etc/systemd/system/$svc.service
|
||||
done
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl restart llama-server llama-server-system llama-server-monitor
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-13 — nftables storage-01 : règle monitoring bloquée par le drop
|
||||
|
||||
### Symptôme
|
||||
|
||||
Prometheus ne pouvait pas scrapper `storage-01:9100` (node_exporter) ni recevoir les webhooks AlertManager sur `:9093`. Targets en `connection refused` dans Prometheus.
|
||||
|
||||
### Cause
|
||||
|
||||
`nft add rule` ajoute la règle **en fin de chaîne**, après la règle terminale `log prefix "nft-drop:" drop`. Les paquets étaient droppés avant d'atteindre la nouvelle règle.
|
||||
|
||||
```bash
|
||||
# Vérifier l'ordre
|
||||
sudo nft -n -a list chain inet filter input
|
||||
# → handle 22 : log drop (terminal)
|
||||
# → handle 27 : tcp dport { 9093, 9100 } accept (ajouté APRÈS → jamais atteint)
|
||||
```
|
||||
|
||||
### Résolution
|
||||
|
||||
Supprimer la règle mal placée et la réinsérer **avant** le drop avec `insert rule position` :
|
||||
|
||||
```bash
|
||||
sudo nft delete rule inet filter input handle 27
|
||||
sudo nft insert rule inet filter input position 22 \
|
||||
tcp dport { 9093, 9100 } ip saddr 192.168.10.0/24 accept
|
||||
```
|
||||
|
||||
Fix permanent dans le template Ansible `nftables.conf.j2` : placer la règle avant la règle drop.
|
||||
|
||||
---
|
||||
|
||||
## 2026-05-13 — storage-01 : corruption EXT4 après arrêt brutal + reinstall hermes-agent
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue