• 2.27
  • Monitoring-Schnittstelle

    Die Monitoring-Schnittstelle bietet eine API zur Erfassung des aktuellen Systemzustandes, um Ausfälle zu erkennen und gegebenenfalls mit Tools wie z.B. Zabbix abzugreifen.

    Inhalt

    Aktivierung

    Die Schnittstelle kann einfach über den Alarmeingang “Monitoring” aktiviert werden. Beim Hinzufügen wird automatisch ein Zugriffsschlüssel generiert, der im Konfigurationsfenster angezeigt werden kann. Dieser wird später zur Authentifizierung benötigt.

    Benutzen der Schnittstelle

    Grundlage

    Um auf die Schnittstelle zuzugreifen, werden HTTP GET-Anfragen benutzt. Diese liefern die Antwort entweder als Plaintext oder im JSON-Format.

    Aufbau der GET-Anfrage

    Header

    Authorization: enthält den Zugriffsschlüssel

    Query-Parameter

    (optional) simple: boolean, wenn true kommt als Ergebnis nur “OK” oder “ERROR”

    Der Zugriffsschlüssel kann optional auch nur als Query-Parameter und nicht im Header gesetzt werden

    (optional) Authorization: enthält den Zugriffsschlüssel

    Endpunkte und Rückgabewerte

    /rest/monitoring/input

    Dient der Abfrage des aktuellen Zustands aller aktiven Alarmeingänge

    Beispiel für Rückgabe:

    [ { "name": "Monitoring", "identifier": 1487306980, "state": "OK" }, { "name": "Leitstellen-Fax", "identifier": 2145575774, "state": "OK" } ]

    name

    Name des Alarmeingangs

    identifier

    ID des Alarmeingangs

    state

    OK, wenn alles gut

    ERROR, wenn ein Fehler aufgetreten ist

    /rest/monitoring/input/[identifier]

    Liefert genauere Daten zu einem bestimmten Alarmeingang zurück. [identifier] ist die eindeutige ID des Alarmeingangs, die über die obige Anfrage erhalten werden kann.

    Beispiel für Rückgabe:

    { "name": "Leitstellen-Fax", "state": "OK", "message": "Fax-Überwachung gestartet in Ordner: C:\\Users\\..." }

    name

    Name des Alarmeingangs

    state

    OK, wenn alles gut

    ERROR, wenn ein Fehler aufgetreten ist

    message

    Letzte Wichtige Meldung des Plugins, null wenn nicht vorhanden

    /rest/monitoring/cloud

    Liefert den aktuellen Zustand der Cloud-Dienste

    Beispiel für Rückgabe:

    [ { "state": "OK", "service": "Kalender" }, { "state": "OK", "service": "Alarmierung" }, { "state": "ERROR", "service": "Maps" }, { "state": "OK", "service": "Verfügbarkeit" } ]

    state

    Zustand des Cloud-Dienstes

    OK, wenn alles gut

    ERROR, wenn Dienst nicht erreichbar

    service

    Name des Cloud-Dienstes

     

    /rest/monitoring/amweb 2.29

    Liefert Details über den Verbindungzustand aller im FE2-System angelegten Alarmmonitore.

    Eine aktive Prüfung, welche Alarmmonitore eine aktive Verbindung zu ihrem FE2-System haben, ist nur im Verbindungsmodus “Websocket-Direktverbindung” möglich. Ist keine Websocket-Verbindung aktiv, wechselt der Modus automatisch in “Connect”.

    Beispiel für Rückgabe:

    identifier

    ID des Alarmmonitors (nicht AMweb-Access-ID!)

    name

    Name des Alarmmonitors

    organization

    Organisation, in der der Alarmmonitor angelegt ist

    connectionType

    CONNECT, falls Alarmmonitor über den Connect-Dienst angesteuert wird (Standard)

    WEBSOCKET, falls Alarmmonitor über die Websocket-Direktverbindung angesteuert wird

    connectionState

    UNKNOWN, wenn keine Verbindungsinformationen vorhanden ist oder wenn der AMweb über CONNECT angebunden ist.

    OK, wenn die Websocket-Direktverbindung hergestellt ist

    nbrOfWebSocketConnections

    Gibt die Anzahl der Websocket-Verbindungen zwischen FE2 und dem AMweb an (zwischen 0 und 3 Verbindungen). Bei Verbindungstyp “CONNECT” wird immer 0 angezeigt, da hier die Anzahl an Verbindungen nicht ermittelt werden kann.

    /rest/monitoring/status

    Liefert Details zum FE2-System, unter anderem die Anzahl der Fehler in den letzten 60 Minuten.

    Beispiel für Rückgabe:

    state

    OK, wenn keine Fehler aufgetreten sind

    WARN, wenn in den letzten 60 Minuten Fehler aufgetreten sind

    ERROR, wenn beim Start Fehler aufgetreten sind oder die Datenbank nicht erreichbar ist

    message

    Details zu den Fehlern, wenn state = ERROR

    nbrOfLoggedErrors

    Anzahl der Fehler, die in den letzten 60 Minuten aufgetreten sind

    redundancyState

    Objekt, das den aktuellen Modus des Servers beschreibt

    redundancyState.state

    OK, wenn alles gut

    WARN, wenn current != configured

    redundancyState.current

    aktueller Modus des Systems

    STANDALONE, MASTER oder SLAVE

    redundancyState.configured

    konfigurierter Modus des Systems

    STANDALONE, MASTER oder SLAVE

    /rest/monitoring/mqtt

    Liefert Details zur Erreichbarkeit der beiden MQTT-Server.

    Beispiel für Rückgabe:

    defaultBroker

    Zustand des Default-Brokers

    OK, wenn erreichbar

    ERROR, wenn nicht erreichbar

    NOT_USED, wenn kein MQTT-Dienst in Benutzung

    kubernetes

    Zustand des Default-Brokers

    OK, wenn erreichbar

    ERROR, wenn nicht erreichbar

    NOT_USED, wenn kein MQTT-Dienst in Benutzung

    /rest/monitoring/system

    Liefert Details zum Speicher des Systems

    Beispiel für Rückgabe:

    freeMemory

    Der freie Arbeitsspeicher in MB

    disks.disk

    Laufwerkbuchstabe

    disks.freeSpace

    Freier Speicher in GB