Créer un connecteur pull personnalisé

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 4 minutes de lecture
  • Vous pouvez créer un connecteur pull personnalisé qui nécessite un script, une définition de connecteur et une instance de connecteur pour récupérer des événements au nom d’une source d’événement.

    Avant de commencer

    Rôle requis : evt_mgmt_admin

    Pourquoi et quand exécuter cette tâche

    Un script de connecteur personnalisé peut effectuer des appels d’API distants pour une nouvelle source d’événement afin d’envoyer des événements à l’instance ServiceNow . Vous pouvez créer un script, puis l’ajouter dans le cadre d’une nouvelle définition de connecteur et d’une nouvelle Gestion des événements instance de connecteur. Cette procédure crée automatiquement un fichier de code JavaScript à l’aide du nom que vous entrez dans le champ Nom comme nom de fichier. Le code personnalisé JavaScript qui accomplit ces actions doit :
    • Connectez-vous à un outil de surveillance d’événement.
    • Récupérez des événements à partir d’un outil de surveillance d’événement.
    • Envoyez des événements à la table Événement [em_event] à l’aide d’une API de service Web. Voir API REST.
    Chaque définition de connecteur est spécifique à un fournisseur de source d’événement. La définition du connecteur spécifie l’include de script de serveur MID qui extrait les événements de la source d’événement externe. En outre, la définition du connecteur spécifie les paramètres de valeur d’instance de connecteur nécessaires pour se connecter à l’hôte de la source d’événement externe.

    Procédure

    1. Créez un include de script de serveur MID personnalisé.
      Cet exemple utilise Groovy (obsolète). Au lieu d’un include de script dans Groovy, il est recommandé d’utiliser JavaScript.
      1. Implémentez ces méthodes :
        • @Override OperationStatus testConnection()
        • @Override OperationStatus execute()
      2. Concevez la classe pour étendre le ThirdPartyConnector.
        
         public class HypericConnector extends ThirdPartyConnector
        
      3. Importez des classes de plateforme pour la création d’événements, l’envoi, la journalisation et les classes de base de connecteur tiers.
        
        package com.service_now.mid.probe.tpcon.test
        
        import com.glide.util.Log
        import com.service_now.mid.MIDServer
        import com.service_now.mid.probe.event.IEventSender
        import com.service_now.mid.probe.event.SNEventSender
        import com.service_now.mid.probe.tpcon.OperationStatus
        import com.service_now.mid.probe.tpcon.OperationStatusType
        import com.service_now.mid.probe.tpcon.ThirdPartyConnector
        import com.snc.commons.eventmgmt.Event
         
      4. Connectez-vous au collecteur de données, tel que SCOM ou VMware vRealize Hyperic (Hyperic), à l’aide de l’API fournie par le collecteur.
      5. Utilisez les context paramètres pour définir les valeurs de champ d’événement provenant d’une instance de connecteur.
        
        def authString = (context.username + ':'+ context.password).getBytes().encodeBase64().toString()
        def urlStr = 'http://'+context.host + ':' + context.parameters.port + '/' + apiFunction
        
      6. Implémenter la fonction d’exécution dans le script.
        Il lit les événements à partir du connecteur à l’aide de son API pour créer des objets d’événement et les envoyer à l’instance ServiceNow . Par exemple :
        
        GPathResult alertsResponse1 = readAlerts('hqu/hqapi1/alert/find.hqu?begin=' + lastSignatureStr +
        '&end='+ tillStr +'&count=1000000&severity=1&inEscalation=false&notFixed=false');
        Event event = new Event()
        event.emsSystem = context.name
        event.source = "Hyperic"
        event.description = it.@reason
        event.type = it.@name
        ...
        IEventSender eventSender = MIDServer.getSingleton(SNEventSender.class)
            for (Event event  : list) {
                eventSender.sendEvent(event)
             }
        
    2. Accédez à la Serveur MID > Fichiers de script de serveur MID et créer un script.
    3. Spécifiez le champ Parent comme Groovy, remplissez le formulaire comme il vous convient, puis cliquez sur Soumettre.
    4. Accédez à la Gestion des événements > Intégrations > Définitions des connecteurs et créer une définition de connecteur.
    5. Dans le champ Script Groovy à exécuter , sélectionnez le fichier de script du serveur MID et renseignez le formulaire comme il vous convient.
      En plus du nom d’utilisateur ou de l’hôte, vous pouvez ajouter tout autre paramètre, par exemple, le port, puis cliquer sur Envoyer.
    6. Accédez à la Gestion des événements > Intégrations > Instances des connecteurs et créer une instance de connecteur.
    7. Dans le champ Définition du connecteur , sélectionnez la définition du connecteur, remplissez le formulaire comme il vous convient, puis cliquez sur Soumettre.
    8. Pour confirmer ou déboguer le script, utilisez les impressions de débogage de Groovy vers le journal du serveur MID.
    9. Pour surveiller les événements entrants à l’aide de l’instance de connecteur personnalisée, accédez à ECC (en anglais seulement) > File d'attente et le filtre sur ConnectorProbe.
    10. Créez une définition de connecteur personnalisée.
      1. Accédez à la Tous > Gestion des événements > Intégrations > Définitions des connecteurs.
      2. Cliquez sur Nouveau.
      3. Dans le champ Nom , saisissez un nom descriptif pour la définition de connecteur.
      4. Dans le champ Type de script , sélectionnez JavaScript.
      5. Cliquez avec le bouton droit sur l'en-tête du formulaire, puis sélectionnez Enregistrer.
      Le champ JavaScript à exécuter est automatiquement renseigné avec le nom du fichier de modèle JavaScript.
    11. Pour modifier le fichier JavaScript par défaut, cliquez sur l’icône d’informations ( icône d’informations) à droite du nom du fichier JavaScript et procédez comme suit :
      1. Spécifiez les informations requises pour la fonction testConnection .
        Cette fonction teste la définition du connecteur pour vérifier si la connexion à la cible est valide.
      2. Spécifiez les informations requises pour la fonction d’exécution .
        Cette fonction récupère les informations à partir de la source externe.
      3. Spécifiez les informations requises pour la fonction retrieveKpi .
        Cette fonction récupère les données de mesure à partir de la source externe.
    12. Facultatif : Vous pouvez remplacer le JavaScript par défaut par votre code JavaScript.
    13. Renseignez les champs comme il convient.
      Tableau 1. Formulaire Définition du connecteur
      Champ Description
      Calendrier par défaut Nombre de secondes entre les tentatives de réception des événements.
      Bidirectionnel Spécifiez cette option pour activer la mise à jour du système de surveillance externe si l’alerte est modifiée. Il existe une implémentation par défaut pour SCOM.
      Identificateur du champ d’alerte Spécifiez le champ d’alerte qui, s’il est changé manuellement, entraîne la mise à jour du système de surveillance externe.
      Remarque :
      Ce champ s’affiche uniquement si l’option Bidirectionnel est sélectionnée.
      Collecter les mesures Sélectionnez cette option pour activer la collecte de mesures.
      Remarque :
      Les mesures sont collectées uniquement pour les sources d’événements externes SCOM.
      Calendrier par défaut de collecte de mesures (secondes) Spécifiez le nombre de secondes d’informations qui doivent être collectées. La valeur par défaut est de 10 secondes.
      Remarque :
      Ce champ s’affiche uniquement si l’option Collecter les mesures est sélectionnée.
      Paramètres du connecteur Spécifiez les paramètres pour permettre la communication avec un serveur d’événement.
      Définition du connecteur à Serveur MID Aptitudes Nom Serveur MID pour traiter les événements provenant du serveur d’événements. Si aucun élément n’est spécifié, un élément disponible Serveur MID est utilisé.
    14. Cliquez sur Envoyer.