官方文档
github地址:包涵exporter的镜像的Dockerfile和二进制启动包
如果数据库有连接密码,需要修改镜像,默认可以免密登录数据库
prometheus的工作原理与流程图
使用mongo-exporter监控mongodb数据库,prometheus连接mongo-exporter的开放端口,pull exporter中的监控数据,在向grafana中添加mongodb的官方模板:2583,就完成了mongodb的监控。
前提是prometheus+grafana+mongodb已经能正常使用
prometheus安装连接
prometheus下载
grafana安装连接
mongodb安装连接
其他常用exporter下载
1 安装mongo-exporter
1.1 准备mongo-exporter的docker-compose.yaml文件
vim /opt/mongo-exporter/docker-compose.yaml
version : '3.7'
networks:
mongodb_exporter:
external: true
services:
www.hymongodb_exporter.com:
container_name : mongodb_exporter
hostname: mongodb_exporter
networks:
mongodb_exporter:
image: registry.cn-hangzhou.aliyuncs.com/yangyuanpeng/mongodb_exporter:prometheus
restart: on-failure
environment:
- TZ= Asia/Shanghai
- mongodb_exporter_IP=192.168.200.118 #mongpodb ip
- mongodb_port=27017 #mongodb port
volumes:
- /etc/localtime:/etc/localtime:ro
ports :
- 9103:9001
开放防火墙
firewall-cmd --zone=public --add-port=9103/tcp --permanent && firewall-cmd --reload #exporter端口
firewall-cmd --zone=public --add-port=27017/tcp --permanent && firewall-cmd --reload #数据库端口
启动mongodb-exporter
cd /opt/mongo-exporter
docker network create mongodb_exporter
docker-compose up -d
浏览器访问:http://ip:9013/metrics
1.2 修改prometheus.yaml文件
vim prometheus.yaml
# mongodb监控
- job_name: "mongo-exporter"
# metrics_path: '/metrics'
scheme: http
file_sd_configs:
- files: ['/opt/prometheus/sd_config/mongo.yml'] #所有装了mongo-exporter都主机写到这个文件
refresh_interval: 5s
vim /opt/prometheus/sd_config/mongo.yml
- targets: ["192.168.200.113:9103"]
labels:
type: mongo1
- targets: ["192.168.200.118:9103"]
labels:
type: mongo2
#后续自行添加
可不重启prometheus,自动刷新配置
在prometheus上查看mongodb监控
http://prometheus_IP:9090/
找到mongodb,下图为正常状态
1.3 配置grafana面板
grafana中添加dashboard ID:2583,导入后效果