Webhook
Une fonction | Les tâches Webhook sont utilisées pour recevoir des données de l'extérieur du SKOOR Engine , à l'aide de son API REST. La tâche attendra les valeurs d'entrée (valeurs numériques et de chaîne) et stockera l'historique des valeurs des valeurs entrantes. |
---|---|
Alarmant | Code d'erreur, valeurs, valeurs de chaîne |
Pour ce type de travail, le collecteur doit être défini sur celui qui peut être utilisé pour authentifier les appels REST. Si ce n'est pas encore fait, créez un utilisateur de type Collecteur dans /root/Users/Users.
Détail du webhook
Paramètres Webhook
Paramètre | Description |
---|---|
Délai d'attente après | S'il est défini, le code d'erreur du travail sera défini sur 5 (Erreur de délai d'attente) si aucune donnée n'est envoyée au travail pendant la durée spécifiée. Le délai d'attente doit être réinitialisé par le code d'erreur envoyé avec la prochaine livraison de données |
Valeurs | Ajoutez une valeur pour chaque valeur numérique qui sera envoyée à l'API SKOOR REST. Pour chaque valeur un bouton de définition d' unité permet de spécifier le nom, l'unité, le diviseur, la précision et la description de la valeur |
Valeurs de chaîne | Ajoutez une valeur de chaîne pour chaque valeur de chaîne qui sera envoyée à l'API SKOOR REST. Pour chaque valeur de chaîne, un bouton de définition d' unité permet de spécifier le nom, l'unité et la description de la valeur de chaîne |
Valeurs Webhook et limites d'alarme
Valeur / Limite d'alarme | Description |
---|---|
Valeur 1-x | Valeur numérique définie par l'utilisateur |
Valeur de chaîne 1-x | Valeur de chaîne définie par l'utilisateur |
Code d'erreur | Code d'erreur de tâche générique (voir section Codes d'erreur de tâche ) |
Fournir des données à une tâche Webhook
Tout client REST peut être utilisé pour envoyer des valeurs et des valeurs de chaîne au travail Webhook. Dans cet exemple, l'outil de ligne de commande curl est utilisé. Ce qui suit répertorie un simple script shell bash qui alimentera le travail avec 2 valeurs numériques et 1 valeur de chaîne à chaque exécution.
Un code d'erreur doit être envoyé avec les valeurs pour réinitialiser le code d'erreur 5 (erreur de temporisation) si la temporisation après est définie dans la configuration de la tâche
#!/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}"
Le script définit d'abord certaines variables :
HOST : L'adresse IP ou le nom d'hôte du SKOOR Server lequel le travail Webhook est configuré
USER : Le nom de l'utilisateur du collecteur configuré sur le SKOOR Server
PASSWORD : Le mot de passe de l'utilisateur du collecteur
JOBID : ID de la tâche Webhook qui doit recevoir les valeurs
Ensuite, une connexion est effectuée sur le SKOOR Webservice , recevant un identifiant de session. L'ID de session est une chaîne qui ressemble à ceci : d6c38ad55e80b4a3bed39d55699b824e.
La commande curl envoie les valeurs en utilisant la notation returnValueX et stringValueX dans une requête POST au SKOOR Webservice , avec un ID de session valide.
Le corps de la requête POST ressemble à ceci :
{ "returnValue1": 24.42, "returnValue2": 99, "stringValue1": "Skoor Test 3", "errorCode": 0 }
ou alors
{ "returnValue": [24.42, 99], "stringValue1": "Skoor Test 3", "errorCode": 0 }
Les données à alimenter peuvent provenir de n'importe quelle source, tant qu'elles peuvent être transmises au client REST.
Envoyez toujours la requête POST en utilisant l'en-tête Content-Type approprié : application/json .
Dans une dernière étape, le script se déconnecte de la session. Assurez-vous d'implémenter une déconnexion, sinon l'exécution régulière de ce script laissera de nombreuses sessions ouvertes sur le SKOOR Server .
Le script peut résider et être exécuté à partir de n'importe quel hôte pouvant atteindre le server SKOOR Engine via son port HTTPS TCP 443.
Pour plus d'informations sur l'API REST, veuillez trouver le guide du webservice disponible sur chaque installation de SKOOR Engine sur https://
Avant d'exécuter le script, les 2 valeurs et 1 valeur de chaîne doivent être définies sur le travail Webhook à l'aide de leurs boutons d'unité correspondants :
Une fois le script exécuté, la tâche Webhook doit avoir reçu les valeurs :
La Valeur 1 place le travail dans l'état Minor puisque les limites d'alarme suivantes ont été définies sur le travail :