部署MongoDB分片集群后,监控是保障性能、稳定性与扩展能力的关键环节。借助成熟的方法与工具,可以高效落地监控体系。以下从官方工具、开源方案到代码层面逐步拆解。 常用监控方法与工具 MongoDB原生监控工具: MongoDB监控命令:如 db.stats()、sh.status() 等简洁直观的
部署MongoDB分片集群后,监控是保障性能、稳定性与扩展能力的关键环节。借助成熟的方法与工具,可以高效落地监控体系。以下从官方工具、开源方案到代码层面逐步拆解。

长期稳定更新的攒劲资源: >>>点此立即查看<<<
db.stats()、sh.status() 等简洁直观的指令。在Mongo Shell中执行以下命令,即可获取当前数据库的统计摘要:
use myDatabase; var stats = db.stats(); printjson(stats);
通过一条命令,即可查看分片集群的整体分布、分片键及块信息:
sh.status();
Prometheus MongoDB Exporter是专门抓取MongoDB指标的工具。从Percona仓库下载安装包:
wget https://github.com/percona/mongodb_exporter/releases/download/v0.20.4/mongodb_exporter-0.20.4.linux-amd64.tar.gz tar -xzf mongodb_exporter-0.20.4.linux-amd64.tar.gz cd mongodb_exporter-0.20.4.linux-amd64 ./mongodb_exporter --mongodb.uri "mongodb://localhost:27017"
接着在Prometheus配置文件 prometheus.yml 中添加抓取任务:
scrape_configs:
- job_name: 'mongodb'
static_configs:
- targets: ['localhost:9216']
启动Prometheus:
./prometheus --config.file=prometheus.yml
以Debian/Ubuntu为例安装Grafana:
# For Debian/Ubuntu sudo apt-get install -y software-properties-common sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" sudo apt-get update sudo apt-get install grafana # Start Grafana sudo systemctl start grafana-server sudo systemctl enable grafana-server
安装完成后,访问 http://localhost:3000,使用默认账户(admin/admin)登录。然后将Prometheus添加为数据源(Settings → Data Sources → Add data source → Prometheus)。
新建仪表盘,添加面板后选择Prometheus数据源,输入查询语句,例如:
sum(rate(mongodb_opcounters_insert_total[5m])) by (instance)
这样即可直观查看写入操作速率。
以Ubuntu为例,配置GPG key和源:
# Install ElasticSearch wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - sudo apt-get install apt-transport-https echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list sudo apt-get update && sudo apt-get install elasticsearch sudo systemctl start elasticsearch sudo systemctl enable elasticsearch # Install Logstash sudo apt-get install logstash sudo systemctl start logstash sudo systemctl enable logstash # Install Kibana sudo apt-get install kibana sudo systemctl start kibana sudo systemctl enable kibana
编辑Logstash配置文件 /etc/logstash/conf.d/mongodb.conf:
input {
file {
path => "/var/log/mongodb/mongod.log"
start_position => "beginning"
type => "mongodb"
}
}
filter {
if [type] == "mongodb" {
grok {
match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} %{LOGLEVEL:loglevel} %{GREEDYDATA:message}" }
}
date {
match => [ "timestamp", "ISO8601" ]
}
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
}
stdout { codec => rubydebug }
}
重启Logstash使配置生效:
sudo systemctl restart logstash
访问 http://localhost:5601,进入Kibana。首先创建索引模式(Index Patterns),选择 logstash-*。之后即可创建可视化面板和仪表盘。
MongoDB分片集群的监控并非可选项,而是必须掌握的基础能力。通过内置命令、Prometheus + Grafana、Elastic Stack等手段,可以牢牢掌握集群的健康状态与性能指标。上述配置与代码示例可直接上手使用,帮助快速搭建一套实用的监控体系。
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述