Pour remplir le message d’alerte avec un contenu pertinent, le corps du message que vous définissez doit contenir ce que l’on appelle des variables système. Lorsque vous faites référence à une variable système dans le contenu de votre message, elle est remplacée par le contenu approprié lorsque Uptrends génère une alerte. L’utilisation de variables système vous permet d’écrire des définitions de message qui répondent aux attentes de l’autre système. Dans cet article, nous verrons comment configurer et utiliser diverses variables dans vos messages d’intégration personnalisés sortants. Si vous savez utiliser les variables dans votre intégration personnalisée, jetez un œil à la liste complète des variables système disponibles.
Utilisation correcte des variables
Prenons un exemple. Une information évidente qui devrait probablement faire partie de tout message d’alerte est une description en texte clair de l’erreur détectée par Uptrends. Supposons que le système auquel vous souhaitez vous connecter possède un champ appelé “errordescription”. Vous pouvez insérer la description de l’erreur d’Uptrends dans ce champ en incluant la définition suivante dans votre message au format JSON :
{ "errordescription": "{{@alert.description}}" }
Dans les variables système d’Uptrends, la description textuelle de l’erreur qui déclenche une alerte est disponible dans la variable {{@ alert.description}}, il vous suffit donc de placer cette variable là où vous en avez besoin dans votre message. De même, vous pouvez utiliser {{@alert.timestamp}} pour faire référence à l’heure de l’alerte, {{@monitor.name}} pour inclure le nom du moniteur, etc. Toutes les variables système disponibles sont répertoriées dans cet article de la base de connaissances.
Spécifier les variables par niveau d’escalade
Lorsque l’option Personnaliser est active dans une intégration, vous pouvez gérer une ou plusieurs variables pour cette intégration dans l’onglet Principal. Pour les variables d’intégration prédéfinies (comme indiqué par Spécifier la valeur ici), la valeur par défaut est une valeur fixe. Vous pouvez ensuite faire référence à ces variables du message dans l’onglet Personnalisations. Pour plus d’informations sur la définition et l’utilisation des variables, lisez cet article de la base de connaissances sur utilisation de variables dans une configuration API multi-étapes. La même approche s’applique aux intégrations.
Pour celles-ci cependant, vous avez une option supplémentaire qui ajoute encore plus de puissance. Supposons que vous ayez créé une intégration qui se connecte à votre système de gestion informatique. L’intégration envoie des informations basées sur le moniteur et sur l’alerte qui ont déclenché le message d’alerte. Mais est-ce suffisant pour que le système de gestion informatique puisse prendre les mesures appropriées ? Pour être sûr, vous pouvez envoyer des informations supplémentaires sur la façon de gérer le nouvel incident. Autrement dit, comment l’incident doit-il être acheminé via le système externe ? Différentes définitions d’alerte (en fait, à l’intérieur des niveaux d’escalade) peuvent spécifier des informations de routage uniques, que vous pouvez inclure dans le message d’alerte sortant.
Pour le faire, définissez une variable dans l’onglet Principal de l’intégration, et choisissez Spécifiez la valeur dans le niveau d’escalade. Remarquez que vous ne pouvez plus lui donner de valeur dans l’intégration elle-même. C’est plutôt dans les niveaux d’escalade de vos définitions d’alerte, où vous allez spécifier des valeurs pour cette variable. Par conséquent, vous n’avez besoin de créer qu’une seule définition d’intégration pour votre système de gestion informatique, tout en conservant une flexibilité dans la manière dont toutes les alertes y sont traitées.
Utilisation d’un ensemble d’informations d’identification du coffre-fort
Il est possible d’utiliser des références vers des informations d’identification dans le coffre-fort à tout moment dans le corps de la requête, dans les en-têtes de requête ou en tant que valeur pour votre nom d’utilisateur/mot de passe sousAuthentification. Pour faire référence à un élément de coffre-fort, utilisez la syntaxe suivante : {{@VaultItem.<itemGuid>.Password}}
(ou bien ‘Username’ à la place de ‘Password’). Vous trouverez le itemGuid
pour ces informations d’identification en y accédant dans le coffre de votre compte et en lisant son URL.
Inclure des identifiants externes ou des données personnalisées
Lorsque vous intégrez Uptrends à un système tiers, il est utile de configurer une relation entre vos moniteurs Uptrends et les ressources (parfois appelées composants ou services) que vous avez définies dans le système tiers. Les moniteurs de votre compte Uptrends ont un nom et un identifiant unique (un monitorGuid), mais ceux-ci ne sont généralement pas connus dans le système tiers. Les ressources définies dans le système tiers ont probablement aussi leur propre identifiant, qu’Uptrends ne connaît pas non plus.
Si vous souhaitez qu’un moniteur dans Uptrends déclenche un incident pour une ressource spécifique de l’autre côté, vous devez définir une sorte de relation entre les deux. Dans Uptrends, vous pouvez définir cette relation en prenant l’identifiant (ou d’autres informations importantes) de la ressource/composant externe et en l’ajoutant en tant que valeur personnalisée dans les paramètres d’un moniteur.
Par conséquent, les données d’alerte envoyées au système externe par Uptrends peuvent inclure cet identifiant, de sorte que le système récepteur sache quelle ressource ou composant est affecté par l’alerte entrante.
Il est possible d’ajouter des champs personnalisés dans la section Métadonnées de l’onglet Principal d’un moniteur. Mis à part la valeur externe que vous souhaitez stocker, chaque champ personnalisé doit également avoir un nom unique de façon à pouvoir y faire référence dans un message d’alerte. Par exemple, supposons que votre système tiers ait le concept de composants et que chaque composant ait un ComponentId comme identifiant unique. Il faudrait spécifier ce ComponentId dans les paramètres du moniteur d’Uptrends, afin que les deux puissent être liés ensemble.
Pour ce faire, recherchez la section Champs personnalisés dans les paramètres de votre moniteur. Ajoutez un champ personnalisé en remplissant « ComponentId » comme nom de champ et une valeur externe appropriée (par exemple, 7149488f-0b33-460d-85eb-210c0e80d7ba) comme valeur de champ. Cliquez sur
pour enregistrer les nouvelles valeurs.Désormais la valeur externe va être envoyée dans le message d’alerte ; il fait partie du corps de la requête du message sortant. Vous pouvez utiliser la fonction {{@CustomField()}} pour faire référence au champ personnalisé que vous venez d’ajouter. Par exemple, vous pouvez ajouter ce fragment au corps de la requête :
{ "Component": "{{@CustomField(ComponentId)}}" }
Remarquez que le nom de champ “ComponentId” que nous avons utilisé dans les paramètres du moniteur est littéralement inclus dans l’appel de fonction @CustomField (). Lorsqu’une véritable alerte est déclenchée, le contenu suivant sera généré :
{ "Component": "7149488f-0b33-460d-85eb-210c0e80d7ba" }
Le système externe peut utiliser cette valeur pour créer un incident pour le composant indiqué. Cet exemple utilise un seul champ personnalisé, mais vous pouvez en utiliser plusieurs si vous le souhaitez.