Skip to main content
Dokploy’s real-time metrics system provides detailed insights into your server and container performance. The monitoring service runs as a separate Go application that collects metrics at configurable intervals and stores them for historical analysis.

Configuration

Access Monitoring Settings

  1. Navigate to Settings > Monitoring in the Dokploy dashboard
  2. The monitoring service starts automatically when configured
  3. Access metrics via the Monitoring page in the main navigation

Server Monitoring Configuration

Configure how server metrics are collected and stored:

Configuration Options

Setting a threshold to 0 disables notifications for that metric.

Container Monitoring Configuration

Control which containers are monitored:

Configuration Options

Applying Configuration

Configure monitoring through the Dokploy API:

Metrics API

The monitoring service exposes REST endpoints for accessing metrics data.

Authentication

All endpoints (except /health) require authentication via Bearer token:

Endpoints

Health Check

Check if the monitoring service is running:
Response:

Server Metrics

Retrieve server metrics with optional limit:
Query Parameters:
  • limit: Number of records to return (default: 50, use “all” for all records)
Response:

Container Metrics

Get metrics for a specific container:
Query Parameters:
  • appName: Container name (required)
  • limit: Number of records to return (default: 50, use “all” for all records)
Response:

Threshold Notifications

When metrics exceed configured thresholds, Dokploy sends notifications via the callback URL.

Notification Payload

Example Notification

Viewing Metrics

Dashboard Access

View metrics in real-time:
  1. Navigate to Monitoring in the main navigation
  2. Select the server or container you want to monitor
  3. View live graphs showing CPU, memory, disk, and network metrics
  4. Scrub through historical data based on your retention settings

Free vs Advanced Monitoring

Free Monitoring displays:
  • Last 24 hours of Dokploy container metrics
  • Basic CPU and memory usage graphs
  • Real-time updates every 60 seconds
Advanced Monitoring displays:
  • Configurable retention period (up to your settings)
  • All monitored containers
  • Customizable refresh rates
  • Historical trends and patterns

Performance Considerations

Refresh Rate

Lower refresh rates provide more granular data but increase system overhead:
  • High-frequency (10-30 seconds): Real-time monitoring, higher CPU usage
  • Standard (60 seconds): Balanced performance and accuracy
  • Low-frequency (120+ seconds): Minimal overhead, less granular data

Data Retention

The monitoring system stores up to 288 data points per metric (24 hours at 5-minute intervals). Configure retention days to balance disk usage with historical data needs:
  • Short-term (2-3 days): Minimal disk usage, recent troubleshooting
  • Medium-term (7-14 days): Balanced storage, weekly trend analysis
  • Long-term (30+ days): Higher storage needs, capacity planning

Service Filtering

Monitor only critical services to reduce overhead:

Troubleshooting

Metrics Not Updating

  1. Check monitoring service status: GET /health
  2. Verify authentication token is correct
  3. Check Docker is running: docker ps
  4. Ensure port is not blocked by firewall

High Memory Usage

  1. Reduce retention days
  2. Increase refresh rate (collect less frequently)
  3. Limit monitored services with include/exclude lists

Missing Container Metrics

  1. Verify container name matches configuration
  2. Check container is running: docker ps
  3. Ensure container is not in exclude list

Best Practices

  1. Set Appropriate Thresholds: Configure thresholds based on your normal operating ranges (typically 80% for CPU, 85% for memory)
  2. Use Service Filtering: Monitor only production-critical services to reduce overhead
  3. Balance Refresh Rate: Use 30-60 second intervals for most use cases
  4. Configure Retention: Keep 7-14 days of data for trend analysis without excessive storage
  5. Secure Your Token: Use strong, unique tokens for monitoring API access
  6. Monitor the Monitor: Set up alerts for the monitoring service itself

Next Steps