How to monitor mongodb replica set using prometheus
监控mongodb replica set其实有很多方式:
- Using zabbix template to view mongodb data(zabbix+grafana)
- Mongodb官方自己的,不过现在收费了
- Prometheus通过mongodb-exporter收集数据,然后使用Grafana展示数据(prometheus+grafana)
- etc...
Install prometheus
- See detail from official: https://prometheus.io/docs/introduction/first_steps/
- How to install prometheus on docker on ubuntu14.04: https://www.digitalocean.com/community/tutorials/how-to-install-prometheus-using-docker-on-ubuntu-14-04
- pull docker images from: https://store.docker.com/community/images/prom/prometheus
simple configure file
? prometheus-2.3.1.linux-amd64 cat prometheus.yml|awk ‘{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}‘
global:
scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
# scrape_timeout is set to the global default (10s).
alerting:
alertmanagers:
- static_configs:
- targets:
# - alertmanager:9093
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
scrape_configs:
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: ‘prometheus‘
# metrics_path defaults to ‘/metrics‘
# scheme defaults to ‘http‘.
static_configs:
- targets: [‘localhost:9090‘]
- job_name: ‘node-exporter‘
static_configs:
- targets: [‘localhost:9100‘]
- job_name: ‘mongodb-exporter‘
static_configs:
- targets: [‘localhost:9001‘]
Install Node-exporter
- exporters and intergrations: https://prometheus.io/docs/instrumenting/exporters/
Install mongodb-exporter
- exporters and intergrations: https://prometheus.io/docs/instrumenting/exporters/
- mongodb-exporter: https://github.com/dcu/mongodb_exporter
- download mongodb-exporter release: https://github.com/dcu/mongodb_exporter/releases/download/v1.0.0/mongodb_exporter-linux-amd64
run mongodb-exporter
? prometheus ./mongodb_exporter -mongodb.uri mongodb://192.168.152.128:27017,192.168.152.128:27018,192.168.152.128:27019
Listening on :9001 (scheme=HTTP, secured=no, clientValidation=no)
you also can run the multi MongoDB-exporter process to get the metrics of simple MongoDB instance. if so. you should add multi job_name in prometheus.yml. you can monitor every simple MongoDB instance details in grafana by setting dashboard variables.
Insatll Grafana
- see official docs: http://docs.grafana.org/installation/debian/
Configure DashBoard
- download grafana dashboard template json file: https://grafana.com/api/dashboards/2583/revisions/2/download
原文地址:http://blog.51cto.com/bkmaster/2138711
时间: 2024-11-01 21:10:32