Skip to content

Monitoramento & Manutenção

O monitoramento e manutenção adequados garantem que seu nó da Cloud Service funcione de forma suave e eficiente.

Ferramentas de Monitoramento

Comandos Integrados

bash
# Status da blockchain
cs-cli getblockchaininfo

# Status da rede
cs-cli getnetworkinfo

# Status de mineração
cs-cli getmininginfo

# Status da carteira
cs-cli getwalletinfo

# Conexões com peers
cs-cli getpeerinfo

# Pool de memória
cs-cli getmempoolinfo

Monitoramento em Tempo Real

bash
# Observar informações da blockchain
watch -n 5 'cs-cli getblockchaininfo | grep -E "blocks|headers|verificationprogress"'

# Monitorar conexões
watch -n 10 'cs-cli getnetworkinfo | grep -E "connections|networks"'

# Acompanhar progresso de mineração
watch -n 30 'cs-cli getmininginfo'

Monitoramento do Sistema

Uso de Recursos

bash
# CPU e Memória
top -p $(pgrep csd)
htop -p $(pgrep csd)

# I/O de Disco
iotop -p $(pgrep csd)

# Uso de Rede
iftop
nethogs

Espaço em Disco

bash
# Verificar tamanho do diretório de dados
du -sh ~/.cs/
du -sh ~/.cs/blocks/
du -sh ~/.cs/chainstate/

# Monitorar espaço disponível
df -h

Gerenciamento de Logs

Log de Depuração

bash
# Visualizar entradas recentes
tail -f ~/.cs/debug.log

# Buscar entradas específicas
grep "ERROR" ~/.cs/debug.log
grep "ConnectBlock" ~/.cs/debug.log

Rotação de Logs

Crie /etc/logrotate.d/cscoin:

/home/cscoin/.cs/debug.log {
    weekly
    rotate 4
    compress
    delaycompress
    missingok
    notifempty
    create 0640 cscoin cscoin
    postrotate
        systemctl reload csd > /dev/null 2>&1 || true
    endscript
}

Alertas

Script Simples de Monitoramento

Crie monitorar_cs.sh:

bash
#!/bin/bash

# Configuração
EMAIL="admin@example.com"
LIMITE_CONEXOES=5
LIMITE_DISCO=90
LIMITE_MEMPOOL=500

# Verificar se o nó está em execução
if ! cs-cli getblockchaininfo > /dev/null 2>&1; then
    echo "Nó Cloud Service não está respondendo!" | mail -s "Alerta Cloud Service" $EMAIL
    exit 1
fi

# Verificar conexões
CONEXOES=$(cs-cli getnetworkinfo | grep '"connections"' | grep -o '[0-9]*')
if [ "$CONEXOES" -lt "$LIMITE_CONEXOES" ]; then
    echo "Poucas conexões: $CONEXOES" | mail -s "Alerta Cloud Service" $EMAIL
fi

# Verificar espaço em disco
USO_DISCO=$(df -h ~/.cs | tail -1 | awk '{print $5}' | tr -d '%')
if [ "$USO_DISCO" -gt "$LIMITE_DISCO" ]; then
    echo "Alto uso de disco: ${USO_DISCO}%" | mail -s "Alerta Cloud Service" $EMAIL
fi

# Verificar mempool
MEMPOOL=$(cs-cli getmempoolinfo | grep '"bytes"' | grep -o '[0-9]*')
MEMPOOL_MB=$((MEMPOOL / 1024 / 1024))
if [ "$MEMPOOL_MB" -gt "$LIMITE_MEMPOOL" ]; then
    echo "Mempool grande: ${MEMPOOL_MB}MB" | mail -s "Alerta Cloud Service" $EMAIL
fi

echo "Todas as verificações passaram"

Tornar executável e adicionar ao crontab:

bash
chmod +x monitorar_cs.sh
crontab -e
# Adicionar: */5 * * * * /caminho/para/monitorar_cs.sh

Tarefas de Manutenção

Atualizações Regulares

bash
# Verificar novas versões
curl -s https://api.github.com/repos/MauricioSpagnol/cloudservice/releases/latest | grep tag_name

# Atualizar do código-fonte
cd ~/cscoin
git pull
./autogen.sh
./configure
make -j$(nproc)
sudo make install
sudo systemctl restart csd

Manutenção do Banco de Dados

bash
# Reindexar blockchain (se necessário)
csd -reindex -daemon

# Reescanear carteira
cs-cli rescanblockchain

Procedimentos de Backup

bash
# Backup da carteira
cs-cli backupwallet /caminho/para/backup/wallet.dat

# Backup da configuração
cp ~/.cs/cs.conf /caminho/para/backup/

# Backup do diretório de dados completo
tar -czf cs-backup-$(date +%Y%m%d).tar.gz ~/.cs/

# Automatizar com cron
0 2 * * * tar -czf /backup/cs-$(date +\%Y\%m\%d).tar.gz ~/.cs/cs.conf ~/.cs/wallet.dat

Limpeza

bash
# Remover arquivos de log antigos
find ~/.cs/ -name "debug.log.*" -mtime +30 -delete

# Reiniciar para limpar mempool
cs-cli stop
sleep 10
csd -daemon

Guia de Solução de Problemas

Problemas Comuns

ProblemaSolução
Nó não iniciaVerificar logs, validar config, garantir portas disponíveis
Sem conexõesVerificar firewall, verificar rede, adicionar nós manualmente
Alto uso de memóriaReduzir dbcache, limitar mempool
Sincronização lentaUsar SSD, aumentar dbcache, verificar largura de banda
Carteira não encontradaVerificar datadir, confirmar que wallet.dat existe

Comandos de Diagnóstico

bash
# Saída de diagnóstico completa
cs-cli getblockchaininfo && \
cs-cli getnetworkinfo && \
cs-cli getmininginfo && \
cs-cli getmempoolinfo

# Verificar erros nos logs
tail -100 ~/.cs/debug.log | grep -i error

# Teste de conectividade de rede
nc -zv node.cs.network 16178

Próximos Passos

Lançado sob a Licença MIT.