17 lines
734 B
Bash
Executable File
17 lines
734 B
Bash
Executable File
#!/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"
|