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 getmempoolinfoMonitoramento 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
nethogsEspaç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 -hGerenciamento 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.logRotaçã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.shTarefas 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 csdManutenção do Banco de Dados
bash
# Reindexar blockchain (se necessário)
csd -reindex -daemon
# Reescanear carteira
cs-cli rescanblockchainProcedimentos 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.datLimpeza
bash
# Remover arquivos de log antigos
find ~/.cs/ -name "debug.log.*" -mtime +30 -delete
# Reiniciar para limpar mempool
cs-cli stop
sleep 10
csd -daemonGuia de Solução de Problemas
Problemas Comuns
| Problema | Solução |
|---|---|
| Nó não inicia | Verificar logs, validar config, garantir portas disponíveis |
| Sem conexões | Verificar firewall, verificar rede, adicionar nós manualmente |
| Alto uso de memória | Reduzir dbcache, limitar mempool |
| Sincronização lenta | Usar SSD, aumentar dbcache, verificar largura de banda |
| Carteira não encontrada | Verificar 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 16178Próximos Passos
- Explore a Visão Geral de Mineração
- Configure sua Carteira
- Saiba sobre a Arquitetura da Rede