Nagios - medindo a carga média do CPU

3

Estou procurando há algumas horas um plug-in que me notificará se uma carga de CPU do meu servidor estiver acima de 90% nas últimas cinco horas. Sem sorte, olhando ao redor do Nagios Exchange.

Alguém pode ajudar?

Obrigado!

    
por JustAGuy 26.10.2013 / 15:07

4 respostas

2

O carregamento da CPU no UNIX é geralmente definido como o número de processos em um estado executável. Nós medimos isso em intervalos de 1, 5 e 15 minutos. O comando uptime é uma maneira comum de gerar os valores médios de carga.

~$ uptime 18:35:22 up 1 min, 1 user, load average: 0.04, 0.01, 0.01

check_load usa uma tupla de três elementos, correspondentes aos 1, 5 e 15 minutos médias e aceita um limiar de aviso e crítico.

Como uma ideia aproximada, tente check_load -c 0.9,0.9,0.9 com check_interval de 1 hora e max_check_attempts de 5.

Observe também o argumento -r . Isso resolve o fato de que a maioria das CPUs é multi-core e, portanto, pode ser totalmente utilizada individualmente, embora ainda tenha capacidade excedente no agregado.

    
por 26.10.2013 / 20:41
2

A verificação básica do Nagios check_load avaliará apenas /proc/loadavg , que tem apenas médias de 1, 5 e 15 minutos. Se você precisar de mais, precisará de um backlog que chegue até aqui. Incidentalmente, o pacote sysstat faz exatamente isso - avalia e registra os valores de desempenho em determinados intervalos e os disponibiliza através do utilitário de linha de comando sar . O plugin check_sa Nagios é capaz de avaliar a saída e calcular a média dos valores para atender às suas necessidades.

Devo acrescentar que o Nagios é uma escolha bastante pobre quando se trata de realmente definir limiares de alarme com base em valores de desempenho médios ao longo de um certo período de tempo, já que isso requer manutenção extensiva do estado. Outros sistemas de monitoramento que coletam dados de desempenho estão fazendo um trabalho melhor aqui. Eu sugeriria olhar para OpenNMS ou pelo menos para algo como Munin se você não puder gerenciar a complexidade e lidar com os requisitos técnicos (SNMP) dos primeiros. Ambos têm a vantagem de poder desenhar gráficos raros de RRD, ajudando você a detectar tendências antes de formalizá-las nas regras de avaliação.

    
por 26.10.2013 / 23:05
1

Impressionante - não é?

Também tivemos que escrever um monitor para isso.

O check_load padrão é bastante insignificante, uma vez que deve ser definido em relação ao número de processadores (lógicos) dentro do sistema.

Então, mais ou menos o que fazemos: - procurar quantos processadores são relatados no sistema - dividir a carga atual através desse número

Lá você terá a marca de 90% que você procura.

Usamos 100% para aviso e 150% para crítico.

    
por 08.11.2013 / 23:17
0

install systat crontab sa -q 10000000 |mail [email protected]

basicamente, o sar dá a você, por padrão, detalhes de status de 10 minutos.

para o load avg ...

[root@ops2 ~]# sar -q|tail -5

05:00:01 PM 0 527 0.00 0.01 0.00

05:10:01 PM 1 528 0.00 0.00 0.00

05:20:01 PM 6 537 0.00 0.00 0.00

05:30:01 PM 2 532 0.00 0.01 0.00

Average: 2 529 0.03 0.05 0.04

isso pode relatar uma série de coisas, embora os relatórios do servidor de e-mail desapareçam em termos de dinâmica de aplicativos e newrelic, que são muito mais profundos (mas custam dinheiro)

IMHO, nagios ainda é o melhor para o dinheiro ... e inferno você pode até mesmo integrá-lo com ircd

nagios é definitivamente o caminho que eu iria. é fácil usar seus plugins pré-construídos, ou escrever seus próprios plugins nrpe, e é incrível com os sistemas de hipchat, irc, pagerduty ou de alerta personalizado

    
por 27.10.2013 / 04:14