Hi,
Ich brauche mal Hilfe und stehe etwas auf dem Schlauch
Ich brauche von einem Service die Werte als Tabelle
z.B. der Service subscriber hat am 01.01 09:00 den Wert 1
nun brauche ich alle Werte von da an bis z.B. 01.01 13:00 Wert 0
lG Bernd
Hi,
Ich brauche mal Hilfe und stehe etwas auf dem Schlauch
Ich brauche von einem Service die Werte als Tabelle
z.B. der Service subscriber hat am 01.01 09:00 den Wert 1
nun brauche ich alle Werte von da an bis z.B. 01.01 13:00 Wert 0
lG Bernd
hab das so gelöst bin aber offen für andere Lösungen
checkmk_export_flex.sh
#!/bin/bash
# Hilfe bei falschen Argumenten
if [ "$#" -lt 3 ]; then
echo "Benutzung:"
echo " 1. Letzte 24h: $0 <host> <service> <MODE>"
echo " 2. Zeitraum: $0 <host> <service> <MODE> \"YYYY-MM-DD HH:MM\" \"YYYY-MM-DD HH:MM\""
echo ""
echo "Beispiel: $0 dezili CPU_load MAX \"2026-05-07 10:00\" \"2026-05-07 14:00\""
exit 1
fi
HOST="$1"
SERVICE="${2// /_}"
MODE="$3"
# Zeitlogik
if [ "$#" -eq 5 ]; then
# Benutzerdefinierter Zeitraum
EPOCH_START=$(date -d "$4" +%s)
EPOCH_END=$(date -d "$5" +%s)
else
# Default: Letzte 24 Stunden
EPOCH_START=$(date --date='24 hours ago' +%s)
EPOCH_END=$(date +%s)
fi
# Pfad zur RRD-Datei
RRD_FILE="$OMD_ROOT/var/check_mk/rrd/${HOST}/${SERVICE}.rrd"
if [[ ! -f "$RRD_FILE" ]]; then
echo "Fehler: Datei nicht gefunden: $RRD_FILE"
exit 1
fi
echo "--- Export: $HOST | $SERVICE | Modus: $MODE ---"
echo "Zeitraum: $(date -d @$EPOCH_START) bis $(date -d @$EPOCH_END)"
echo "------------------------------------------------------------"
echo "Zeitstempel;Werte"
# Abfrage und Formatierung
rrdtool fetch "$RRD_FILE" "$MODE" --start "$EPOCH_START" --end "$EPOCH_END" | \
awk -F': ' '
NR > 2 {
timestamp = $1;
gsub(/^[ \t]+|[ \t]+$/, "", timestamp);
values_raw = $2;
if (values_raw !~ /nan/ && values_raw != "") {
# Datum konvertieren
cmd = "date -d @" timestamp " +\"%d.%m.%Y %H:%M:%S\""
cmd | getline readable
close(cmd)
split(values_raw, v, " ");
output_line = readable;
for (i=1; i<=length(v); i++) {
if (v[i] != "") {
output_line = output_line ";" sprintf("%.2f", v[i]);
}
}
print output_line;
}
}'