Files
claude_settings/plans/functional-strolling-donut.md
root 4277b10f55 Kanbanize Kartenerstellung dokumentiert: Arrival-Rule-Workaround, Board-Struktur
- Neuer Abschnitt "Karten erstellen (Aufgaben-Workflow)" mit Workflow A/B
- Bekannte Struktur erweitert: Workflows, Columns, Lanes für Board 1
- Pitfalls ergänzt: Arrival Rule, Parent-Link API, linkedCards read-only
- Settings und Plans aktualisiert

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 13:09:09 +01:00

4.0 KiB
Raw Blame History

Plan: CIFS-Mount-Monitoring für srv-nu-ftp01

Ziel

Auf srv-nu-ftp01 alle CIFS-Mounts überwachen, die nach //vinos.local/DFS/Workflows/ zeigen. Sobald ein Mountpoint nicht aktiv ist, soll Zabbix alarmieren.

Aktueller Stand

  • UserParameters wurden eingetragen, aber Agent startet nicht (exit code 1)
  • Ursache: Discovery-Zeile über 2 Zeilen umgebrochen → missing assignment operator in Zeile 325
  • Die Status-Zeile (cifs.mount.status[*]) ist OK

Ist-Zustand fstab

18 aktive Mounts (ohne auskommentierte) nach //vinos.local/DFS/Workflows/:

  • 12× Artikelbilder (gleiche Quelle, verschiedene User-Home-Verzeichnisse)
  • Reporting/DWH → /mnt/Workflows/Reporting/DWH
  • Shop-Filialinfos → /home/filialinfos/Shop-Filialinfos
  • econda → /mnt/google_analytics + /home/srv-db03/google_analytics
  • sovendus → /home/sovendus/upload
  • emarsys → /home/emarsys/upload
  • hubspot → /home/hubspot/upload
  • Pin-eBrief → /mnt/Workflows/Pin-eBrief
  • KWK-Export → /home/kwk-export/KWK-Export

Ansatz: Script-File + UserParameters

Die Inline-awk-Variante ist zu lang (~200 Zeichen) und bricht beim Kopieren um. Stattdessen ein minimales Discovery-Script.

Schritte

1. Agent-Config fixen (DRINGEND - Agent ist down!)

Die kaputten Zeilen 324-325 entfernen/ersetzen. Neue Config:

UserParameter=cifs.mount.discovery,/etc/zabbix/scripts/cifs_mount_discovery.sh
UserParameter=cifs.mount.status[*],findmnt "$1" >/dev/null 2>&1 && echo 1 || echo 0

2. Discovery-Script erstellen

Script nach /home/vinosadmin/cifs_mount_discovery.sh schreiben (kein root-Zugriff als vinosadmin). User verschiebt es manuell nach /etc/zabbix/scripts/cifs_mount_discovery.sh und setzt chmod +x.

#!/bin/bash
grep -i '//vinos.local/DFS/Workflows' /etc/fstab \
  | grep -v '^\s*#' \
  | awk 'BEGIN{printf "["} NR>1{printf ","} {printf "{\"{#MOUNTPOINT}\":\"%s\",\"{#REMOTE}\":\"%s\"}",$2,$1} END{printf "]"}'

3. Agent neustarten und testen

systemctl restart zabbix-agent2
systemctl status zabbix-agent2

Test:

# Lokal
/etc/zabbix/scripts/cifs_mount_discovery.sh
findmnt /home/fluent/artikelbilder >/dev/null 2>&1 && echo 1 || echo 0

# Via Agent (von srv-monitor02)
zabbix_get -s srv-nu-ftp01 -k 'cifs.mount.discovery'
zabbix_get -s srv-nu-ftp01 -k 'cifs.mount.status[/home/fluent/artikelbilder]'

4. Host-ID ermitteln

Via Zabbix API: host.get mit search: {name: "ftp01"}

5. Zabbix LLD via API konfigurieren

a) Discovery Rule (discoveryrule.create)

  • Name: CIFS DFS/Workflows Mount Discovery
  • Key: cifs.mount.discovery
  • Type: Zabbix Agent (passive/active je nach Config)
  • Update Interval: 1h

b) Item Prototype (itemprototype.create)

  • Name: CIFS Mount Status: {#MOUNTPOINT}
  • Key: cifs.mount.status[{#MOUNTPOINT}]
  • Type: Zabbix Agent
  • Value Type: Numeric (unsigned)
  • Update Interval: 5m

c) Trigger Prototype (triggerprototype.create)

  • Name: CIFS Mount {#MOUNTPOINT} nicht aktiv (Remote: {#REMOTE})
  • Expression: last(/HOST/cifs.mount.status[{#MOUNTPOINT}])=0
  • Severity: High

6. Dokumentation

  • zabbix/hosts.md: srv-nu-ftp01 Abschnitt mit Host-ID, UserParameters, SSH-Befehlen
  • zabbix/README.md: Host-ID in Schnellreferenz

Kritische Dateien

Datei (auf srv-nu-ftp01) Aktion
/etc/zabbix/zabbix_agent2.conf Zeilen 324-325 fixen → 2 saubere UserParameter-Zeilen
/etc/zabbix/scripts/cifs_mount_discovery.sh Neu erstellen (4 Zeilen)
Datei (lokal) Aktion
zabbix/hosts.md srv-nu-ftp01 ergänzen
zabbix/README.md Host-ID ergänzen

Verifikation

  1. systemctl status zabbix-agent2 → active (running)
  2. zabbix_get -s srv-nu-ftp01 -k 'cifs.mount.discovery' → JSON mit 18 Mountpoints
  3. zabbix_get -s srv-nu-ftp01 -k 'cifs.mount.status[/home/fluent/artikelbilder]'1
  4. Zabbix UI: Discovery Rule ausführen → 18 Items + 18 Trigger angelegt
  5. Optional: Test-Unmount → Trigger feuert