Both containers implement automated health monitoring:
- Check Interval: Every 30 seconds
- Timeout: 5 seconds
- Start Period: 10 seconds
- Retries: 3 attempts before marking unhealthy
Method 1: HTTP Endpoint
curl http://localhost:3000/healthResponse (Healthy):
{
"status": "healthy",
"timestamp": "2025-11-25T12:00:00.000Z",
"uptime": 3600,
"database": "connected"
}Method 2: Docker Inspect
docker inspect --format='{{.State.Health.Status}}' demasy-server
docker inspect --format='{{.State.Health.Status}}' oracle-al-database-26aiMethod 3: Built-in Command
docker exec demasy-server healthcheckExpected output:
Server is healthy.
Configuration:
- Driver: JSON file
- Max Size: 10MB per file
- Max Files: 3 (rotation)
- Total Size: ~30MB
Access database logs:
# View all logs
docker logs oracle-al-database-26ai
# Follow logs in real-time
docker logs -f oracle-al-database-26ai
# View last 100 lines
docker logs --tail 100 oracle-al-database-26ai
# View with timestamps
docker logs -t oracle-al-database-26ai
# Filter by time
docker logs --since 1h oracle-al-database-26ai
docker logs --since 2025-11-25T10:00:00 oracle-al-database-26ai# View application logs
docker logs demasy-server
# Follow logs
docker logs -f demasy-server
# View with grep filter
docker logs demasy-server 2>&1 | grep ERRORPersistent logs are stored in the demasylabs_logs volume:
# Inspect volume
docker volume inspect demasylabs_logs
# Access logs from host
docker run --rm -v demasylabs_logs:/logs alpine ls -la /logs# ORDS server logs
docker exec demasy-server tail -f /tmp/ords.log
# APEX installation logs
docker exec demasy-server tail -f /tmp/apex_install.log
# ORDS configuration logs
docker exec demasy-server cat /tmp/ords_install.log# Monitor all containers
docker stats
# Monitor specific container
docker stats oracle-al-database-26ai
# One-time snapshot
docker stats --no-streamOutput includes:
- CPU usage percentage
- Memory usage and limit
- Memory percentage
- Network I/O
- Block I/O
- Process count
# Full container inspection
docker inspect oracle-al-database-26ai
# Get specific information
docker inspect --format='{{.State.Status}}' oracle-al-database-26ai
docker inspect --format='{{.NetworkSettings.IPAddress}}' oracle-al-database-26ai# Connect to database
docker exec -it oracle-al-database-26ai sqlplus / as sysdba
# Run performance queries
SELECT * FROM V$SESSION WHERE USERNAME IS NOT NULL;
SELECT * FROM V$SQL WHERE ELAPSED_TIME > 1000000;
SELECT * FROM V$SYSTEM_EVENT;# List running processes in container
docker exec demasy-server ps aux
# Check ORDS process
docker exec demasy-server netstat -tulnp | grep :8080
# Monitor Java processes
docker exec demasy-server jps -v