AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 779932
Accepted
Manii
Manii
Asked: 2016-05-31 20:21:13 +0800 CST2016-05-31 20:21:13 +0800 CST 2016-05-31 20:21:13 +0800 CST

Definindo dinamicamente o parâmetro check_interval com base em Service_State em Icinga2

  • 772

Eu tenho um requisito em que o intervalo de verificação é de 180 minutos, enquanto o intervalo de notificação é de 10 minutos. Significa que o proprietário do serviço deseja que, se perder algum alerta que geralmente ocorre após 180 minutos, se o serviço for crítico, o Icinga continua verificando e informando a cada 10 minutos até que o serviço volte ao normal.

Eu tentei interval = 0o parâmetro em notification.conf, mas isso não está cumprindo o requisito.

Ele envia um alerta a cada 10 minutos se o serviço não estiver bom, mas não verifica o serviço.

Por ex. se o serviço voltar ao normal antes de 180 minutos (ou seja, próxima verificação), ele continuará alertando até a próxima verificação.

Encontrei uma pergunta semelhante aqui , mas é para Nagios e não consigo mesclá-la com Icinga2.

Tenho certeza de que será feito usando o CHANGE_NORMAL_SVC_CHECK_INTERVALparâmetro, mas não sei como implementá-lo.

Também encontrei abaixo a página do Icinga:

Link de comandos externos do Icinga

Por favor, ajude.

system-monitoring icinga2 icinga
  • 1 1 respostas
  • 1681 Views

1 respostas

  • Voted
  1. Best Answer
    Manii
    2018-07-18T09:57:49+08:002018-07-18T09:57:49+08:00

    Foi o que fiz para resolver meu problema.

    1. Roteiro criado/icinga/plugins/change_check_interval.sh

    #!/bin/bash
    
    now=`date +%s`
    commandfile='/var/run/icinga2/cmd/icinga2.cmd'
    case "$1" in
        OK)
            /usr/bin/printf "[%lu] CHANGE_NORMAL_SVC_CHECK_INTERVAL;servername;servicename;180\n" $now >> $commandfile
        ;;
        WARNING)
            ;;
        UNKNOWN)
            ;;
        CRITICAL)
            /usr/bin/printf "[%lu] CHANGE_NORMAL_SVC_CHECK_INTERVAL;servername;servicename;10\n" $now >> $commandfile
            ;;
    esac
    
    exit 0
    

    2. Em seguida, use este script para definir event_command em commands.conf

    object EventCommand  "change_check_interval"{
      import "plugin-event-command"
        command = [ "/icinga/plugins/change_check_interval.sh", "$service.state$" ]
    }
    

    3. E usei event_command em services.conf

    apply Service "Service-Name" {
     import "template"
      check_command = "nrpe-arg"
      vars.remote_nrpe_command = "nrpe command"
      vars.remote_nrpe_arguments = "arg1"
      event_command = "change_check_interval"
      assign where host.name == "servername"
    }
    

    Este manipulador de eventos é executado a cada 180 minutos quando o serviço está bom, enquanto é executado a cada 10 minutos quando o serviço é crítico.

    • 0

relate perguntas

  • Como processar armadilhas SNMP com Sensu?

  • Monitore a disponibilidade do Marathon Framework [fechado]

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve