Monitoring
Kuploy provides comprehensive monitoring tools to help you understand your application's health and performance.
Real-time Logs
Access application logs instantly:
- Navigate to your application
- Click the Logs tab
- View logs in real-time as they stream
Log Features
- Live streaming - Logs appear as they're generated
- Search - Filter logs by keyword or regex
- Time range - View historical logs
- Download - Export logs for offline analysis
# Example log output
2024-01-15T10:30:45.123Z [INFO] Server started on port 3000
2024-01-15T10:30:46.456Z [INFO] Connected to database
2024-01-15T10:31:02.789Z [WARN] Slow query detected (523ms)
2024-01-15T10:31:15.012Z [ERROR] Failed to process request: timeout
Filtering Logs
Use the search bar to filter logs:
| Filter | Example | Description |
|---|---|---|
| Keyword | error | Shows logs containing "error" |
| Regex | /ERROR|WARN/ | Shows ERROR or WARN logs |
| Level | level:error | Filter by log level |
| Time | after:1h | Logs from the last hour |
Log Levels
Kuploy recognizes standard log levels:
| Level | Description |
|---|---|
| DEBUG | Detailed debugging information |
| INFO | General operational messages |
| WARN | Warning conditions |
| ERROR | Error conditions |
| FATAL | Critical failures |
Container Metrics
Monitor resource usage in real-time:
CPU Usage
Track processor utilization:
- Current usage - Real-time CPU percentage
- Average - Rolling average over time
- Throttling - Times CPU was limited
CPU Usage: 45% | Avg (1h): 32% | Throttled: 0 times
If you see frequent throttling, consider upgrading to a larger instance size.
Memory Usage
Monitor memory consumption:
- Used - Current memory usage
- Limit - Maximum allocated memory
- Peak - Highest usage recorded
Memory: 412 MB / 512 MB (80%) | Peak: 498 MB
If memory usage consistently exceeds 80%, upgrade your plan or optimize your application to prevent Out of Memory (OOM) kills.
Network I/O
Track data transfer:
| Metric | Description |
|---|---|
| Inbound | Data received by your application |
| Outbound | Data sent from your application |
| Connections | Active network connections |
Network: ↓ 1.2 MB/s | ↑ 890 KB/s | 245 connections
Disk I/O
Monitor storage operations:
- Read - Data read from disk
- Write - Data written to disk
- IOPS - Input/output operations per second
Metrics Dashboard
Access the full metrics dashboard:
- Go to your application
- Click Metrics
- Select time range (1h, 6h, 24h, 7d, 30d)
- View graphs and trends
Available Charts
- CPU usage over time
- Memory usage over time
- Network throughput
- Request rate
- Response times (p50, p95, p99)
- Error rate
- Active instances
Notifications
Set up alerts to stay informed about your application's status.
Supported Channels
| Channel | Setup |
|---|---|
| Slack | Webhook URL |
| Discord | Webhook URL |
| Telegram | Bot token + Chat ID |
| Email addresses |
Setting Up Slack Notifications
- Go to Project Settings → Notifications
- Click Add Channel → Slack
- Create an incoming webhook in Slack
- Paste the webhook URL
- Click Test to verify
- Click Save
# Example Slack webhook URL format
https://hooks.slack.com/services/TXXXXX/BXXXXX/your-webhook-token
Setting Up Discord Notifications
- Go to Project Settings → Notifications
- Click Add Channel → Discord
- Create a webhook in your Discord server settings
- Paste the webhook URL
- Click Save
Setting Up Telegram Notifications
- Create a bot via @BotFather
- Get your bot token
- Get your chat ID (or group ID)
- Go to Project Settings → Notifications
- Click Add Channel → Telegram
- Enter bot token and chat ID
- Click Save
Setting Up Email Notifications
- Go to Project Settings → Notifications
- Click Add Channel → Email
- Enter email addresses (comma-separated for multiple)
- Click Save
Alert Types
Configure which events trigger notifications:
| Event | Description |
|---|---|
| Deploy Started | Deployment process begins |
| Deploy Succeeded | Deployment completed successfully |
| Deploy Failed | Deployment failed |
| App Down | Application is not responding |
| App Recovered | Application is responding again |
| High CPU | CPU usage exceeds threshold |
| High Memory | Memory usage exceeds threshold |
| Certificate Expiring | SSL certificate expiring soon |
Custom Alerts
Create alerts based on specific conditions:
- Go to Alerts → Create Alert
- Configure the condition:
IF cpu_usage > 80% FOR 5 minutes
THEN notify slack-channel - Set notification channels
- Click Create
Example alert configurations:
# High CPU alert
condition: cpu_usage > 80%
duration: 5m
severity: warning
# High memory alert
condition: memory_usage > 90%
duration: 2m
severity: critical
# Error rate spike
condition: error_rate > 5%
duration: 1m
severity: critical
# Slow response times
condition: response_time_p95 > 2000ms
duration: 10m
severity: warning
Health Checks
Configure health checks to monitor application availability:
- Go to Settings → Health Checks
- Configure:
- Path:
/healthor/api/health - Interval: How often to check (default: 30s)
- Timeout: Max wait time (default: 5s)
- Threshold: Failures before marking unhealthy
- Path:
// Example health check endpoint (Express.js)
app.get('/health', (req, res) => {
res.status(200).json({ status: 'healthy' });
});
Best Practices
- Set up notifications early - Don't wait for an incident
- Use multiple channels - Slack for team, email for critical
- Review metrics regularly - Spot trends before they become problems
- Configure health checks - Ensure automatic recovery
- Set appropriate thresholds - Avoid alert fatigue
- Keep logs clean - Use appropriate log levels
- Monitor key metrics - Focus on user-impacting metrics
Integrations
External Monitoring
Export metrics to your preferred monitoring platform:
- Prometheus - Metrics endpoint available at
/metrics - Datadog - Use the Datadog agent integration
- New Relic - Install the New Relic agent
- Grafana - Connect via Prometheus endpoint
Log Aggregation
Forward logs to external services:
- Papertrail - Configure syslog forwarding
- Logtail - Use the Logtail drain
- Datadog Logs - Configure log forwarding
- Elasticsearch - Set up log shipping
To configure log forwarding:
- Go to Settings → Log Drains
- Click Add Drain
- Select your provider
- Enter connection details
- Click Save