
Depois de revisar alguns tópicos sobre software de monitoramento de servidores, acabo com uma pergunta simples:
Qual das ferramentas de monitoramento de servidor devo usar para detecção automática de situações "anormais" com recomendações sobre como corrigi-las?
Procuro um software que verifique o desempenho do sistema após a instalação e calcule alguns valores médios de carga (memória, CPU, etc). E quando algo acontece (a carga da CPU aumenta para 20%), ele tenta detectar uma razão para isso. Se for apache, deverá verificar os logs de acesso. Se for mysql, ele deve verificar os logs do mysql e me dizer o que acontece. Isso porque algum usuário decodifica muitas imagens, gostaria de saber qual comando é executado, quando e nome do usuário. O mesmo para uso de disco, memória, número de processos, threads e assim por diante.
Idealmente, este software deve verificar periodicamente o sistema e relatar problemas: erros no log de erros do PHP, pacotes desatualizados, vulnerabilidades de segurança.
Em outras palavras, estou procurando um software que mantenha meu servidor Debian/Apache/PHP/MySQL simples sem me forçar a monitorar os gráficos todos os dias.
Responder1
Em contraste com o Zabbix - mencionado porMaxwell- é o venerávelnagios(e é um fork relativamente recente,gelo). Essa estrutura existe há mais de dez anos e é incrivelmente estável - a única desvantagem é a instalação e configuração, que consome muito mais tempo (especialmente na primeira vez) do que um sistema apoiado por uma empresa comercial como o Zabbix.
Ambos têm seu lugar no ecossistema, é claro – então sugiro que você experimente os dois. Porém, conforme mencionado em meu comentário: quanto mais aprofundado o tipo de monitoramento que você pretende fazer, mais você deve esperar despender esforço, seja escrevendo seus próprios plug-ins/scripts ou pesquisando/baixando/modificando o trabalho de outros .
Boa sorte!
Responder2
Existem muitos softwares como esse, uma coisa a se notar é que você deve executá-lo em um host diferente ou corre o risco de não ser notificado se algo der errado.
Como exemplo, usamos uma combinação de nagios (cuida de todo o monitoramento e alerta, ou seja, é responsável por acordar alguém quando há necessidade de um operador olhar alguma coisa) e cactos (também poderia fazer alertas, mas nós apenas use-o para coletar e agregar diversas métricas, desde tráfego de rede até carga do sistema e estatísticas de spam de e-mail).
Quando chegar a hora de você receber um alerta (do nagios cacti zabbix qualquer que seja), ter alguns dados de desempenho para analisar (cactos, zabbix, outros farão isso) geralmente o ajudará a diagnosticar onde está o problema.
Na pilha LAMP usual que você descreve, as duas situações problemáticas mais comuns (na minha experiência, pelo menos) são o servidor HTTP ou SQL não respondendo ou em um tempo razoável (uma sonda nagios verificará isso) ou carrega a média no sistema indo terrivelmente alto.
Essas duas verificações provavelmente detectarão 95% dos seus problemas, mas há muitas outras coisas que você deve procurar - exemplos:
- o apache trabalhando constantemente com o número máximo de processos/threads que você configurou significa que seu servidor não está acompanhando a carga
- sistema funcionando "ok", mas com uma unidade com falha no RAID (você não sabe quantas vezes esse tipo de coisa passa despercebido por meses - ou pelo menos até a próxima falha de disco;)
Quase todos os produtos que você encontrará serão capazes de monitorar / representar graficamente tudo o que você puder lançar sobre eles, geralmente você pode estendê-los por meio de scripts de shell simples, programas curtos e outros enfeites, além de seus instrumentos incluídos e o onipresente SNMP .
Responder3
ZabbixA solução de monitoramento pode monitorar o que você quiser e acionar ações de maneira adequada. As ações podem ser, por exemplo, a execução de um script que processa logs e envia de volta o resultado, se necessário. Além disso, você pode acionar uma ação quando uma ou mais condições forem atendidas (como a saída do script de análise de log mostrando um erro e carga da CPU em mais de 40%, por exemplo).
Responder4
Instalação do Nagios
Nagios é um monitor de host e serviço projetado para informá-lo sobre problemas de rede antes que seus clientes, usuários finais ou gerentes o façam. Ele foi projetado para ser executado no sistema operacional Linux, mas também funciona bem na maioria das variantes. O daemon de monitoramento executa verificações intermitentes em hosts e serviços especificados usando plug-ins externos que retornam informações de status ao Nagios. Quando problemas são encontrados, o daemon pode enviar notificações para contatos administrativos de diversas maneiras (e-mail, mensagem instantânea, SMS, etc.). Ter uma instalação do Nagios em seu servidor ajudará a melhorar a confiabilidade do servidor.
O Nagios possui muitos recursos, o que o torna uma ferramenta de monitoramento muito poderosa. Alguns dos principais recursos estão listados abaixo: Monitoramento de serviços de rede (SMTP, POP3, HTTP, NNTP, PING, etc.) Monitoramento de recursos do host (carga do processador, uso de disco e memória, processos em execução, arquivos de log, etc.) Monitoramento de fatores ambientais, como temperatura Tempo de inatividade programado para suprimir notificações de host e de serviço durante períodos de interrupções planejadas Design de plug-in simples que permite aos usuários desenvolver facilmente suas próprias verificações de host e de serviço Capacidade de definir a hierarquia de host da rede, permitindo a detecção e a distinção entre hosts que estão inativos e aqueles que estão inacessíveis Suporte para implementação de servidores de monitoramento distribuídos e redundantes Capacidade de reconhecer problemas através da interface web Notificações de contato quando problemas de serviço ou host ocorrem e são resolvidos (via e-mail, pager ou outro método definido pelo usuário) Escalonamento opcional de host e notificações de serviço para diferentes grupos de contato Capacidade de definir manipuladores de eventos a serem executados durante eventos de serviço ou host para resolução proativa de problemas Interface de comando externa que permite que modificações imediatas sejam feitas no comportamento de monitoramento e notificação através do uso de manipuladores de eventos , a interface da web e aplicativos de terceiros Retenção do status do host e do serviço nas reinicializações do programa