Skip to main content

Monitoring

Kuploy provides comprehensive monitoring tools to help you understand your application's health and performance.

Real-time Logs

Access application logs instantly:

  1. Navigate to your application
  2. Click the Logs tab
  3. 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:

FilterExampleDescription
KeyworderrorShows logs containing "error"
Regex/ERROR|WARN/Shows ERROR or WARN logs
Levellevel:errorFilter by log level
Timeafter:1hLogs from the last hour

Log Levels

Kuploy recognizes standard log levels:

LevelDescription
DEBUGDetailed debugging information
INFOGeneral operational messages
WARNWarning conditions
ERRORError conditions
FATALCritical 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
tip

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
OOM Prevention

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:

MetricDescription
InboundData received by your application
OutboundData sent from your application
ConnectionsActive 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:

  1. Go to your application
  2. Click Metrics
  3. Select time range (1h, 6h, 24h, 7d, 30d)
  4. 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

ChannelSetup
SlackWebhook URL
DiscordWebhook URL
TelegramBot token + Chat ID
EmailEmail addresses

Setting Up Slack Notifications

  1. Go to Project SettingsNotifications
  2. Click Add ChannelSlack
  3. Create an incoming webhook in Slack
  4. Paste the webhook URL
  5. Click Test to verify
  6. Click Save
# Example Slack webhook URL format
https://hooks.slack.com/services/TXXXXX/BXXXXX/your-webhook-token

Setting Up Discord Notifications

  1. Go to Project SettingsNotifications
  2. Click Add ChannelDiscord
  3. Create a webhook in your Discord server settings
  4. Paste the webhook URL
  5. Click Save

Setting Up Telegram Notifications

  1. Create a bot via @BotFather
  2. Get your bot token
  3. Get your chat ID (or group ID)
  4. Go to Project SettingsNotifications
  5. Click Add ChannelTelegram
  6. Enter bot token and chat ID
  7. Click Save

Setting Up Email Notifications

  1. Go to Project SettingsNotifications
  2. Click Add ChannelEmail
  3. Enter email addresses (comma-separated for multiple)
  4. Click Save

Alert Types

Configure which events trigger notifications:

EventDescription
Deploy StartedDeployment process begins
Deploy SucceededDeployment completed successfully
Deploy FailedDeployment failed
App DownApplication is not responding
App RecoveredApplication is responding again
High CPUCPU usage exceeds threshold
High MemoryMemory usage exceeds threshold
Certificate ExpiringSSL certificate expiring soon

Custom Alerts

Create alerts based on specific conditions:

  1. Go to AlertsCreate Alert
  2. Configure the condition:
    IF cpu_usage > 80% FOR 5 minutes
    THEN notify slack-channel
  3. Set notification channels
  4. 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:

  1. Go to SettingsHealth Checks
  2. Configure:
    • Path: /health or /api/health
    • Interval: How often to check (default: 30s)
    • Timeout: Max wait time (default: 5s)
    • Threshold: Failures before marking unhealthy
// Example health check endpoint (Express.js)
app.get('/health', (req, res) => {
res.status(200).json({ status: 'healthy' });
});

Best Practices

  1. Set up notifications early - Don't wait for an incident
  2. Use multiple channels - Slack for team, email for critical
  3. Review metrics regularly - Spot trends before they become problems
  4. Configure health checks - Ensure automatic recovery
  5. Set appropriate thresholds - Avoid alert fatigue
  6. Keep logs clean - Use appropriate log levels
  7. 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:

  1. Go to SettingsLog Drains
  2. Click Add Drain
  3. Select your provider
  4. Enter connection details
  5. Click Save