https://github.com/percona/mongodb_exporter
service文件: /usr/lib/systemd/system/mongodb_exporter.service
[Unit]
Description=mongodb_exporter
Documentation=https://github.com/percona/mongodb_exporter
After=network.target[Service]
ExecStart=/usr/local/src/mongodb_exporter/mongodb_exporter --mongodb.uri "mongodb://monitoruser:9iHjhLj4dC@172.16.53.123:29017" --collect-all --compatible-mode
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure[Install]
WantedBy=multi-user.target[Unit]
Description=mongodb_exporter
After=network.target
mongodb_exporter的监控指标和旧版本有变化,添加--compatible-mode参数,兼容旧指标。
[root@iZderaqgnji3m0Z mongodb_exporter]# ./mongodb_exporter --help
Usage: mongodb_exporterMongoDB Prometheus exporterFlags:-h, --help Show context-sensitive help.--mongodb.collstats-colls=db1,db2.col2 List of comma separared databases.collections to get $collStats--mongodb.indexstats-colls=db1.col1,db2.col2 List of comma separared databases.collections to get $indexStats--mongodb.uri=mongodb://user:pass@127.0.0.1:27017/admin?ssl=trueMongoDB connection URI ($MONGODB_URI)--[no-]mongodb.global-conn-pool Use global connection pool instead of creating new pool for each http request.--[no-]mongodb.direct-connect Whether or not a direct connect should be made. Direct connections are not valid if multiple hosts are specifiedor an SRV URI is used.--web.listen-address=":9216" Address to listen on for web interface and telemetry--web.telemetry-path="/metrics" Metrics expose path--web.config=STRING Path to the file having Prometheus TLS config for basic auth--log.level="error" Only log messages with the given severity or above. Valid levels: [debug, info, warn, error, fatal]--collector.diagnosticdata Enable collecting metrics from getDiagnosticData--collector.replicasetstatus Enable collecting metrics from replSetGetStatus--collector.dbstats Enable collecting metrics from dbStats--collector.topmetrics Enable collecting metrics from top admin command--collector.indexstats Enable collecting metrics from $indexStats--collector.collstats Enable collecting metrics from $collStats--metrics.overridedescendingindex Enable descending index name override to replace -1 with _DESC--collect-all Enable all collectors. Same as specifying all --collector.--collector.collstats-limit=0 Disable collstats, dbstats, topmetrics and indexstats collector if there are more than collections. 0=No limit--[no-]discovering-mode Enable autodiscover collections--[no-]compatible-mode Enable old mongodb-exporter compatible metrics--version Show version and exit
systemctl start mongodb_exporter.service
systemctl stop mongodb_exporter.service
systemctl enable mongodb_exporter.service
prometheus.yml
- job_name: 'mongodb_monitor'scrape_interval: 1mfile_sd_configs:- files:- /usr/local/src/prometheus/conf.d/mongodb.json
mongodb.json
[{"labels": {"desc": "mongodb","group": "mongodb","host_ip": "172.16.53.117"},"targets": ["172.16.53.117:9216"]}
]
ID:7353
dashboard有些指标展示不出来,需要调试一下。
How To Monitor MongoDB with Grafana and Prometheus on Ubuntu 20.04
https://www.digitalocean.com/community/tutorials/how-to-monitor-mongodb-with-grafana-and-prometheus-on-ubuntu-20-04