Skip to main content

Monitoring

MongoDB Monitoring Built-in Monitoring Tools

bash
# MongoDB Shell monitoring commands
mongo --eval "db.serverStatus()"
mongo --eval "db.stats()"
mongo --eval "db.runCommand({top: 1})"
# Connection monitoring
mongo --eval "db.runCommand({currentOp: 1})"

Performance Metrics

javascript
// Key metrics to monitor
db.serverStatus().metrics.commands
db.serverStatus().connections
db.serverStatus().opcounters
db.serverStatus().wiredTiger.cache

Log Analysis

bash
# Monitor MongoDB logs
sudo tail -f /var/log/mongodb/mongod.log
# Parse slow queries
grep "slow operation" /var/log/mongodb/mongod.log

Third-party Monitoring

yaml
# Prometheus MongoDB Exporter
version: '3.8'
services:
mongodb-exporter:
image: percona/mongodb_exporter:0.40
ports:
- "9216:9216"
environment:
- MONGODB_URI=mongodb://localhost:27017
command:
- '--collect-all'
- '--compatible-mode'