Files
vinos_srv-monitor02/copilot-instructions.md
root d4af94c2b7 Doku erweitert: CRIF-Monitoring, Notification-Tags, SSH-Zugang
- 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>
2026-01-27 10:50:23 +01:00

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

  • selectHosts bei problem.get nicht mehr unterstützt - stattdessen trigger.get mit selectHosts verwenden
  • apiinfo.version OHNE 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:

  1. 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
    
  2. 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
    
  3. Via SSMS:

    • Job Properties → General → Owner → Auf sa ändern

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:

  1. NAV/Business Central erstellt CL_*.dat.zip Exportdateien in \CRIFBuergel\exp\
  2. Scheduled Task Transfer-FilesWinSCP (SRV-JOB01, täglich 02:00) lädt Dateien zu ftp.crif.de hoch
  3. Nach erfolgreichem Upload werden Dateien nach \CRIFBuergel\backup\ verschoben

Bei Fehler prüfen:

  1. Export-Ordner leer? → NAV Aufgabenwarteschlange prüfen (häufigste Ursache!)
  2. WinSCP-Log prüfen: \\vinos.local\sys\nav\interfaces\CRIFBuergel\log\
  3. 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

  1. API-Abfragen testen mit curl und jq
  2. Bei komplexeren Abfragen: Immer zuerst die relevanten IDs ermitteln
  3. Dokumentation aktualisieren bei neuen Erkenntnissen

Pitfalls

  • API-Version prüfen: Zabbix 7.x hat viele Breaking Changes gegenüber 6.x
  • SSL-Zertifikat: -sk Flag bei curl verwenden (self-signed cert)
  • Timestamps: Zabbix liefert Unix-Timestamps, ggf. konvertieren