Skip to content

Monitoring

Omakase provides multiple monitoring tools to track service health and performance.

Monitoring Stack

Dozzle - Real-time Logs

Web-based real-time log viewer for all containers.

Access: https://dozzle.yourdomain.com

Features: - Real-time log streaming - Multi-container view - Search and filter logs - No database required

Usage:

# Dozzle automatically discovers all containers
# Access via web interface for real-time logs

Homepage - Service Dashboard

Centralized dashboard for all services.

Access: https://home.yourdomain.com

Features: - Service status indicators - Quick access links - Custom widgets - Docker integration

Configuration: Edit compose/homepage/config/services.yaml

Portainer - Container Management

Full container management interface.

Access: https://portainer.yourdomain.com

Features: - Container lifecycle management - Resource monitoring - Stack deployment - Volume management - Network inspection

Traefik Dashboard

Reverse proxy monitoring and routing visualization.

Access: https://traefik.yourdomain.com

Features: - Active routes - Service health - Certificate status - Middleware chains

Monitoring Commands

Service Status

Check all services:

docker compose ps

Check specific service:

docker compose ps <service-name>

Resource Usage

Real-time resource monitoring:

docker stats

Specific container:

docker stats <container-name>

Logs

View logs:

# All services
docker compose logs

# Specific service
docker compose logs <service-name>

# Follow logs
docker compose logs -f <service-name>

# Last N lines
docker compose logs --tail=100 <service-name>

# Since timestamp
docker compose logs --since 2024-01-01T10:00:00

Health Checks

Check container health:

docker inspect --format='{{.State.Health.Status}}' <container-name>

View health check logs:

docker inspect <container-name> | jq '.[0].State.Health'

Metrics to Monitor

System Resources

CPU Usage:

docker stats --no-stream --format "table {{.Container}}\t{{.CPUPerc}}"

Memory Usage:

docker stats --no-stream --format "table {{.Container}}\t{{.MemUsage}}"

Disk Usage:

# Docker disk usage
docker system df

# Data directory usage
du -sh ${DATA_DIR}/*

# System disk usage
df -h

Network Usage:

docker stats --no-stream --format "table {{.Container}}\t{{.NetIO}}"

Service Health

Container Status:

# Running containers
docker ps

# All containers including stopped
docker ps -a

# Filter by status
docker ps --filter "status=exited"

Network Connectivity:

# List networks
docker network ls

# Inspect network
docker network inspect vnet-service

# Check subnet allocations
make network

Security Monitoring

CrowdSec Alerts:

# List recent alerts
docker exec crowdsec cscli alerts list

# List active decisions (blocks)
docker exec crowdsec cscli decisions list

# View metrics
docker exec crowdsec cscli metrics

Authelia Authentication:

# View authentication logs
docker compose logs authelia | grep "authentication"

Alerting

Telegram Notifications

Configured for backup operations. See Backup.

Email Alerts

Configure SMTP in Authelia for: - Failed login attempts - Password reset requests - 2FA notifications

Log Monitoring

Use Dozzle to set up: - Log filters for errors - Real-time monitoring - Search saved queries

Performance Monitoring

Response Times

Monitor via Traefik dashboard: - Request rates - Response times - Error rates

Database Performance

PostgreSQL:

# Connection stats
docker exec postgres psql -U user -d dbname -c "SELECT * FROM pg_stat_activity;"

# Database size
docker exec postgres psql -U user -c "\l+"

Storage Performance

I/O Statistics:

iostat -x 1

Disk Performance:

docker run --rm -v ${DATA_DIR}:/data alpine sh -c "dd if=/dev/zero of=/data/testfile bs=1M count=1024 && rm /data/testfile"

Dashboard Setup

Homepage Widgets

Edit compose/homepage/config/services.yaml:

- Service Name:
    - Description: Service description
      icon: service-icon.png
      href: https://service.yourdomain.com
      ping: http://service:port
      container: container-name

Grafana (Optional)

For advanced monitoring, consider adding: - Prometheus for metrics collection - Grafana for visualization - Loki for log aggregation

Monitoring Checklist

Daily: - [ ] Check Homepage dashboard - [ ] Review error logs in Dozzle - [ ] Verify all services running

Weekly: - [ ] Check resource usage trends - [ ] Review CrowdSec security alerts - [ ] Check disk space utilization

Monthly: - [ ] Review performance metrics - [ ] Analyze resource consumption - [ ] Optimize underperforming services

Troubleshooting Monitoring

Dozzle Not Showing Logs

Check Cetusguard connection:

docker compose logs dozzle

Verify Docker socket proxy is running:

docker compose ps cetusguard

Homepage Not Updating

Check service status:

docker compose ps homepage

Verify configuration:

docker compose logs homepage

Portainer Connection Issues

Check API access through Cetusguard:

curl http://cetusguard:2375/v1.43/containers/json

See Also