Erstellen Sie einen benutzerdefinierten Pull-Connector

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 3 Minuten Lesedauer
  • Sie können einen benutzerdefinierten Pull-Connector erstellen, der ein Skript, eine Connector-Definition und eine Connector-Instanz erfordert, um Events im Namen einer Event-Quelle abzurufen.

    Vorbereitungen

    Erforderliche Rolle: evt_mgmt_admin

    Warum und wann dieser Vorgang ausgeführt wird

    Ein benutzerdefiniertes Connector-Skript kann Remote-API-Aufrufe für eine neue Event-Quelle ausführen, um Events an die ServiceNow-Instanz zu senden. Sie können ein Skript erstellen und es dann als Teil einer neuen Ereignismanagement-Connector-Definition und Connector-Instanz hinzufügen. Dieses Verfahren erstellt automatisch eine JavaScript-Codedatei mit dem Namen, den Sie im Feld Name als Dateinamen eingegeben haben. Der benutzerdefinierte JavaScript-Code, der diese Aktionen ausführt, muss:
    • Verbindung mit einem Event-Überwachungstool herstellen
    • Events aus einem Event-Überwachungstool abrufen
    • Events mithilfe einer Webservice-API an die Tabelle Event [em_event] senden Siehe REST-API.
    Jede Connector-Definition ist spezifisch für einen Event-Quellenanbieter. Die Connector-Definition gibt die MID Server-Skripteinbindung an, die Events aus der externen Event-Quelle abruft. Darüber hinaus gibt die Connector-Definition an, welche Connector-Instanzwertparameter erforderlich sind, um eine Verbindung mit dem externen Event-Quellhost herzustellen.

    Prozedur

    1. Erstellen Sie eine benutzerdefinierte MID Server-Skripteinbindung.
      In diesem Beispiel wird Groovy (veraltet) verwendet. Anstelle einer Skripteinbindung in Groovy wird die Verwendung von JavaScript empfohlen.
      1. Implementieren Sie diese Methoden:
        • @Override OperationStatus testConnection()
        • @Override OperationStatus execute()
      2. Entwerfen Sie die Klasse, um den ThirdPartyConnector zu erweitern.
        
         public class HypericConnector extends ThirdPartyConnector
        
      3. Importieren Sie Plattformklassen für Event-Erstellung, -versand, -protokollierung und Connector-Basisklassen von Drittanbietern.
        
        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. Stellen Sie über die vom Sammler bereitgestellte API eine Verbindung zum Datensammler her, z. B. SCOM oder VMware vRealize Hyperic (Hyperic).
      5. Verwenden Sie die context-Parameter, um die Ereignisfeldwerte festzulegen, die von einer Connector-Instanz stammen.
        
        def authString = (context.username + ':'+ context.password).getBytes().encodeBase64().toString()
        def urlStr = 'http://'+context.host + ':' + context.parameters.port + '/' + apiFunction
        
      6. Implementieren Sie die Ausführungsfunktion im Skript.
        Es liest Events vom Connector mithilfe seiner API, um Event-Objekte zu erstellen und an die ServiceNow-Instanz zu senden. Beispiel:
        
        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. Navigieren zu MID-Server > MID-Serverskriptdateien und erstellen Sie ein Skript.
    3. Geben Sie das Feld Übergeordnet als Groovy an, füllen Sie das Formular entsprechend aus, und klicken Sie dann auf Senden.
    4. Navigieren zu Ereignismanagement > Integrationen > Anschlussdefinitionen und erstellen Sie eine Connector-Definition.
    5. Wählen Sie im Feld Auszuführendes Groovy-Skript die MID Server-Skriptdatei aus und füllen Sie das Formular entsprechend aus.
      Zusätzlich zum Benutzernamen oder Host können Sie weitere Parameter, z. B. Port, hinzufügen und dann auf Senden klicken.
    6. Navigieren zu Ereignismanagement > Integrationen > Anschlussinstanzen und erstellen Sie eine Connector-Instanz.
    7. Wählen Sie im Feld Connector-Definition die Connector-Definition aus, füllen Sie das Formular entsprechend aus, und klicken Sie dann auf Senden.
    8. Zum Bestätigen oder Debuggen des Skripts verwenden Sie Debug-Ausdrucke von Groovy im MID Serverprotokoll.
    9. Um eingehende Events mit der benutzerdefinierten Connector-Instanz zu überwachen, navigieren Sie zu ECC > Warteschlange und filtern Sie nach ConnectorProbe.
    10. Erstellen Sie eine benutzerdefinierte Connector-Definition.
      1. Navigieren zu Alle > Ereignismanagement > Integrationen > Anschlussdefinitionen.
      2. Klicken Sie auf Neu.
      3. Geben Sie im Feld Name einen beschreibenden Namen für die Connector-Definition ein.
      4. Wählen Sie im Feld Skripttyp die Option Javascript aus.
      5. Rechtsklicken Sie auf die Formularüberschrift und wählen Sie Speichern.
      Das Feld Javascript ausführen wird automatisch mit dem Namen der JavaScript-Vorlagendatei ausgefüllt.
    11. Um die JavaScript-Standarddatei zu bearbeiten, klicken Sie auf das Informationssymbol ( Informationssymbol) rechts neben dem JavaScript-Dateinamen, und führen Sie die folgenden Schritte aus:
      1. Geben Sie die erforderlichen Informationen für die Funktion testConnection an.
        Diese Funktion testet die Connector-Definition, um sicherzustellen, dass die Verbindung mit dem Ziel gültig ist.
      2. Geben Sie die erforderlichen Informationen für die Funktion execute an.
        Diese Funktion ruft die Informationen aus der externen Quelle ab.
      3. Geben Sie die erforderlichen Informationen für die Funktion retrieveKpi an.
        Diese Funktion ruft die Metrikdaten aus der externen Quelle ab.
    12. Wahlweise: Sie können das Standard-JavaScript durch Ihren JavaScript-Code ersetzen.
    13. Füllen Sie die Felder entsprechend aus.
      Tabelle : 1. Formular Connector-Definition
      Feld Beschreibung
      Standardzeitplan Die Anzahl der Sekunden zwischen Versuchen, Events zu empfangen.
      Bidirektional Geben Sie an, dass das externe Überwachungssystem aktualisiert werden soll, wenn die Warnung geändert wird. Für SCOM ist eine Standardimplementierung vorhanden.
      Bezeichner für Warnungsfeld Geben Sie an, dass das externe Überwachungssystem aktualisiert werden soll, wenn das Warnungsfeld manuell geändert wird.
      Hinweis:
      Dieses Feld ist nur sichtbar, wenn Bidirektional ausgewählt ist.
      Metriken erfassen Wählen Sie diese Option aus, um die Erfassung von Metriken zu aktivieren.
      Hinweis:
      Metriken werden nur für externe SCOM-Event-Quellen erfasst.
      Standardzeitplan für Metrikerfassung (Sekunden) Geben Sie die Anzahl der Sekunden an Informationen an, die erfasst werden müssen. Der Standardwert beträgt 10 Sekunden.
      Hinweis:
      Dieses Feld wird nur angezeigt, wenn Metriken erfassen ausgewählt ist.
      Connector-Parameter Geben Sie die Parameter an, um die Kommunikation mit einem Event-Server zu ermöglichen.
      Connector-Definition zu MID-Server-Fähigkeiten Der MID-Server-Name zur Verarbeitung von Events vom Event-Server. Wenn nicht angegeben, wird ein verfügbarer MID-Server verwendet.
    14. Klicken Sie auf Absenden.