Quais métricas devo monitorar no meu servidor Linux?

6

Recebi a tarefa de configurar o monitoramento de 300 servidores, fazendo coisas diferentes. Eu tenho procurado por várias ferramentas, como Nagios, Munin e outras - então eu tenho uma boa idéia de como eu posso alcançar o monitoramento em primeiro lugar.

O que eu estou querendo saber é que as métricas são usuais para monitorar como um bom padrão no evento onde eu não sei muito sobre o servidor? E quais são os "padrões normais" no que diz respeito ao alerta?

Meu plano é implantar um esquema de monitoramento com padrões sãos como um começo, enquanto mapeio os papéis dos diferentes sistemas - o que eu espero que leve algum tempo.

Esta pergunta também pode ser feita de uma maneira diferente:

If you were designing a monitoring-appliance - what should its default Linux-monitoring template contain?

    
por Kvisle 05.11.2011 / 19:56

4 respostas

6

As métricas usuais que indicam problemas incluem utilização de CPU, utilização de memória, média de carga e utilização de disco. Para servidores de email, o tamanho da fila de mensagens é um indicador importante. Para servidores da web, o número de servidores ocupados é uma medida importante. A taxa de transferência excessiva da rede também leva a problemas. Se você tem processos que precisam verificar os horários, o NTP pode ser uma ferramenta importante para manter os relógios sincronizados.

Os níveis de aviso padrão que usei incluem (aviso, crítico). Você pode querer ajustar seus valores com base em vários fatores. Valores mais altos reduzem o número de alertas, enquanto valores mais baixos oferecem mais tempo para reagir ao desenvolvimento de problemas. Este pode ser um ponto de partida adequado para um modelo.

  • Utilização contínua da CPU (80%, 100%). Exclua o tempo para processos com precisão.
  • Carga média por CPU (2, 5).
  • Utilização de disco por partição (80%, 90%).
  • Fila de mensagens (10, 50). Use valores mais baixos em servidores de email não.
  • Servidores da Web ocupados (10, 25).
  • Rendimento da rede (80%, 100%). Backups de rede e outros processos podem exceder valores. Eu usaria as configurações de limitação se elas estiverem disponíveis.
  • Deslocamento de NTP em segundos (0,2, 1).

Munin faz um bom trabalho reunindo essas estatísticas e outras. Ele também tem a capacidade de acionar alarmes quando os limites são passados. Suas capacidades de aviso não são tão boas quanto as do Nagios. Sua coleta e exibição de dados históricos torna uma boa opção poder analisar se os valores atuais diferem significativamente dos valores anteriores. É fácil de configurar e pode ser executado sem gerar avisos. O principal problema é o volume de dados capturados e sua frequência fixa de coleta de informações. Você pode querer gerar gráficos sob demanda. Munin fornece muitas das estatísticas que eu verificaria usando sar quando um sistema estava com problemas. Sua visão geral é útil para identificar possíveis problemas.

Nagios é muito bom em alertas, mas historicamente não tem sido muito bom em reunir dados históricos de uma forma adequada para comparação com os valores atuais. Parece que isso está mudando e a nova versão é muito melhor na coleta desses dados. É uma boa opção para gerar avisos quando há problemas e programar interrupções durante as quais os alertas não são gerados. Nagios é muito bom em alertar quando os serviços diminuem. Isso é especialmente adequado para servidores e serviços críticos.

    
por 06.11.2011 / 06:06
2

Eu usaria o Nagios se fosse você, por vários motivos (aqui estão dois deles):

  1. Você pode usar "modelos" e configurar grupos de servidores e monitorar diferentes "grupos" com diferentes métricas. Por exemplo, coloque todos seus servidores web em 1 grupo, coloque todos os seus servidores de banco de dados em outro grupo, etc ...
  2. É muito fácil automatizar os alertas para ir para o e-mail, etc ... (e criar um escalonamento de alerta no caso de o primeiro respondedor por chamada não responde ao alerta dentro de um determinado período de tempo)

Uma terceira razão é que o Nagios já vem com um esquema de monitoramento padrão, que cuida da maioria das coisas que você gostaria de monitorar em toda a linha - assim você não teria que configurar sua própria "métrica" de monitoramento para começar com.

Mas se eu estivesse configurando minhas próprias métricas, iria monitorar em todos os servidores coisas como: carga do servidor, espaço livre em disco, memória livre, uso do espaço de troca, e também faria algum monitoramento externo com pings ICMP, etc. ...

    
por 05.11.2011 / 20:08
1

Você pode primeiro monitorar os recursos do sistema, como cpu e memória.

Em seguida, você pode monitorar os recursos específicos do serviço. Por exemplo, você pode monitorar o tempo de resposta e o número de conexões ativas.

Para os valores de monitoramento padrão, acho que deve estar relacionado ao padrão de uso esperado e quanto você espera que o servidor esteja ocupado.

    
por 05.11.2011 / 20:07
1

Em geral, para começar, monitorei a carga do servidor, o uso da cpu, a memória, o espaço em disco e o tráfego de E / S e de rede. Em seguida, dependendo do tipo de servidor (web / mail / database / NIS), eu monitoraria as estatísticas específicas da aplicação e outros sinais vitais, como erros de interface, latências e tempo de resposta, etc.

    
por 06.11.2011 / 06:20