- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
4.8 KiB
4.8 KiB
Blockscout Logs Review
Date: December 23, 2025
Container: VMID 5000 on pve2 (192.168.11.140)
Log Review Summary
This document contains a comprehensive review of all Blockscout-related logs including:
- Docker container logs (Blockscout and PostgreSQL)
- Nginx access and error logs
- System status information
- Error analysis
- Database status
Container Status
Blockscout Container
# Check container status
docker ps -a | grep blockscout
# View recent logs
docker logs --tail 100 blockscout
# Follow logs in real-time
docker logs -f blockscout
PostgreSQL Container
# Check PostgreSQL status
docker ps | grep postgres
# View PostgreSQL logs
docker logs --tail 50 blockscout-postgres
Nginx Logs
Error Log
tail -50 /var/log/nginx/blockscout-error.log
# or
tail -50 /var/log/nginx/error.log
Access Log
tail -50 /var/log/nginx/blockscout-access.log
# or
tail -50 /var/log/nginx/access.log
Common Issues and Solutions
Issue: Container Restarting
Symptoms: docker ps shows "Restarting" status
Check:
docker logs blockscout | tail -50
docker inspect blockscout | grep -A 10 RestartCount
Common Causes:
- Database connection issues
- Missing environment variables
- Port conflicts
- Memory limits
Issue: HTTP 502 Bad Gateway
Symptoms: Nginx returns 502, Blockscout container is running
Check:
# Check if Blockscout is responding
curl http://localhost:4000/api/v2/status
# Check Nginx error log
tail -20 /var/log/nginx/error.log
# Check Blockscout logs for startup errors
docker logs blockscout | grep -i error
Common Causes:
- Blockscout still initializing
- Database migrations incomplete
- Application crash
- Network connectivity issues
Issue: Database Migration Errors
Symptoms: Logs show "relation does not exist" or migration errors
Check:
# Check database tables
docker exec blockscout-postgres psql -U blockscout -d blockscout -c '\dt'
# Check migration status in logs
docker logs blockscout | grep -i migration
Solution: Wait for auto-migration to complete, or manually run migrations
Log Analysis Commands
Filter by Severity
# Errors only
docker logs blockscout 2>&1 | grep -i error
# Warnings
docker logs blockscout 2>&1 | grep -i warn
# Info messages
docker logs blockscout 2>&1 | grep -i info
Filter by Component
# Database/Repo issues
docker logs blockscout 2>&1 | grep -i -E "(database|postgres|repo|ecto)"
# Phoenix/Endpoint
docker logs blockscout 2>&1 | grep -i -E "(phoenix|endpoint|listening)"
# Indexer
docker logs blockscout 2>&1 | grep -i indexer
# API requests
docker logs blockscout 2>&1 | grep -i api
Timeline Analysis
# Recent activity (last hour)
docker logs --since 1h blockscout
# Specific time range
docker logs --since 2025-12-23T20:00:00 --until 2025-12-23T21:00:00 blockscout
Monitoring Commands
Real-time Monitoring
# Follow all container logs
docker-compose -f /opt/blockscout/docker-compose.yml logs -f
# Follow specific service
docker logs -f blockscout
docker logs -f blockscout-postgres
# Nginx access in real-time
tail -f /var/log/nginx/blockscout-access.log
# Nginx errors in real-time
tail -f /var/log/nginx/blockscout-error.log
Health Checks
# Blockscout API
curl http://localhost:4000/api/v2/status
# Nginx HTTPS
curl -k https://localhost/health
# External
curl https://explorer.d-bis.org/health
Log Locations
| Component | Log Location |
|---|---|
| Blockscout Container | docker logs blockscout |
| PostgreSQL Container | docker logs blockscout-postgres |
| Nginx Error | /var/log/nginx/blockscout-error.log or /var/log/nginx/error.log |
| Nginx Access | /var/log/nginx/blockscout-access.log or /var/log/nginx/access.log |
| Systemd Nginx | journalctl -u nginx |
| Docker Compose | docker-compose -f /opt/blockscout/docker-compose.yml logs |
Quick Diagnostics
Full System Check
# Container status
docker ps -a | grep -E "(blockscout|postgres)"
# Docker compose status
cd /opt/blockscout && docker-compose ps
# Nginx status
systemctl status nginx
# Recent errors
docker logs blockscout 2>&1 | tail -50 | grep -i error
# Database connection
docker exec blockscout-postgres pg_isready -U blockscout
Notes
- Logs are rotated automatically
- Container logs persist until container is removed
- Use
docker logs --sincefor time-based queries - Nginx logs may need manual rotation if volume is high
- Consider log aggregation for production environments
See Also
BLOCKSCOUT_SSL_COMPLETE_STATUS.md- Overall statusBLOCKSCOUT_CONFIGURATION_GUIDE.md- Configuration detailsBLOCKSCOUT_FIXED_SUCCESS.md- Previous fixes applied