Partage et réutilisation des définitions d'événements d' Instana

Découvrez comment créer, exporter, valider, publier, télécharger et importer des définitions d'événements à l'aide de l'interface de ligne de commande (CLI) d' Instana, destinée à la gestion des paquets d'intégration.

Les définitions d'événements constituent un élément essentiel d'une stratégie d'observabilité complète. Si les tableaux de bord permettent de visualiser le comportement du système, les définitions d'événements permettent de détecter des problèmes tels que le dépassement de seuils, des tendances anormales dans les métriques ou une dégradation des services.

Grâce à l'interface CLI d' Instana, dédiée à la gestion des paquets d'intégration, vous pouvez exporter des définitions d'événements, les regrouper dans des paquets d'intégration et les partager entre les équipes et les environnements. Cette approche permet de mettre en place des pratiques cohérentes et réutilisables en matière d'alertes et de détection des incidents.

Prérequis

Avant de commencer, assurez-vous que l'interface CLI d' Instana pour la gestion des paquets d'intégration (stanctl-integration) est installée. Pour obtenir les instructions d'installation, consultez la page stanctl-integration – Interface CLI d' Instana pour la gestion des paquets d'intégration.

Créer un package d'intégration (Producteur)

  1. Initialiser un package d'intégration. Avant d'exporter les définitions d'événements, initialisez un package d'intégration à l'aide de l'interface de ligne de commande (CLI) Instana pour la gestion des packages d'intégration :
    $ stanctl-integration init
    Lors de l'initialisation, sélectionnez les types d'intégration que vous souhaitez inclure. La structure des répertoires est générée en fonction de votre sélection. Par exemple, si vous sélectionnez uniquement les événements, la structure suivante est créée :
    packages
    └── @instana-integration
       └── packagename
           ├── events
           ├── README.md
           └── package.json
    Pour plus de détails sur la configuration initiale, consultez la section « Rendre vos tableaux de bord d' Instana s accessibles au public ».
  2. Créez les définitions d'événements. Pour définir un événement dans l' Instana :
    1. Accédez à Paramètres > Événements.
    2. Cliquez sur « Nouvel événement ».
    3. Veuillez fournir la configuration requise :
      • Nom et description
      • Gravité (warning ou critical)
      • Configuration des incidents et délai de grâce
      • Champ d'application et conditions relatives aux indicateurs
    Pour plus d'informations sur les options de configuration, consultez la documentation du produit « Instana » consacrée à la définition des événements personnalisés.
  3. Exporter les définitions d'événements. Une fois la définition d'événement créée, exportez-la à l'aide de l'interface de ligne de commande.
    # Export by title
    $ stanctl-integration export \
      --server $INSTANA_SERVER \
      --token $API_TOKEN \
      --include type=event title="High CPU Alert" \
      --location ./my-package# Export by ID
    $ stanctl-integration export \
      --server $INSTANA_SERVER \
      --token $API_TOKEN \
      --include type=event id=event12345 \
      --location ./my-package
    La définition d'événement exportée est enregistrée au format JSON et doit être placée dans le events répertoire de votre package d'intégration.
  4. Vérifiez vos définitions d'événements. Avant de publier votre paquet, vous pouvez utiliser la lint commande pour valider vos définitions d'événements :
    # Navigate to the folder of the package you want to lint
    $ stanctl-integration lint# Linting with a specific package path
    $ stanctl-integration lint --path /path/to/package# Linting with debug mode enabled
    $ stanctl-integration lint --debug
    La commande lint vérifie que chaque fichier de définition d'événement JSON contient les champs obligatoires et affiche des messages détaillés indiquant si l'opération a abouti ou a échoué pour chaque fichier.
  5. Publiez le package d'intégration. Une fois les définitions d'événements ajoutées au package, publiez-le afin de pouvoir le réutiliser. Il existe deux façons de publier :
    • Publier dans un registre auto-hébergé. Pour publier dans un registre, exécutez la commande suivante :
      $ stanctl-integration publish --package @instana-integration/packagename \
        --registry-username <your_username> --registry-email <your_email>
      Si c'est la première fois que vous publiez, le système vous invite à vous authentifier auprès du registre.
    • Contribuez au dépôt hébergé sur IBM. Pour publier via le dépôt officiel hébergé sur IBM :
      • Faites un fork du dépôt « observability-as-code » sur GitHub.
      • Ajoutez votre package d'intégration.
      • Envoyez une pull request pour révision.
      Une fois approuvé et intégré, le paquet est publié dans le registre central hébergé sur IBM. Le paquet est désormais disponible pour l'ensemble de la communauté Instana.

Utiliser un package d'intégration (Consommateur)

  1. Téléchargez le package. Les paquets contenant des définitions d'événements peuvent être téléchargés depuis le registre central avant d'être importés dans votre environnement Instana.
    # Download a package from the central registry
    $ stanctl-integration download \
      --package @instana-integration/packagename
  2. Importation des définitions d'événements. Une fois le package téléchargé, vous pouvez importer des définitions d'événements à partir d'un package hébergé dans le registre ou d'un package local.
    # Import the full package
    $ stanctl-integration import \
      --package @instana-integration/packagename \
      --server $INSTANA_SERVER \
      --token $API_TOKEN# Import only event definitions
    $ stanctl-integration import \
      --package @instana-integration/packagename \
      --server $INSTANA_SERVER \
      --include "events/**/*.json" \
      --token $API_TOKEN# Import a single event definition
    $ stanctl-integration import \
      --package @instana-integration/packagename \
      --server $INSTANA_SERVER \
      --include "events/**/eventTitle.json" \
      --token $API_TOKEN

    Une fois l'importation terminée, les définitions d'événements sont disponibles dans votre environnement Instana et peuvent être consultées ou modifiées selon vos besoins.