ci / test (push) Successful in 25s
Aufbauplan Task 0.4: - inventory.yaml: pve44/46/48/52/61 und GODE-PC-05/06 (Ada, Windows, cpu_roles: false) - proxmox.yaml: eine GPU-VM pro Knoten mit allen Karten (D2), local-lvm/tank (D1 B), 192.168.100.0/24 ohne VLAN, Gast-IPs .220–.239 (ANNAHME bis Task 0.2) - registry.yaml/prometheus.yml: ops-Labels auf gpu-pve44/46/48, Ada ohne pve_node/vmid - tofu: dynamische hostpci, Speicher je Gast; Ansible: pve_gpu_hosts/pve_kiosk, Replikation auf mehrere Ziele - Placement: cpu_roles=false schließt Arbeitsplätze/Kiosk von CPU-Rollen aus - PLAN §1.3/§1.4/§9 und ADR-Nachträge (D1 entschieden, D2/D3 Bestätigung offen) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
64 lines
3.0 KiB
YAML
64 lines
3.0 KiB
YAML
# Scrape-Ziele. Die Labels an den GPU-Zielen (slot, docker_host, container, pve_node, vmid) landen in den
|
|
# Alerts und damit beim Healer. IP-Literale aus sites/knaster/proxmox.yaml (Global Constraints, Aufbauplan).
|
|
# ANNAHME bis Task 0.2 (Gast-IPs) und Task 3.3 (welcher Slot auf welcher P2000 läuft).
|
|
# Ada-Worker (GODE-PC-05/06, Windows, D3) werden nicht gescrapt: ihre Verfügbarkeit meldet die
|
|
# Worker-Registry v2 (Task 6.4), der Canary-Prober des Routers prüft die Slots zusätzlich.
|
|
global:
|
|
scrape_interval: 30s
|
|
evaluation_interval: 30s
|
|
|
|
rule_files: [alerts.yml]
|
|
|
|
alerting:
|
|
alertmanagers:
|
|
- static_configs: [{targets: ["alertmanager:9093"]}]
|
|
|
|
scrape_configs:
|
|
- job_name: knaster-router
|
|
metrics_path: /metrics
|
|
static_configs: [{targets: ["router:8080"]}]
|
|
|
|
# Erstes Ziel je Slot = Healer-Ziel in sites/knaster/registry.yaml (ops)
|
|
- job_name: llamacpp
|
|
static_configs:
|
|
- targets: ["192.168.100.224:8081"]
|
|
labels: {slot: embed-default, docker_host: gpu-pve44, container: llamacpp-embed, pve_node: pve44, vmid: "244"}
|
|
- targets: ["192.168.100.226:8081"]
|
|
labels: {slot: embed-default, docker_host: gpu-pve46, container: llamacpp-embed, pve_node: pve46, vmid: "246"}
|
|
- targets: ["192.168.100.224:8082"]
|
|
labels: {slot: rerank-default, docker_host: gpu-pve44, container: llamacpp-rerank, pve_node: pve44, vmid: "244"}
|
|
- targets: ["192.168.100.228:8080"]
|
|
labels: {slot: verifier-small, docker_host: gpu-pve48, container: llamacpp-chat, pve_node: pve48, vmid: "248"}
|
|
|
|
- job_name: gpu
|
|
static_configs:
|
|
- targets: ["192.168.100.224:9835"]
|
|
labels: {slot: embed-default, pve_node: pve44, vmid: "244"}
|
|
- targets: ["192.168.100.226:9835"]
|
|
labels: {slot: embed-default, pve_node: pve46, vmid: "246"}
|
|
- targets: ["192.168.100.228:9835"]
|
|
labels: {slot: verifier-small, pve_node: pve48, vmid: "248"}
|
|
- targets: ["192.168.100.232:9835"]
|
|
labels: {slot: "", pve_node: pve52, vmid: "252"} # nur M4000, außer Betrieb bis Task 3.3
|
|
|
|
- job_name: node # Labels werden für GpuXidError → Healer (VM-Neustart) gebraucht
|
|
static_configs:
|
|
- targets: ["192.168.100.224:9100"]
|
|
labels: {slot: embed-default, pve_node: pve44, vmid: "244"}
|
|
- targets: ["192.168.100.226:9100"]
|
|
labels: {slot: embed-default, pve_node: pve46, vmid: "246"}
|
|
- targets: ["192.168.100.228:9100"]
|
|
labels: {slot: verifier-small, pve_node: pve48, vmid: "248"}
|
|
- targets: ["192.168.100.232:9100"]
|
|
labels: {slot: "", pve_node: pve52, vmid: "252"}
|
|
|
|
- job_name: proxmox
|
|
metrics_path: /pve
|
|
params: {module: [default]}
|
|
static_configs:
|
|
- targets: ["192.168.100.210", "192.168.100.209", "192.168.100.212", "192.168.100.207", "192.168.100.214"]
|
|
relabel_configs:
|
|
- {source_labels: [__address__], target_label: __param_target}
|
|
- {source_labels: [__param_target], target_label: instance}
|
|
- {target_label: __address__, replacement: "pve-exporter:9221"}
|