Transmission par push d’événements à l’instance à l’aide de l’API de service Web

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 4 minutes de lecture
  • Vous pouvez utiliser une interface de service Web, prise en charge par ServiceNow, qui fonctionne sur l'objet JSON comme format d'entrée et de sortie de données.

    Avant de commencer

    Rôle requis : evt_mgmt_integration

    Pourquoi et quand exécuter cette tâche

    Pour insérer des enregistrements dans la table d'événements [em_event] avec un seul appel, utilisez cette API de service Web :

    https://<nominstance>.service-now.com/api/global/em/jsonv2

    Remarque :
    les règles métier de la table d'événements ne sont pas invoquées lors de l'utilisation de cette URL.

    N'ajoutez pas de champs supplémentaires à un événement en ajoutant un champ personnalisé à la table d'événements [em_event]. Toutefois, des champs supplémentaires doivent être inclus dans le champ Informations supplémentaires [additional_info] de l'événement. Pour en savoir plus sur la façon d'inclure des champs supplémentaires dans les événements, consultez la rubrique Personnaliser les champs d'alertes.

    L’URL au format : http://&lt;instancename>.service-now.com/em_event.do?JSONv2&amp;sysparm_action=insertMultiple est également prise en charge si vous souhaitez activer Business Rules. La première URL offre cependant des performances supérieures.

    Pour utiliser l'URL qui se termine par =insertMultiple, ajoutez les propriétés suivantes, avec leurs valeurs respectives, au MID Server :
    • "mid.probe.event.queue.compress" - valeur : faux
    • "mid.probe.event.bulk_size" - valeur : 100
    • "mid.probe.event.endpoint.url" - valeur : em_event.do?JSONv2%26sysparm_action=insertMultiple

    Procédure

    1. Envoyez la demande avec les en-têtes suivants :
      Paramètre Type Description
      Accepter Chaîne Type acceptable pour ce message.

      La valeur par défaut est application/json.

      Content-Type Chaîne Type de contenu pour ce message.

      La valeur par défaut est application/json.

      POST Chaîne La demande est de type POST, avec un ou plusieurs enregistrements de fin.
    2. Il est possible d'envoyer un ou plusieurs événements au format JSON comme charge utile de l'appel de service Web.
      Les champs d'événement qui doivent être renseignés sont les suivants :
      Variable Description
      Source Nom du type de source d'événement. Par exemple, SCOM ou SolarWinds.
      Instance source (event_class) Instance spécifique du source. Par exemple, SCOM 2012 sur 10.20.30.40
      nœud Le champ node doit contenir un identificateur pour l'hôte (serveur/commutateur/routeur/etc.) pour lequel l'événement a été déclenché. La valeur du champ node peut être l'un des identificateurs suivants de l'hôte :
      • Nom
      • Nom de domaine complet
      • Adresse IP
      • Adresse MAC
      Si elle existe dans la CMDB, cette valeur est également utilisée pour lier l'événement au CI ServiceNow correspondant.
      resource Si l'événement fait référence à un appareil, notamment un lecteur, un processeur ou une carte réseau, ou à une application ou à un service en cours d'exécution sur un hôte, le nom de l'appareil ou de l'application doit être renseigné dans ce champ. Par exemple, Lecteur C:\ ou Carte réseau 001 ou Application Web Trade.
      em_event.metric_name Nom de la mesure ayant déclenché l'alerte. Par exemple, mémoire utilisée ou utilisation totale du processeur.
      type Type d'événement. Ce type peut être similaire au champ metric_name, mais est utilisé pour le regroupement général des types d'événements.
      message_key Cette valeur est utilisée pour la déduplication des événements. Par exemple, il peut exister deux événements pour le même CI, où un événement possède un processeur à 50 % et l'événement suivant possède un processeur à 99 %. Lorsque les deux événements doivent être mappés sur la même alerte ServiceNow, ils doivent disposer de la même clé de message. Vous pouvez laisser ce champ vide, auquel cas la valeur par défaut du champ est source+node+type+resource+metric_name. Le champ message_key ne doit être renseigné que lorsqu'il existe un meilleur identificateur que la valeur par défaut.
      severity Gravité de l'événement. Valeurs ServiceNow pour la plage de gravité comprise entre 1 – Critique et 5 – OK, avec une gravité de 0 – Effacer. Les valeurs de gravité d'origine doivent être envoyées dans le cadre d'informations supplémentaires.
      additional_info Ce champ au format clé/valeur JSON est destiné à contenir toutes les informations susceptibles d'être utilisées par l'utilisateur. Il ne correspond pas à un champ d'événement ServiceNow prédéfini. Par exemple, les ID d'objets dans la source d'événement, la priorité de l'événement (si elle n'est pas identique à la gravité), les informations sur le groupe d'affectation, etc. Les valeurs du champ Informations supplémentaires d'un événement qui ne sont pas au format clé/valeur JSON sont normalisées au format clé/valeur JSON lorsque l'événement est traité.
      time_of_event Heure à laquelle l'événement s'est produit sur l'origine de l'événement. Le format est le suivant : aaaa-MM-jj HH:mm:ss

      L'heure spécifiée doit être conforme au format GMT.

      resolution_state Facultatif : pour indiquer qu'un événement a été résolu ou n'a plus lieu, certains moniteurs d'événements utilisent la gravité « effacer », tandis que d'autres une valeur « fermer ». Ce champ est utilisé pour les moniteurs qui utilisent cette dernière valeur. Les valeurs valides sont Nouveau et Fermeture.
    3. Pour créer plusieurs enregistrements avec un seul appel, déclenchez le service Web d'événement à l'aide de l'URL suivante, où la variable <nominstance> est remplacée par le nom de l'instance requise :
      https://<nominstance>.service-now.com/api/global/em/jsonv2
      Exemple montrant la charge utile pour deux événements envoyés dans un seul appel de service Web :
      { "records":	
       [
        {
         "source":"SCOM",
         "event_class":"SCOM 2012 on scom.server.com",
         "resource":"D:",
         "node":"name.of.node.com",
         "metric_name":"Percentage Logical Disk Free Space",
         "type":"Disk space",
         "severity":"4",
         "description":"The disk D: on computer V-W2K8-abc.abc.com is running out of disk space. The value that exceeded the threshold is 38% free space.",
         "additional_info": '{"scom-severity":"Medium","metric-value":"38","os_type":"Windows.Server.2008"}'
         },
        {
         "source":"SCOM",
         "event_class":"SCOM 2012 on scom.server.com",
         "resource":"MSSQL-database-name",
         "node":"other.node.com",
         "metric_name":"DB Allocated Size (MB)",
         "type":"Database Storage",
         "severity":"3",
         "description":"High number of active connections for MSSQL-database-name running on name.of.node.com. Active connections exceed 5000.",
         "additional_info": '{"scom-severity":"Medium","metric-value":"38","os_type":"Windows.Server.2008"}'
        }
       ]
      }
    4. Pour créer un enregistrement avec un seul appel, déclenchez le service Web d'événement à l'aide de l'URL suivante, où la variable <nominstance> est remplacée par le nom de l'instance requise :
      http://<nominstance>.service-now.com/api/global/em/jsonv2
      Exemple montrant la charge utile d'un événement envoyé dans un seul appel de service Web :
      { "records":	
       [
        {
         "source":"SCOM",
         "event_class":"SCOM 2007 on scom.server.com",
         "resource":"C:",
         "node":"name.of.node.com",
         "metric_name":"Percentage Logical Disk Free Space",
         "type":"Disk space",
         "severity":"4",
         "description":"The disk C: on computer V-W2K8-dfg.dfg.com is running out of disk space. The value that exceeded the threshold is 41% free space.",
         "additional_info": '{"scom-severity":"Medium","metric-value":"38","os_type":"Windows.Server.2008"}'
        }     
       ]
      }