Webhook

Funktion

Webhook-Jobs werden verwendet, um Daten von außerhalb der SKOOR Engine mithilfe ihrer REST-API zu empfangen. Der Job wartet auf Eingabewerte (numerische und Zeichenfolgenwerte) und speichert den Werteverlauf der eingehenden Werte.

Alarmierend

Fehlercode, Werte, Zeichenfolgenwerte

Für diese Art von Job muss der Kollektor auf einen eingestellt werden, der zur Authentifizierung der REST-Aufrufe verwendet werden kann. Falls noch nicht geschehen, erstellen Sie einen Benutzer vom Typ Kollektor in /root/Users/Users.

Webhook-Details

Webhook-Parameter

Parameter

Beschreibung

Auszeit nach

Wenn gesetzt, wird der Fehlercode des Jobs auf 5 (Timeout Error) gesetzt, wenn während der angegebenen Zeit keine Daten an den Job gesendet werden. Der Timeout muss durch den bei der nächsten Datenlieferung gesendeten Fehlercode zurückgesetzt werden

Werte

Fügen Sie für jeden numerischen Wert, der an die SKOOR-REST-API gesendet wird, einen Wert hinzu. Für jeden Wert ermöglicht eine Einheitendefinitionsschaltfläche die Angabe des Namens, der Einheit, des Teilers, der Genauigkeit und der Beschreibung des Werts

Zeichenfolgenwerte

Fügen Sie einen Zeichenfolgenwert für jeden Zeichenfolgenwert hinzu, der an die SKOOR-REST-API gesendet wird. Für jeden Zeichenfolgenwert ermöglicht eine Einheitendefinitionsschaltfläche die Angabe des Namens, der Einheit und der Beschreibung des Zeichenfolgenwerts

Webhook-Werte und Alarmgrenzen

Wert / Alarm Limit

Beschreibung

Wert 1-x

Benutzerdefinierter numerischer Wert

Zeichenfolgenwert 1-x

Benutzerdefinierter Zeichenfolgenwert

Fehlercode

Allgemeiner Job-Fehlercode (siehe Abschnitt Job-Fehlercodes )

Einspeisen von Daten in einen Webhook-Job

Jeder REST-Client kann verwendet werden, um Werte und Zeichenfolgenwerte an den Webhook-Job zu senden. In diesem Beispiel wird das Befehlszeilentool curl verwendet. Im Folgenden wird ein einfaches Bash-Shell-Skript aufgeführt, das den Job bei jeder Ausführung mit 2 numerischen Werten und 1 Zeichenfolgewert füttert.

Ein Fehlercode muss zusammen mit den Werten zum Zurücksetzen des Fehlercodes 5 (Timeout-Fehler) gesendet werden, wenn Timeout nach in der Jobkonfiguration eingestellt ist

#!/bin/bash
  
HOST="10.1.0.89"
USER="webhook"
PASSWORD="webhook"
JOBID=830

SESSIONID=$(curl -s -k "https://${HOST}/skoor-webservice/session/login?username=${USER}&password=${PASSWORD}" | python -m json.tool | grep sessionId | cut -d"\"" -f4)

curl -s -k -X POST -H "Content-Type: application/json" -d '{"returnValue1":24.42,"returnValue2":99,"stringValue1":"Skoor Test 3","errorCode":0}' "https://${HOST}/skoor-webservice/webcollector/jobs/$JOBID/values?sessionId=${SESSIONID}"

curl -s -k "https://${HOST}/skoor-webservice/session/logout?sessionId=${SESSIONID}"

Das Skript definiert zunächst einige Variablen:

  • HOST : Die IP-Adresse oder der Hostname des SKOOR Server auf dem der Webhook-Job konfiguriert ist

  • USER : Der Name des auf dem Kollektor SKOOR Server konfigurierten Kollektor-Benutzers

  • PASSWORD : Das Passwort des Kollektor -Benutzers

  • JOBID : Die ID des Webhook-Jobs, der die Werte erhalten soll

Dann wird eine Anmeldung beim SKOOR Webservice durchgeführt, wobei eine Sitzungs-ID empfangen wird. Die Sitzungs-ID ist eine Zeichenfolge, die so aussieht: d6c38ad55e80b4a3bed39d55699b824e.

Der curl-Befehl sendet die Werte unter Verwendung der returnValueX- und stringValueX- Notation innerhalb einer POST-Anfrage an den SKOOR Webservice zusammen mit einer gültigen Sitzungs-ID.

Der Text der POST-Anforderung sieht folgendermaßen aus:

{
    "returnValue1": 24.42,
    "returnValue2": 99,
    "stringValue1": "Skoor Test 3",
    "errorCode": 0
}

oder

{
    "returnValue": [24.42, 99],
    "stringValue1": "Skoor Test 3",
    "errorCode": 0
}

Die einzuspeisenden Daten können aus beliebigen Quellen stammen, solange sie an den REST-Client übergeben werden können.

Senden Sie die POST-Anforderung immer mit dem entsprechenden Header Content-Type: application/json .

Als letzten Schritt meldet sich das Skript von der Sitzung ab. Stellen Sie sicher, dass Sie eine Abmeldung implementieren, da andernfalls bei regelmäßiger Ausführung dieses Skripts viele Sitzungen auf dem SKOOR Server offen bleiben.

Das Skript kann sich befinden und von jedem Host ausgeführt werden, der den SKOOR Engine Server über seinen HTTPS-Port TCP 443 erreichen kann.

Weitere Informationen zur REST-API finden Sie im Webservice-Leitfaden, der bei jeder SKOOR Engine Installation unter https:// verfügbar ist. Server>/skoor-webservice.

Vor dem Ausführen des Skripts müssen die 2 Werte und 1 Zeichenfolgenwert im Webhook-Job mithilfe der entsprechenden Schaltflächen für Einheiten definiert werden:


Nachdem das Skript ausgeführt wurde, sollte der Webhook-Job die Werte erhalten haben:

Der Wert 1 versetzt den Job in den Status Minor , da für den Job folgende Alarmgrenzen definiert wurden: