- CRIF Bürgel Export-Workflow dokumentiert (NAV → WinSCP → CRIF FTP) - Notification-Tag-System erklärt (VAE, IFS, ECOM, Mail-Verteiler) - SSH-Zugang zu SRV-JOB01 dokumentiert - Bekannte Hosts erweitert Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.9 KiB
VINOS Zabbix Server (srv-monitor02) - Copilot Instructions
MANDATORY RULES
- API-Schlüssel: Liegt in
api.txt(NICHT committen!) - Zabbix Version: 7.0.3 (API-Syntax beachten - 7.x hat geänderte Parameter)
- Authentifizierung per Bearer Token im Authorization Header
System Overview
| Eigenschaft | Wert |
|---|---|
| Server | srv-monitor02 |
| URL | https://srv-monitor02/ |
| API Endpoint | https://srv-monitor02/api_jsonrpc.php |
| Zabbix Version | 7.0.3 |
| Kunde | VINOS |
API-Zugriff
Authentifizierung (Zabbix 7.x)
curl -sk -X POST "https://srv-monitor02/api_jsonrpc.php" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API_TOKEN>" \
-d '{
"jsonrpc": "2.0",
"method": "problem.get",
"params": { ... },
"id": 1
}'
Wichtige API-Änderungen in 7.x
selectHostsbeiproblem.getnicht mehr unterstützt - stattdessentrigger.getmitselectHostsverwendenapiinfo.versionOHNE Authorization Header aufrufen
Nützliche Abfragen
Aktuelle Probleme:
{
"method": "problem.get",
"params": {
"output": "extend",
"recent": true,
"sortfield": ["eventid"],
"sortorder": "DESC",
"limit": 30
}
}
Trigger-Details mit Host:
{
"method": "trigger.get",
"params": {
"output": "extend",
"triggerids": ["<TRIGGER_ID>"],
"expandDescription": true,
"selectHosts": ["hostid", "host", "name"],
"selectItems": ["itemid", "name", "key_", "lastvalue"]
}
}
Items eines Hosts abfragen:
{
"method": "item.get",
"params": {
"output": ["itemid", "name", "key_", "lastvalue", "lastclock"],
"hostids": ["<HOST_ID>"],
"search": { "key_": "suchbegriff" }
}
}
Bekannte Hosts
| Host | HostID | Beschreibung |
|---|---|---|
| SRV-DB12 REMA Datenbank | 10786 | MSSQL Server mit Wartungsplänen |
| SRV-JOB01 | 10636 | Windows Server für Scheduled Tasks (WinSCP, Monitoring) |
SSH-Zugang zu Windows-Servern
SRV-JOB01 hat OpenSSH installiert. SSH-Key ist bereits hinterlegt:
ssh 'vinos\rwi@srv-job01' "Get-ScheduledTask"
Zabbix Agent 2 Config: C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf
Bekannte Probleme & Lösungen
MSSQL Job-Fehler: Fehlercode 0x534 (Fehler 15404)
Symptom:
Auftragsfehler: Es kann nicht bestimmt werden, ob der Besitzer ('VINOS\username')
von Auftrag 'Jobname' Serverzugriff aufweist.
(Ursache: Die Informationen über Windows NT-Gruppe oder -Benutzer "VINOS\username"
konnten nicht abgerufen werden, Fehlercode 0x534. [SQLSTATE 42000] (Fehler 15404))
Ursache: Der SQL Server kann den Job-Besitzer (Windows-Account) nicht mehr im Active Directory auflösen.
Lösungen:
-
Job-Besitzer auf
saändern (empfohlen):USE msdb; GO EXEC dbo.sp_update_job @job_name = N'Backup_tgl.Subplan_1', @owner_login_name = N'sa'; GO -
Alle Jobs eines Benutzers auf
saändern:USE msdb; GO DECLARE @job_id uniqueidentifier DECLARE job_cursor CURSOR FOR SELECT job_id FROM sysjobs WHERE owner_sid = SUSER_SID('VINOS\gt') OPEN job_cursor FETCH NEXT FROM job_cursor INTO @job_id WHILE @@FETCH_STATUS = 0 BEGIN EXEC dbo.sp_update_job @job_id = @job_id, @owner_login_name = N'sa' FETCH NEXT FROM job_cursor INTO @job_id END CLOSE job_cursor DEALLOCATE job_cursor GO -
Via SSMS:
- Job Properties → General → Owner → Auf
saändern
- Job Properties → General → Owner → Auf
Verifizierung nach Fix:
- In Zabbix: Problem sollte nach nächstem erfolgreichen Job-Lauf automatisch schließen
- Oder manuell Job starten und Status prüfen
CRIF Bürgel Export-Monitoring (processing_backup_monitoring_hours_crif)
Trigger: Prüft ob im Verzeichnis \\vinos.local\sys\nav\interfaces\CRIFBuergel\backup Dateien vorhanden sind, die jünger als 1 Tag sind.
Ablauf des CRIF-Exports:
- NAV/Business Central erstellt
CL_*.dat.zipExportdateien in\CRIFBuergel\exp\ - Scheduled Task
Transfer-FilesWinSCP(SRV-JOB01, täglich 02:00) lädt Dateien zuftp.crif.dehoch - Nach erfolgreichem Upload werden Dateien nach
\CRIFBuergel\backup\verschoben
Bei Fehler prüfen:
- Export-Ordner leer? → NAV Aufgabenwarteschlange prüfen (häufigste Ursache!)
- WinSCP-Log prüfen:
\\vinos.local\sys\nav\interfaces\CRIFBuergel\log\ - SFTP-Verbindung testen: Config in
C:\Tasks\crifbuergel\CRIF-config.xml
CRIF FTP-Server Struktur:
/in/WeinVinos/- Upload-Ziel für Exports/out/- (leer, keine Downloads)
Notification-System (Tags)
Zabbix Actions filtern nach Tags auf Triggern. Um Benachrichtigungen zu aktivieren, muss der Trigger das entsprechende Tag haben.
| Tag | Ziel |
|---|---|
Meldung_Webhook_VAE-Meldungen |
MS Teams VAE-Kanal |
Meldung_Webhook_IFS-Meldungen |
MS Teams IFS-Kanal |
Meldung_Webhook_ECOM-Meldungen |
MS Teams ECOM-Kanal |
Meldung_Mail_Bereitschaft |
bereitschaft.it@vinos.de |
Meldung_Mail_BI |
BI-Team |
Meldung_Mail_HM |
HM_Monitoring@vinos.de |
Meldung_RM_Monitoring |
RM_Monitoring@vinos.de |
Meldung_Mail_Viki |
viki@vinos.de |
Tag zu Trigger hinzufügen (API):
{
"method": "trigger.update",
"params": {
"triggerid": "<TRIGGER_ID>",
"tags": [
{"tag": "existing_tag", "value": ""},
{"tag": "Meldung_Webhook_VAE-Meldungen", "value": ""}
]
}
}
Wichtig: Alle existierenden Tags müssen mit angegeben werden, sonst werden sie überschrieben!
Development Workflow
- API-Abfragen testen mit
curlundjq - Bei komplexeren Abfragen: Immer zuerst die relevanten IDs ermitteln
- Dokumentation aktualisieren bei neuen Erkenntnissen
Pitfalls
- API-Version prüfen: Zabbix 7.x hat viele Breaking Changes gegenüber 6.x
- SSL-Zertifikat:
-skFlag bei curl verwenden (self-signed cert) - Timestamps: Zabbix liefert Unix-Timestamps, ggf. konvertieren