Workflow n8n

Déduplication et priorisation des alertes d'incident selon la gravité

Les équipes IT font souvent face à un grand nombre d’alertes d’incident provenant de sources variées, rendant leur gestion complexe. Ce workflow reçoit des alertes structurées via webhook, vérifie les données, regroupe par service et code d’erreur, compte les occurrences, identifie la gravité maximale et l’événement le plus récent par groupe, puis calcule une priorité. Le résultat est une liste d’incidents consolidée et triée par priorité au format JSON, idéale pour une gestion efficace des alertes.

Les équipes IT et les opérateurs de systèmes de monitoring ou de gestion des incidents peuvent tirer parti de ce workflow pour consolider efficacement de nombreuses alertes issues de différentes sources. Les alertes structurées sont reçues au format JSON via un webhook POST. Le workflow vérifie que les données d'entrée sont un tableau non vide d’alertes contenant les champs service, errorCode, severity (1-5) et timestamp. Les entrées invalides sont rejetées avec un message d’erreur clair et un index. Les alertes valides sont regroupées par service et code d’erreur, le nombre d’occurrences par groupe est calculé, la gravité maximale (severity) et l’événement le plus récent (timestamp) sont identifiés. Une priorité est calculée pour chaque groupe (maxSeverity*100 + count). Le résultat est une liste d’incidents triée par priorité, comprenant tous les champs pertinents, renvoyée au format JSON. L’authentification du webhook doit être activée séparément dans n8n pour éviter tout accès non autorisé. Les données d’exécution sont stockées dans n8n et doivent être gérées conformément aux exigences de confidentialité. Ce workflow peut servir de base à d’autres automatisations comme les notifications ou la création de tickets. L’adaptation à vos propres schémas d’alerte est possible, mais peut nécessiter des modifications dans le code node.

Déduplication et priorisation des alertes d'incident selon la gravité
Image générée par IA

Installation

1. Importez le workflow dans n8n. 2. Vérifiez le node Webhook et activez l'authentification du webhook dans n8n. 3. Enregistrez le workflow. 4. Lancez le listener de test et copiez l'URL de test affichée dans le node Webhook. 5. Envoyez une requête POST avec Content-Type application/json et le corps d'exemple suivant à l'URL de test à l'aide d'un outil comme curl ou Postman : ```json { "alerts": [ {"service": "DB", "errorCode": "E1", "severity": 3, "timestamp": "2024-06-01T10:00:00Z"}, {"service": "DB", "errorCode": "E1", "severity": 5, "timestamp": "2024-06-01T11:00:00Z"}, {"service": "API", "errorCode": "E2", "severity": 2, "timestamp": "2024-06-01T09:00:00Z"} ] } ``` 6. Vérifiez la réponse (voir guide d'utilisation). Publiez/activez le workflow uniquement après un test réussi et utilisez l'URL de production du node Webhook.

Utilisation

1. Envoyez une requête POST avec Content-Type application/json et un corps conforme à l'exemple du guide d'importation à l'URL du webhook. 2. Réponse attendue en cas de succès (HTTP 200) : ```json { "status": "success", "incidents": [ { "fingerprint": "DB|E1", "service": "DB", "errorCode": "E1", "count": 2, "maxSeverity": 5, "latestTimestamp": "2024-06-01T11:00:00Z", "priority": 502 }, { "fingerprint": "API|E2", "service": "API", "errorCode": "E2", "count": 1, "maxSeverity": 2, "latestTimestamp": "2024-06-01T09:00:00Z", "priority": 201 } ], "inputCount": 3, "incidentCount": 2 } ``` 3. En cas d'erreur (ex. champ manquant, HTTP 200) : ```json { "status": "error", "message": "alerts muss ein nicht-leeres Array sein." } ``` Ou en cas d'alerte invalide : ```json { "status": "error", "message": "Ungültiger Alert.", "invalidIndex": 1 } ``` 4. Les sorties et erreurs réelles sont retournées au format JSON. Vérifiez les champs status, incidents, inputCount et incidentCount. 5. L'authentification du webhook doit être activée séparément dans n8n. N'utilisez l'URL de production qu'après un test réussi. 6. Les données d'exécution sont stockées dans n8n. Configurez la conservation et les droits d'accès selon vos besoins.

Connexions et APIs nécessaires

Connexions API

Aucun identifiant API enregistré n'a été détecté dans le JSON du workflow. Vérifiez tout de même les webhooks, systèmes cibles, identifiants et la protection des données avant l'activation.

Nœuds
WebhookCodeRespond to Webhook

Test fonctionnel isolé réussi

Test fonctionnel isolé facultatif

Le flux de données isolé a été testé sans services externes ni identifiants.

5 tests réussisAfficher les cas testésMasquer les cas testés
Cas normal avec données complètesVérifie le parcours standard complet avec des données d'exemple valides.Test fonctionnel isolé réussi
Variante ou cas limiteVérifie une variante valide ou un cas limite important.Test fonctionnel isolé réussi
Règle de traitement supplémentaireVérifie la règle de traitement métier supplémentaire de ce workflow.Test fonctionnel isolé réussi
Entrée invalide ou incomplèteVérifie que les données invalides ou incomplètes sont rejetées de façon contrôlée.Test fonctionnel isolé réussi
Entrée videVérifie qu'une requête vide reçoit une réponse contrôlée.Test fonctionnel isolé réussi

Avis acheteurs

Avis

Pas encore d'avis.

Retour au produit