CONCLUÍDO
Resumo técnico
Projeto focado em transformar o /var/log/chkservd.log em saída operacional acionável. A ferramenta consolida checks de serviços (httpd, mysql, exim, named, imap, etc.), classifica estado por ciclo de verificação e reduz tempo de triagem em servidores com logs extensos (100MB+), cenário comum em hosts com alto volume de contas.
Contexto e origem técnica
- Reescrita em Bash do script
checksrvoriginalmente criado por Matthew Harris (HostGator, 2013). - Motivação prática: reduzir dependência de Perl, melhorar performance de leitura e padronizar troubleshooting em ambiente Linux moderno.
- Preserva finalidade original (humanizar log do chkservd), mas adiciona:
- modo detalhado com serviços funcionais, - cores para resposta rápida, - métricas de contexto (PID, uptime, tamanho de log), - controle de quantidade de checks exibidos.
Escopo implementado
- Parsing eficiente de blocos de verificação de serviços do
chkservd. - Execução em modos múltiplos (
default,-f,-a,-q N) para NOC/SRE. - Análise de falhas sem carregar arquivo inteiro em memória.
- Estrutura adequada para automação por cron e alerta por e-mail.
- Compatibilidade com operações diárias de servidores cPanel/WHM.
Comandos de uso (operação real)
# padrão: falhas recentes (últimas 5 verificações)
./checksrv.sh
# modo completo (serviços OK + falhas) com 2 ciclos
./checksrv.sh -f -q 2
# varredura estendida das últimas 5000 linhas
./checksrv.sh -f -a
# últimos 10 ciclos
./checksrv.sh -f -q 10
# execução mínima para cron
./checksrv.sh -q 1
Exemplo de automação (cron)
*/5 * * * * /usr/local/bin/checksrv -q 1 || \
echo "Falha de serviço detectada em $(hostname)" | mail -s "Alert chkservd" admin@example.com
Diagnóstico operacional entregue
- Estado consolidado por ciclo (
Service Check) com total de serviços avaliados. - Marcação clara de sucesso/falha:
- Leitura de validações
check/socketpor serviço para diferenciar erro de processo vs porta/socket. - Resumo de saúde do bloco (ex.: todos os 24 serviços OK).
- [✓] serviço operacional - [!] serviço com falha
Otimizações de performance aplicadas
- Uso de
grep,awk,sedetailpara leitura seletiva. - Estratégia de processamento em fluxo (streaming) para logs grandes.
- Evita overhead de parse completo a cada execução.
- Resultado: ganho perceptível de velocidade em comparação ao legado em Perl quando o log ultrapassa 100MB.
Troubleshooting de implantação
# validar existência e permissões do log
ls -lah /var/log/chkservd.log
# validar daemon
systemctl status chkservd || service chkservd status
# garantir execução
chmod +x checksrv.sh
# instalar no PATH
mv checksrv.sh /usr/local/bin/checksrv
Stack e ferramentas
- Shell Script / Bash
- cPanel/WHM
- Linux
- grep / awk / sed / tail
- cron + mail local
Tags operacionais
- Bash
- cPanel
- Monitoring
- chkservd
Resultado operacional
- Redução do tempo de triagem de incidentes de serviço em servidores cPanel.
- Padronização de leitura de health-check para operações de suporte e plantão.
- Melhor previsibilidade para ações corretivas imediatas (restart de serviço, validação de porta, correção de dependência).
Andamento no GitHub (issues)
Painel em tempo real com as issues mais recentes do repositório.
live feed
abrir issues no githubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
Resultados reais
Parser operacional para /var/log/chkservd.log em Bash, otimizado para arquivos grandes, com leitura rápida de falhas de serviços críticos no cPanel/WHM.
Arquitetura e organização
- Shell Script / Bash
- cPanel/WHM
- grep/awk/sed
- cron
- Linux
Execução e operação
O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.
Screenshots
Falar sobre este projeto
Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.