Todos os produtos
Search
Central de documentação

Application Real-Time Monitoring Service:Integrar o Nagios ao ARMS

Última atualização: Jun 27, 2026

Este tópico descreve como integrar o Nagios ao Gerenciamento de Alertas.

Etapa 1: Criar uma integração do Nagios

  1. Faça login no console do ARMS. No painel de navegação à esquerda, escolha Alert Management > Integrations.

  2. Na aba Alert Integration, clique em Nagios.

  3. No assistente New Nagios Integration, insira um nome e uma descrição para a integração, defina o tempo de recuperação automática dos eventos de alerta e clique em Save.

    Nota

    Tempo de recuperação automática após timeout: se um evento de alerta não for acionado novamente dentro do período especificado, o sistema limpará o evento automaticamente.

  4. Na aba Alert Integration, pesquise a integração do Nagios e copie o endereço de integração correspondente.

Etapa 2: Configurar um modelo de alerta do Nagios

  1. Crie um script de notificação de alerta.

    1. Faça login no servidor onde o Nagios está instalado e acesse o seguinte caminho:

      cd /usr/local/nagios/libexec/
    2. Crie um arquivo de script chamado nagios-alert.py. Adicione o seguinte conteúdo ao arquivo:

      Nota

      Substitua integration_url no script pelo endereço de integração obtido na Etapa 1.

      #!/usr/bin/python
      # -*- coding: utf-8 -*-
      import requests
      import json
      import sys
      import os
      headers = {'Content-Type': 'application/json;charset=utf-8'}
      api_url = "integration_url"      # Replace integration_url with the integration address from Step 1.
      def parse(sys):
          object_type = str(sys.argv[1])
          notification_type = str(sys.argv[2])
          host_name = str(sys.argv[3])
          host_ip = str(sys.argv[4])
          state = str(sys.argv[5])
          time = str(sys.argv[6])
          info = str(sys.argv[7])
          if object_type == 'host':
              description = "[{}] {} alert: {} is {}".format(notification_type, object_type, host_name, state)
              service = ""
          else:
              service = str(sys.argv[8])
              description = "[{}] {} alert: {}/{} is {}".format(notification_type, object_type, host_name, service, state)
          content_dict = {'service':""}
          content_dict['object_type'] = object_type
          content_dict['notification_type'] = notification_type
          content_dict['host_name'] = host_name
          content_dict['host_ip'] = host_ip
          content_dict['state'] = state
          content_dict['time'] = time
          content_dict['info'] = info
          content_dict['service'] = service
          content_dict['description'] = description
          print(content_dict)
          return content_dict
      def msg(text):
          result = requests.post(url=api_url, data=json.dumps(text), headers=headers)
          print(result)
      if __name__ == '__main__':
          text = parse(sys)
          msg(text)
    3. Execute o comando a seguir para instalar a biblioteca Requests:

      pip install requests
  2. Configure o arquivo Commands.

    1. Execute o comando a seguir para modificar o arquivo commands.cf:

      vim /usr/local/nagios/etc/objects/commands.cf
    2. Adicione o seguinte conteúdo ao arquivo commands.cf:

      define command{
          command_name notify-host-by-alert
          command_line python /usr/local/nagios/libexec/nagios-alert.py "host" "$NOTIFICATIONTYPE$" "$HOSTALIAS$" "$HOSTADDRESS$" "$HOSTSTATE$" "$LONGDATETIME$" "$HOSTOUTPUT$"
          }
      define command{
          command_name notify-service-by-alert
          command_line python /usr/local/nagios/libexec/nagios-alert.py "service" "$NOTIFICATIONTYPE$" "$HOSTALIAS$" "$HOSTADDRESS$" "$SERVICESTATE$" "$LONGDATETIME$" "$SERVICEOUTPUT$" "$SERVICEDESC$"
          }
    3. Insira o comando :wq para salvar as alterações no arquivo commands.cf.

  3. Especifique as informações de contato.

    1. Execute o comando a seguir para modificar o arquivo contacts.cfg:

      vim /usr/local/nagios/etc/objects/contacts.cfg
    2. Adicione o seguinte conteúdo ao arquivo contacts.cfg:

      service_notification_commands   notify-service-by-alert
      host_notification_commands      notify-host-by-alert
      define contact{
              contact_name                    nagiosadmin             ; Short name
              use                             generic-contact         ; Inherit de
              alias                           Nagios Admin            ; Full name
              email                           nagios@localhost         ; <<***** Ch
              service_notification_commands   notify-service-by-alert
              host_notification_commands      notify-host-by-alert
      }
      ################################################################
    3. Insira o comando :wq para salvar as alterações no arquivo contacts.cfg.

  4. Execute o comando a seguir para reiniciar o Nagios:

    systemctl restart nagios

