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:// serveur>/skoor-webservice.

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 :