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, beim Start von FE2 oder wenn die Datenbank nicht erreicht werden kann, 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