(Opcional) Etapa 3: Modificar a integração

O Gerenciamento de Alertas fornece mapeamentos de campos padrão entre a origem de alertas do Nagios e os alertas do ARMS. Também é possível adicionar ou modificar mapeamentos de campos na página Edit Integration.

Exemplo de origem de alerta:

{
    "info":"SWAP CRITICAL - 0% free (0 MB out of 0 MB) - Swap is either disabled, not present, or of zero size.",
    "description":"[PROBLEM] service alert: localhost/Swap Usage is CRITICAL",
    "service":"Swap Usage",
    "host_ip":"127.0.0.1",
    "state":"CRITICAL",
    "object_type":"service",
    "time":"Tue Sep 14 10:46:49 CST 2021",
    "notification_type":"PROBLEM",
    "host_name":"localhost"
}
  1. Na aba Alert Integration, localize a integração que deseja gerenciar e clique em Edit na coluna Actions.

  2. Na seção Event Mapping, clique em Send Test Data.

  3. Na caixa de diálogo Send Test Data, insira o conteúdo do alerta de uma origem de alerta de terceiros no formato JSON e clique em Send.

    Nota
    • Se a mensagem Uploaded. No events are generated. Configure mappings based on the original data. aparecer, significa que os campos da origem de alerta não estão mapeados para os campos dos eventos de alerta do ARMS. Os dados enviados aparecem na caixa à esquerda, permitindo selecionar os campos de origem ao configurar os mapeamentos.

    • Se a mensagem Uploaded. aparecer, o conteúdo do alerta será reportado à página Histórico de Eventos de Alerta. Para mais informações, consulte Visualizar histórico de eventos de alerta.

  4. Na caixa de diálogo Send Test Data, clique em Disable.

  5. Na parte esquerda da seção Event Mapping, clique nos registros de dados cujos mapeamentos deseja configurar para visualizar os detalhes.

  6. No painel direito da seção Event Mapping, configure o mapeamento entre os campos da origem de alerta e os campos de alerta do ARMS.

    1. Opcional:Na seção Select Root Node, especifique se deseja ativar o processamento em lote.

      Se existir um nó de array nos dados de alerta, você poderá especificar esse nó como raiz. Os dados pertencentes ao nó raiz serão processados em lotes.

      Após selecionar Use Batch Processing, selecione o nó de array a ser processado em lote como o nó raiz.

      Nota

      Se houver múltiplos nós de array nos dados de alerta, apenas um deles poderá ser selecionado para processamento em lote.

    2. Na seção Map Source Fields to Target Fields, mapeie os campos da origem de alerta para os campos de alerta do ARMS.

      Clique no ícone de mapeamento para alterar o método de mapeamento de campos.

      • Direto: o campo especificado da origem de alerta é mapeado diretamente para o campo de alerta especificado do ARMS.

      • Série: usa delimitadores para concatenar vários campos da origem de alerta em um único campo e, em seguida, mapeia esse campo para o campo de alerta especificado do ARMS. Apenas caracteres especiais podem ser usados como delimitadores.

      • Condicional: os campos especificados da origem de alerta são mapeados para os campos de alerta do ARMS somente quando os valores atendem às condições definidas.

      • Tabela de mapeamento: a severidade da origem de alerta é mapeada para a severidade do alerta do ARMS. A tabela contém apenas o campo de severidade.

      A tabela a seguir descreve os campos de alerta do ARMS.

      Campo de alerta

      Descrição

      alertname

      Nome do alerta personalizado.

      severity

      Nível de severidade do alerta. É obrigatório configurar mapeamentos para este campo. O método de mapeamento deve ser definido como Direto.

      message

      Descrição do alerta. Usada como conteúdo da mensagem de alerta, não pode exceder 15.000 caracteres.

      value

      Valor de amostra de uma métrica.

      imageUrl

      URL do gráfico de linhas com métricas do Grafana. Usada para mapear o gráfico de linhas.

      check

      Item de verificação do alerta. Exemplos: CPU, JVM, Falha de Aplicativo e Implantação.

      source

      Origem do alerta.

      class

      Tipo de objeto que aciona o evento de alerta, por exemplo, host.

      service

      Serviço de origem do alerta. Exemplo: Serviço de Login.

      startat

      Timestamp que representa a hora de início do evento.

      endat

      Timestamp que representa a hora de término do evento.

      generatorUrl

      URL dos detalhes do evento.

  7. Configure a deduplicação de campos para eventos de alerta.

    Para reduzir dados duplicados, o sistema utiliza campos relevantes como base para deduplicação. O Gerenciamento de Alertas do ARMS permite visualizar os resultados de agrupamento por deduplicação de dados de eventos históricos exibidos na seção Event Mapping. Você pode alterar os campos a serem deduplicados.

    Nota

    A deduplicação só pode ser configurada para eventos não limpos.

    1. Na seção Event Deduplication da página Integration Details, selecione os campos a serem usados para deduplicação.

      Se vários eventos tiverem o mesmo valor para um campo especificado, eles serão mesclados em uma única notificação de alerta.

    2. Clique em Deduplication Test para visualizar o grupo de alertas após a deduplicação.

      Nota

      O teste de deduplicação aplica-se apenas aos 10 registros de dados mais recentes carregados na parte esquerda da seção Event Mapping.

  8. Após concluir as configurações, clique em Save.

