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.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Dokploy/dokploy/llms.txt
Use this file to discover all available pages before exploring further.
Configuration
Access Monitoring Settings
- Navigate to Settings > Monitoring in the Dokploy dashboard
- The monitoring service starts automatically when configured
- Access metrics via the Monitoring page in the main navigation
Server Monitoring Configuration
Configure how server metrics are collected and stored:Configuration Options
| Option | Type | Description | Default |
|---|---|---|---|
type | string | Server type: “Dokploy” or “Remote" | "Dokploy” |
refreshRate | number | Seconds between metric collections | 60 |
port | number | Port for metrics API | 4500 |
token | string | Authentication token for API access | "" |
urlCallback | string | Callback URL for threshold notifications | "" |
retentionDays | number | Days to keep metrics data | 2 |
cronJob | string | Cron expression for cleanup job | ”0 0 * * *“ |
thresholds.cpu | number | CPU usage alert threshold (0-100, 0=disabled) | 0 |
thresholds.memory | number | Memory usage alert threshold (0-100, 0=disabled) | 0 |
Setting a threshold to 0 disables notifications for that metric.
Container Monitoring Configuration
Control which containers are monitored:Configuration Options
| Option | Type | Description | Default |
|---|---|---|---|
refreshRate | number | Seconds between metric collections | 60 |
services.include | array | Container names to monitor (empty = all) | [] |
services.exclude | array | Container names to exclude from monitoring | [] |
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:Server Metrics
Retrieve server metrics with optional limit:limit: Number of records to return (default: 50, use “all” for all records)
Container Metrics
Get metrics for a specific container:appName: Container name (required)limit: Number of records to return (default: 50, use “all” for all records)
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:- Navigate to Monitoring in the main navigation
- Select the server or container you want to monitor
- View live graphs showing CPU, memory, disk, and network metrics
- 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
- 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
- Check monitoring service status:
GET /health - Verify authentication token is correct
- Check Docker is running:
docker ps - Ensure port is not blocked by firewall
High Memory Usage
- Reduce retention days
- Increase refresh rate (collect less frequently)
- Limit monitored services with include/exclude lists
Missing Container Metrics
- Verify container name matches configuration
- Check container is running:
docker ps - Ensure container is not in exclude list
Best Practices
- Set Appropriate Thresholds: Configure thresholds based on your normal operating ranges (typically 80% for CPU, 85% for memory)
- Use Service Filtering: Monitor only production-critical services to reduce overhead
- Balance Refresh Rate: Use 30-60 second intervals for most use cases
- Configure Retention: Keep 7-14 days of data for trend analysis without excessive storage
- Secure Your Token: Use strong, unique tokens for monitoring API access
- Monitor the Monitor: Set up alerts for the monitoring service itself
Next Steps
- Set Up Notifications for threshold alerts
- View Container Logs for troubleshooting