- 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.
239 lines
4.8 KiB
Markdown
239 lines
4.8 KiB
Markdown
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# Check PostgreSQL status
|
|
docker ps | grep postgres
|
|
|
|
# View PostgreSQL logs
|
|
docker logs --tail 50 blockscout-postgres
|
|
```
|
|
|
|
---
|
|
|
|
## Nginx Logs
|
|
|
|
### Error Log
|
|
```bash
|
|
tail -50 /var/log/nginx/blockscout-error.log
|
|
# or
|
|
tail -50 /var/log/nginx/error.log
|
|
```
|
|
|
|
### Access Log
|
|
```bash
|
|
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**:
|
|
```bash
|
|
docker logs blockscout | tail -50
|
|
docker inspect blockscout | grep -A 10 RestartCount
|
|
```
|
|
|
|
**Common Causes**:
|
|
1. Database connection issues
|
|
2. Missing environment variables
|
|
3. Port conflicts
|
|
4. Memory limits
|
|
|
|
### Issue: HTTP 502 Bad Gateway
|
|
**Symptoms**: Nginx returns 502, Blockscout container is running
|
|
|
|
**Check**:
|
|
```bash
|
|
# 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**:
|
|
1. Blockscout still initializing
|
|
2. Database migrations incomplete
|
|
3. Application crash
|
|
4. Network connectivity issues
|
|
|
|
### Issue: Database Migration Errors
|
|
**Symptoms**: Logs show "relation does not exist" or migration errors
|
|
|
|
**Check**:
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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
|
|
```bash
|
|
# 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 --since` for 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 status
|
|
- `BLOCKSCOUT_CONFIGURATION_GUIDE.md` - Configuration details
|
|
- `BLOCKSCOUT_FIXED_SUCCESS.md` - Previous fixes applied
|
|
|