Como enviar eventos para a instância usando a API de serviço web

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 4 min. de leitura
  • Você pode usar uma interface de serviço web, compatível com ServiceNow, que opera no objeto JSON como o formato de entrada e saída de dados.

    Antes de Iniciar

    Função necessária: evt_mgmt_integration

    Por Que e Quando Desempenhar Esta Tarefa

    Para inserir registros na tabela de eventos [em_event] com uma única chamada, use esta API de serviço web:

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

    Nota:
    As regras de negócio na tabela de eventos não são invocadas quando este URL é usado.

    Não adicione campos adicionais a um evento adicionando um campo personalizado à tabela de eventos [em_event]. No entanto, os campos adicionais devem ser incluídos no campo Informações adicionais [additional_info] do evento. Para obter mais informações sobre como incluir campos adicionais em eventos, consulte Campos de alerta personalizados.

    O URL no formato: http:// <instancename> .service-now.com/em_event.do?JSONv2&sysparm_action=insertMultiple também é compatível, caso você queira ativar Regras de negócio. No entanto, o desempenho do primeiro URL é superior.

    Para trabalhar com o URL que termina com =insertMultiple, adicione as seguintes propriedades, com seus respectivos valores, ao MID Server:
    • "mid.probe.event.queue.compress" - valor: falso
    • "mid.probe.event.bulk_size" - valor: 100
    • "mid.probe.event.endpoint.url" - valor: em_event.do?JSONv2%26sysparm_action=insertMultiple

    Procedimento

    1. Envie a solicitação com estes cabeçalhos:
      Parâmetro Tipo Descrição
      Aceitar Cadeia de caracteres O tipo aceitável para esta mensagem.

      O valor padrão é application/json.

      Tipo de conteúdo Cadeia de caracteres O tipo de conteúdo desta mensagem.

      O valor padrão é application/json.

      POST Cadeia de caracteres O tipo de solicitação é POST, com um ou mais registros à direita.
    2. Um ou mais eventos no formato JSON podem ser enviados como a carga da chamada de serviço web.
      Os campos de evento que devem ser preenchidos são:
      Variável Descrição
      Fonte O nome do tipo de origem do evento. Por exemplo, SCOM ou SolarWinds.
      Instância de origem (event_class) Instância específica do source. Por exemplo, SCOM 2012 em 10.20.30.40
      node O campo de deve conter um identificador do host (servidor/comutador/roteador etc.) para o qual o evento foi acionado. O valor do campo de pode ser um dos seguintes identificadores do host:
      • Nome
      • FQDN
      • IP
      • Endereço Mac
      Se existir no CMDB, este valor também será usado para vincular o evento ao IC da ServiceNow correspondente.
      recurso Se o evento se referir a um dispositivo, como Disco, CPU ou Adaptador de Rede, ou a uma aplicação ou serviço em execução em um Host, o nome do dispositivo ou aplicação deverá ser preenchido neste campo. Por exemplo, Disk C:\ ou Nic 001 ou aplicação web de comércio.
      em_event.metric_name Nome da métrica que acionou o alerta. Por exemplo, Memória usada ou Utilização total da CPU.
      tipo O tipo de evento. Este tipo pode ser semelhante ao campo metric_name, mas é usado para agrupamento geral de tipos de evento.
      message_key Este valor é usado para desduplicação de eventos. Por exemplo, pode haver dois eventos para o mesmo IC, em que um evento tem CPU de 50% e o próximo evento tem CPU de 99%. Onde ambos os eventos devem ser mapeados para o mesmo alerta da ServiceNow, eles devem ter a mesma chave de mensagem. O campo pode ser deixado em branco e, nesse caso, o valor do campo é padronizado como source+node+type+resource+metric_name. O message_key deve ser preenchido somente quando houver um identificador melhor do que o padrão.
      severidade Gravidade do evento. Os valores da ServiceNow para severidade variam de 1 – Crítico a 5 – OK, com severidade de 0 – Limpo. Os valores de severidade originais devem ser enviados como parte das informações adicionais.
      adicional_info Este campo está no formato de chave/valor JSON e deve conter todas as informações que possam ser úteis para o usuário. Ele não é mapeado para um campo de evento ServiceNow predefinido. Os exemplos incluem IDs de objetos na origem do evento, prioridade do evento (se não for igual à gravidade), informações do grupo de atribuição e assim por diante. Os valores no campo Informações adicionais de um Evento que não estão no formato de chave/valor JSON são normalizados para o formato JSON quando o evento é processado.
      time_of_event Hora em que o evento ocorreu na origem do evento. O formato é: aaaa-MM-dd HH:mm:ss

      A hora especificada deve estar de acordo com o GMT.

      resolução_estado Opcional – Para indicar que um evento foi resolvido ou não está mais ocorrendo, alguns monitores de eventos usam a severidade "limpa", enquanto outros monitores de eventos usam um valor "encerrar" para a severidade. Este campo é usado para os monitores que oferecem o último. Os valores válidos são Novo e Encerrando.
    3. Para criar vários registros com uma única chamada, acione o serviço Web de eventos usando o URL a seguir, em que o<instance name> A variável é substituída pelo nome da instância necessária:
      https://<instancename> .service-now.com/api/global/em/jsonv2
      Exemplo que mostra a carga de dois eventos que são enviados em uma única chamada de serviço 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. Para criar um registro com uma única chamada, acione o serviço Web de eventos usando o URL a seguir, em que o<instancename> A variável é substituída pelo nome da instância necessária:
      http://<instancename> .service-now.com/api/global/em/jsonv2
      Exemplo que mostra a carga de um evento que é enviado em uma única chamada de serviço 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"}'
        }     
       ]
      }