>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Nim

ttop — Monitoramento de Sistema com Histórico e Notificações

Situação familiar: o servidor subitamente congelou e você não consegue descobrir o que aconteceu? Ferramentas padrão como top ou htop mostram apenas o estado atual, mas não fornecem contexto histórico. ttop resolve exatamente esse problema — uma ferramenta de monitoramento com capacidade de visualização de histórico e um sistema flexível de notificações.

Como o ttop é melhor que as ferramentas familiares?

A principal diferença de ttop em relação a ferramentas similares é o salvamento de dados históricos. Enquanto htop mostra apenas o estado atual do sistema, ttop:

  • Salva snapshots via systemd.timer ou crontab
  • Permite navegar pelo histórico de alterações
  • Constrói gráficos ASCII para visualização de tendências
  • Suporta triggers para notificações

screenshot do ttop

Principais Funcionalidades

  1. Dados Históricos

    • Visualização do estado do sistema em qualquer ponto no tempo
    • Gráficos ASCII através da integração com asciigraph
    • Capacidade de encontrar o momento do pico de carga e estudá-lo em detalhes
  2. Triggers Flexíveis

    • Configuração de notificações via scripts externos
    • Suporte para Telegram, email e outros canais
    • Tipos diferentes de triggers: para eventos críticos e informativos
  3. Interface TUI Rica

    • Destaque para valores críticos
    • Agrupamento de processos por programas
    • Filtragem: por usuários (@user), containers docker (#container)
    • Árvore de threads de execução
  4. Instalação Fácil

    • Pacotes prontos para Arch Linux (AUR)
    • Binários estáticos para x86-64
    • Não requer direitos de root para funcionar

Como funciona tecnicamente?

ttop é escrito em Nim — uma linguagem de programação moderna e estaticamente tipada. O projeto utiliza:

  • systemd.timer/cron para coleta de dados
  • asciigraph para visualização
  • Docker API para monitoramento de containers

O sistema de triggers passa dados para scripts externos via stdin com um conjunto de variáveis de ambiente:

TTOP_ALERT=true/false  # признак критического события
TTOP_HOST             # имя хоста
TTOP_TYPE             # тип события (alert/info)

Uso Prático

  1. Análise de Problemas Post-factum De manhã você descobriu que o servidor "caiu" durante a noite? Com ttop você pode revisar o histórico e encontrar o momento exato do problema.

  2. Notificações Automáticas Configure o envio para o Telegram quando a carga da CPU estiver crítica ou a memória estiver baixa.

  3. Monitoramento de Containers Docker Encontre rapidamente containers "vorazes" usando o filtro #container.

  4. Análise de Tendências Gráficos ASCII ajudam a visualizar picos de carga periódicos.

Exemplo de configuração de notificações no Telegram

[[trigger]]
on_alert = true
cmd = '''
read -d '' TEXT
curl -X POST \
  -H 'Content-Type: application/json' \
  -d "{\"chat_id\": $CHAT_ID, \"text\": \"$TEXT\", \"disable_notification\": $TTOP_INFO}" \
  https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage
'''

Vale a pena experimentar?

ttop é especialmente útil para:

  • Administradores de sistemas
  • Engenheiros DevOps
  • Desenvolvedores que trabalham com aplicações que consomem muitos recursos
  • Todos que precisam de monitoramento mais avançado que top

O projeto está em desenvolvimento ativo, tem código aberto (Licença MIT) e já coletou mais de 350 estrelas no GitHub. Se você enfrenta regularmente a necessidade de analisar a carga do sistema, ttop pode se tornar sua nova ferramenta favorita.

Como instalar?

Para Arch Linux:

yay -S ttop

Para outros sistemas (binário estático):

curl -LO https://github.com/inv2004/ttop/releases/latest/download/ttop
chmod +x ttop
mv ttop ~/.local/bin/

Experimente — e você olhará para o monitoramento de sistemas de uma nova forma!

Projetos relacionados