Overview
Proper monitoring ensures your Chatwoot installation runs smoothly and helps identify issues before they impact users.Health Check Endpoint
Chatwoot provides a built-in health check endpoint.Basic Health Check
The health endpoint is available at/health:
- Skips authentication and middleware (routes.rb:38)
- Returns quickly for load balancer health checks
- Indicates the Rails application is running
Comprehensive Health Checks
Create a more detailed health check script:Sidekiq Monitoring
Chatwoot includes Sidekiq Web UI for monitoring background jobs.Access Sidekiq Dashboard
Sidekiq Web is mounted at/monitoring/sidekiq (routes.rb:644) and requires super admin authentication.
- Sign in as super admin at
/super_admin - Navigate to
/monitoring/sidekiq
- Queue sizes and latency
- Job processing stats
- Failed jobs
- Retry queue
- Scheduled jobs
Sidekiq Configuration
Key settings fromconfig/sidekiq.yml:
Monitor Sidekiq via CLI
Sidekiq Alerts
Monitor for stuck jobs:Database Monitoring
PostgreSQL Performance
Chatwoot enablespg_stat_statements extension for query monitoring.
Key Metrics
Connection Pool Monitoring
Fromconfig/database.yml:
Statement Timeout
Chatwoot sets statement timeout to prevent runaway queries:Redis Monitoring
Redis Metrics
Redis Memory Monitoring
Application Metrics
NewRelic Integration
Chatwoot includes NewRelic Sidekiq metrics (config/application.rb).
Configure NewRelic:
Custom Metrics Collection
Create a metrics endpoint:Log Monitoring
Application Logs
Structured Log Analysis
Log Aggregation
For production systems, use centralized logging:Logrotate Configuration
System Resource Monitoring
CPU and Memory
Disk I/O
Alerting
Health Check Monitoring Script
Docker Monitoring
Container Health
Docker Compose Monitoring
Monitoring Best Practices
- Set up alerts for critical metrics (disk space, queue size, error rate)
- Monitor trends over time, not just current values
- Establish baselines for normal operation
- Regular reviews of metrics and alerts
- Document thresholds for alerts and escalation procedures
- Test monitoring regularly to ensure it works
- Centralize logs for easier analysis
- Track deployments in monitoring tools for correlation

