Criar um conector de extração personalizado

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 4 min. de leitura
  • Você pode criar um conector de extração personalizado que requer um script, uma definição de conector e uma instância de conector para recuperar eventos em nome de uma origem de evento.

    Antes de Iniciar

    Função necessária: evt_mgmt_admin

    Por Que e Quando Desempenhar Esta Tarefa

    Um script de conector personalizado pode fazer chamadas de API remotas para uma nova origem de evento para enviar eventos para a instância ServiceNow. Você pode criar um script e adicioná-lo como parte de uma nova definição de conector Gestão de eventos e instância de conector. Este procedimento cria automaticamente um arquivo de código JavaScript usando o nome inserido no campo Nome como o nome do arquivo. O código JavaScript personalizado que realiza essas ações deve:
    • Conecte-se a uma ferramenta de monitoramento de eventos.
    • Recupere eventos de uma ferramenta de monitoramento de eventos.
    • Envie eventos para a tabela Evento [em_event] usando uma API de serviço web. Consulte REST API.
    Cada definição de conector é específica para um fornecedor de origem de evento. A definição do conector especifica a inclusão de script do MID Server que extrai eventos da origem de evento externa. Além disso, a definição do conector especifica quais parâmetros de valor de instância do conector são necessários para se conectar ao host de origem de evento externo.

    Procedimento

    1. Crie uma inclusão de script personalizada do MID Server.
      Este exemplo usa o Groovy (descontinuado). Em vez de uma inclusão de script no Groovy, é recomendável usar JavaScript.
      1. Implemente estes métodos:
        • @Override TestConnection() de OperationStatus
        • @Override execução de OperationStatus()
      2. Projete a classe para estender o ThirdPartyConnector.
        
         public class HypericConnector extends ThirdPartyConnector
        
      3. Importe classes de plataforma para criação de eventos, envio, registro em log e classes base de conector de terceiros.
        
        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. Conecte-se ao coletor de dados, como SCOM ou VMware vRealize Hyperic (Hyperic), com a API fornecida pelo coletor.
      5. Use os parâmetros context para definir os valores de campo de evento que vieram de uma instância do conector.
        
        def authString = (context.username + ':'+ context.password).getBytes().encodeBase64().toString()
        def urlStr = 'http://'+context.host + ':' + context.parameters.port + '/' + apiFunction
        
      6. Implemente a função de execução no script.
        Ele lê eventos do conector usando sua API para criar objetos de evento e enviá-los para a instância ServiceNow. Por exemplo:
        
        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. Navegar até MID Server > Arquivos de script do MID Server e crie um script.
    3. Especifique o campo Primário como Groovy, preencha o formulário conforme apropriado e clique em Enviar.
    4. Navegar até Gestão de eventos > Integrações > Definições do Conector e crie uma definição de conector.
    5. No campo Script do Groovy a ser executado, selecione o arquivo de script do MID Server e preencha o formulário conforme apropriado.
      Além de nome de usuário ou host, você pode adicionar qualquer outro parâmetro, por exemplo, portae clicar em Enviar.
    6. Navegar até Gestão de eventos > Integrações > Instâncias do Conector e crie uma instância do conector.
    7. No campo Definição do conector, selecione a definição do conector, preencha o formulário conforme apropriado e clique em Enviar.
    8. Para confirmar ou depurar o script, use impressões de depuração do Groovy para o log do MID Server.
    9. Para monitorar eventos de entrada usando a instância do conector personalizado, navegue até ECC > Fila e filtre em ConnectorProbe.
    10. Crie uma definição de conector personalizada.
      1. Navegar até Todos > Gestão de eventos > Integrações > Definições do Conector.
      2. Clique em Nova.
      3. No campo Nome, digite um nome descritivo para a definição do conector.
      4. No campo Tipo de script, selecione Javascript.
      5. Clique com o botão direito no cabeçalho do formulário e selecione Salvar.
      O campo Javascript a ser executado é preenchido automaticamente com o nome do arquivo de modelo JavaScript.
    11. Para editar o arquivo JavaScript padrão, clique no ícone de informações ( ícone de informações) à direita do nome do arquivo JavaScript e siga estas etapas:
      1. Especifique as informações necessárias para a função testConnection.
        Esta função testa a definição do conector para verificar se a conexão com o destino é válida.
      2. Especifique as informações necessárias para a função de execução.
        Esta função recupera as informações da fonte externa.
      3. Especifique as informações necessárias para a função recuperaKpi.
        Esta função recupera os dados de métrica da fonte externa.
    12. Opcional: Você pode substituir o JavaScript padrão pelo seu código JavaScript.
    13. Preencha os campos, se for o caso.
      Tabela 1. Formulário de definição do conector
      Campo Descrição
      Programação padrão O número de segundos entre as tentativas de receber eventos.
      Bidirecional Especifique para permitir que o sistema de monitoramento externo seja atualizado se o alerta for alterado. Há uma implementação padrão para o SCOM.
      Identificador de campo de alerta Especifique o campo de alerta que, se for alterado manualmente, fará com que o sistema de monitoramento externo seja atualizado.
      Nota:
      Este campo aparecerá somente se Bidirecional estiver selecionado.
      Coletar métrica Selecione esta opção para habilitar a coleção de métricas.
      Nota:
      As métricas são coletadas somente para origens de eventos externos do SCOM.
      Programação padrão de coleta de métrica (segundos) Especifique o número de segundos de informações que devem ser coletadas. O padrão é 10 segundos.
      Nota:
      Este campo aparecerá somente se Coletar métricas estiver selecionado.
      Parâmetros do Conector Especifique os parâmetros para ativar a comunicação com um servidor de eventos.
      Definição de conector para MID Server capacidades O nome MID Server para processar eventos do servidor de eventos. Se não for especificado, um disponível MID Server será usado.
    14. Clique em Enviar.