Visualizar detalhes de um evento de alerta

  1. No painel de navegação à esquerda do console do ARMS, escolha Alert Management > Alert Event History.

  2. Na página Alert Event History, clique no nome do evento de alerta para visualizar seus detalhes. Para mais informações, consulte Visualizar histórico de eventos de alerta.

Gerenciar a integração

No painel de navegação à esquerda, escolha Alert Management > Integrations. Na aba Alert Integration, é possível realizar as seguintes operações nas integrações criadas:

  • Visualizar detalhes de uma integração: localize a integração e clique na linha correspondente. Na página Integration Details, visualize os detalhes da integração.

  • Atualizar uma chave: para modificar a chave de uma integração, escolha More > Update Key na coluna Actions da integração desejada e clique em Confirm.

    Importante

    Após atualizar a chave, modifique o endereço de integração no arquivo de script. Para mais informações, consulte Etapa 2: Configurar alertas do Nagios.

  • Modificar uma integração: localize a integração e clique em Edit na coluna Actions. Na página Integration Details, modifique as informações da integração e clique em Save.

  • Ativar ou desativar uma integração: localize a integração e clique em Disable ou Enable na coluna Actions.

  • Excluir uma integração: localize a integração e clique em Delete na coluna Actions. Na mensagem exibida, clique em OK.

  • Adicionar um fluxo de processamento de eventos a uma integração: localize a integração e clique em Add Event Processing Flow na coluna Actions. Para mais informações, consulte Fluxo de processamento de eventos.

  • Criar uma política de notificação: localize a integração para a qual deseja criar uma política de notificação e clique em More na coluna Actions. Na lista exibida, clique em Create Notification Policy. Para mais informações, consulte Políticas de notificação.

Próximos passos

Após criar uma política de notificação, o sistema gera alertas e envia notificações para os eventos de alerta reportados com base na política configurada. Para mais informações, consulte Políticas de notificação. Na página Alert Sending History, visualize os alertas gerados com base na política de notificação configurada. Para mais informações, consulte Visualizar histórico de envio de alertas.