fix(proxmox): Conf-Platzhalter rendern (fetch_conf), PVE-Erkennung vor dem Schreiben der Env; README mit Token-Anlage
This commit is contained in:
1 parent
5326d90975
commit
d8b910063e
2 files changed
+40
-6
No files matched your search
+19
-3
@@ -210,6 +210,14 @@ fi
|
||||
# --------------------------------------------------------------------------
|
||||
# Konfiguration
|
||||
# --------------------------------------------------------------------------
|
||||
# Proxmox-Parameter VOR dem Schreiben der Konfiguration ermitteln
|
||||
if [ "$ROLE" = "proxmox" ]; then
|
||||
[ -n "$PVE_NODE" ] || PVE_NODE="$(pvesh get /nodes --output-format json 2>/dev/null | sed -n 's/.*"node":"\([^"]*\)".*/\1/p' | head -1)"
|
||||
[ -n "$PVE_NODE" ] || PVE_NODE="$NODE_NAME"
|
||||
[ -n "$PVE_URL" ] || PVE_URL="https://127.0.0.1:8006/api2/json"
|
||||
log "Proxmox: node_name=$PVE_NODE base_url=$PVE_URL"
|
||||
fi
|
||||
|
||||
mkdir -p /etc/telegraf/telegraf.d /etc/default
|
||||
umask 077
|
||||
cat > /etc/default/telegraf <<EOF
|
||||
@@ -226,17 +234,25 @@ EOF
|
||||
umask 022
|
||||
|
||||
fetch() { curl -fsSL "$REPO_RAW/$1" -o "$2" || die "Download $1 fehlgeschlagen."; }
|
||||
|
||||
# Holt eine Conf und ersetzt ${...}-Platzhalter aus /etc/default/telegraf.
|
||||
fetch_conf() {
|
||||
fetch "$1" "$2.tmp"
|
||||
set -a; [ -r /etc/default/telegraf ] && . /etc/default/telegraf; set +a
|
||||
envsubst '${NODE_NAME} ${PVE_TOKEN} ${PVE_NODE} ${PVE_URL} ${APACHE_LOG}' < "$2.tmp" > "$2"
|
||||
rm -f "$2.tmp"
|
||||
}
|
||||
fetch telegraf/base.conf /etc/telegraf/telegraf.conf
|
||||
rm -f /etc/telegraf/telegraf.d/*.conf
|
||||
[ "$HAS_DOCKER" -eq 1 ] && { fetch telegraf/docker.conf /etc/telegraf/telegraf.d/docker.conf; usermod -aG docker telegraf 2>/dev/null || true; }
|
||||
case "$ROLE" in
|
||||
proxmox) [ -n "$PVE_TOKEN" ] || log "HINWEIS: --pve-token fehlt; VM/CT-Metriken bleiben aus. Token anlegen: pveum user token add telegraf@pve monitoring -privsep 1 && pveum acl modify / -token 'telegraf@pve!monitoring' -role PVEAuditor"
|
||||
fetch telegraf/proxmox.conf /etc/telegraf/telegraf.d/proxmox.conf ;;
|
||||
apache) fetch telegraf/apache.conf /etc/telegraf/telegraf.d/apache.conf; usermod -aG adm telegraf 2>/dev/null || true ;;
|
||||
fetch_conf telegraf/proxmox.conf /etc/telegraf/telegraf.d/proxmox.conf ;;
|
||||
apache) fetch_conf telegraf/apache.conf /etc/telegraf/telegraf.d/apache.conf; usermod -aG adm telegraf 2>/dev/null || true ;;
|
||||
docker|none) ;;
|
||||
*) die "Unbekannte Rolle: $ROLE" ;;
|
||||
esac
|
||||
[ "$HAS_APACHE" -eq 1 ] && [ "$ROLE" != "apache" ] && { fetch telegraf/apache.conf /etc/telegraf/telegraf.d/apache.conf; usermod -aG adm telegraf 2>/dev/null || true; }
|
||||
[ "$HAS_APACHE" -eq 1 ] && [ "$ROLE" != "apache" ] && { fetch_conf telegraf/apache.conf /etc/telegraf/telegraf.d/apache.conf; usermod -aG adm telegraf 2>/dev/null || true; }
|
||||
|
||||
# --- GPU (nur wenn erkannt) ---
|
||||
case "$GPU" in
|
||||
|
||||
Reference in new issue
Block a user