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>
This commit is contained in:
root
2026-02-05 13:09:09 +01:00
parent f0dae88639
commit 4277b10f55
21 changed files with 2636 additions and 159 deletions

View File

@@ -0,0 +1,118 @@
# 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`.
```bash
#!/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
```bash
systemctl restart zabbix-agent2
systemctl status zabbix-agent2
```
Test:
```bash
# 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