#!/usr/bin/env bash # Zählt NVIDIA-Xid-Fehler aus dem Kernel-Log und schreibt sie für den node_exporter (textfile collector). # Aufruf per systemd-Timer jede Minute (siehe platform/proxmox/ansible/roles/gpu-node). set -euo pipefail OUT_DIR="${1:-/var/lib/node_exporter/textfile}" TMP="$(mktemp "${OUT_DIR}/.xid.XXXXXX")" { echo "# HELP knaster_gpu_xid_errors_total NVIDIA Xid-Fehler seit Boot" echo "# TYPE knaster_gpu_xid_errors_total counter" journalctl -k -b --no-pager -o cat 2>/dev/null \ | grep -oE 'NVRM: Xid \([^)]*\): [0-9]+' \ | awk '{print $NF}' | sort | uniq -c \ | awk '{printf "knaster_gpu_xid_errors_total{xid=\"%s\"} %d\n", $2, $1}' } > "$TMP" chmod 0644 "$TMP" mv "$TMP" "${OUT_DIR}/gpu_xid.prom"