Prometheus+grafana环境搭建MongoDB(docker+二进制两种方式安装)(五)

由于所有组件写一篇幅过长,所以每个组件分一篇方便查看,前四篇mongodb的exporter坑也挺多总结一下各种安装方式,方便后续考古。

Prometheus+grafana环境搭建方法及流程两种方式(docker和源码包)(一)-CSDN博客

Prometheus+grafana环境搭建rabbitmq(docker+二进制两种方式安装)(二)-CSDN博客

Prometheus+grafana环境搭建mysql(docker+二进制两种方式安装)(三)-CSDN博客

Prometheus+grafana环境搭建redis(docker+二进制两种方式安装)(四)-CSDN博客

1.监控MongoDB

1.1官方地址

GitHub - percona/mongodb_exporter: A Prometheus exporter for MongoDB including sharding, replication and storage engines

1.1.1 mongodb创建监控新用户

为保持监控用户的独立性,mongodb和mysql一样,最好单独创建一个监控用户

复制代码
我使用docker 安装的mongodb,如果非docker安装则去掉 docker exec -it mongo4
4.4版本
docker exec -it mongo4 mongo admin
切换数据库
use admin

6.0 版本
docker exec -it mongo6 mongosh admin

用root用户登录
db.auth('root','123456')

创建用户
db.createUser({ 
    user: "prometheus",
    pwd: "prometheus",
    roles: [
        { role: "read", db: "admin" },
        { role: "readAnyDatabase", db: "admin" },
        { role: "clusterMonitor", db: "admin" }
    ]
});

验证新用户
db.auth('prometheus','prometheus')

4.4版本过程

6.0版本过程

1.2二进制方式安装

exporter 下载地址:https://github.com/percona/mongodb_exporter/releases/download/v0.40.0/mongodb_exporter-0.40.0.linux-amd64.tar.gz

下载后上传到自己常用的目录,使用tar 命令解压

1.2.1 命令行方式启动
复制代码
官方建议使用export 方式防止密码泄露
export MONGODB_USER=prometheus
export MONGODB_PASSWORD=prometheus
./mongodb_exporter --mongodb.uri=mongodb://192.168.90.153:27017 --collect-all --compatible-mode

不怕泄露
./mongodb_exporter --mongodb.uri=mongodb://prometheus:prometheus@192.168.90.153:27017 --collect-all

--compatible-mode 兼容模式,新版的指标名有变化,如果是首次使用,可以不加。

--collect-all 代表采集所有指标,其他可选指标

https://github.com/percona/mongodb_exporter/blob/main/REFERENCE.md

1.2.2 注册为系统服务启动

创建一个非root用户

useradd -M -s /usr/sbin/nologin prometheus -M不创建家目录,不允许登录

vim /etc/systemd/system/mongodb_exporter.service

复制代码
[Unit]
Description=mongodb_exporter
Documentation=https://prometheus.io/

[Service]
User=prometheus
Group=prometheus
Environment="MONGODB_URI=mongodb://prometheus:prometheus@192.168.3.110:27017"
ExecStart=/opt/mongodb_exporter/mongodb_exporter --collect-all --compatible-mode

Restart=on-failure
[Install]
WantedBy=multi-user.target

配置为开机自启动并查看服务状态

systemctl enable mongodb_exporter.service --now

systemctl status mongodb_exporter.service

1.3 docker方式启动
1.3.1 docker命令运行
复制代码
docker run -d -p 9216:9216 \ 
   --name=mongodb_exporter \ 
   --restart=always \ 
percona/mongodb_exporter:0.40.0 --mongodb.uri="mongodb://prometheus:prometheus@192.168.3.110:27017" --compatible-mode --collect-all

注意images后面的参数不要换行 否则不会被执行

1.3.2 docker-compose 方式启动

vim docker-compose.yaml

复制代码
version: '3.1'
services:
  mongodb_exporter:
    image: percona/mongodb_exporter:0.40.0
    container_name: mongodb_exporter
    restart: always
    ports:
      - '9216:9216'
    command: ["--mongodb.uri=mongodb://prometheus:prometheus@192.168.3.110:27017","--compatible-mode","--collect-all"]

验证启动结果

访问 exporter所在地址,如果有大量指标则启动正常,否则查看日志排查问题

http://192.168.3.112:9216/metrics

1.4 配置Prometheus监控

vim xxx/prometheus/prometheus.yml

追加以下内容

复制代码
  - job_name: 'mongodb-exporter'
    scrape_interval: 15s
    static_configs:
    - targets: ['192.168.3.112:9216']
      labels:
        instance: 110-mongodb服务器 

刷新配置 在Prometheus所在服务器执行

curl -X POST http://localhost:9090/-/reload

查看结果,访问Prometheus服务 http://192.168.3.112:9090/

查看mongo新增指标, 其中mongodb_ss_xxx为新的指标格式,如果不开兼容模式,则所有指标均为ss_xx

1.5 配置grafana监控

导入模板参见Prometheus+grafana环境搭建方法及流程两种方式(docker和源码包)(一)-CSDN博客

找到喜欢的模板id,12079

Dashboards | Grafana Labs

查看效果访问 http://192.168.3.112:3000/

相关推荐
anghost1506 小时前
基于单片机的智能声控窗帘
单片机·嵌入式硬件·mongodb
xiao-xiang17 小时前
redis-集成prometheus监控(k8s)
数据库·redis·kubernetes·k8s·grafana·prometheus
陈陈CHENCHEN1 天前
【Kubernetes】在 K8s 上部署 Prometheus
kubernetes·prometheus
.用户昵称已存在.1 天前
MongoDB 从入门到精通:安装配置与基础操作指令详解
数据库·mongodb
GeekAGI2 天前
PyMongo 中 `ServerSelectionTimeoutError` 和 `NetworkTimeout` 异常的区别
mongodb
异世界贤狼转生码农2 天前
MongoDB Windows 系统实战手册:从配置到数据处理入门
数据库·mongodb
竹照煜_ysn3 天前
STM32——软硬件I2C
stm32·嵌入式硬件·mongodb
计算机毕设定制辅导-无忧学长3 天前
Grafana 与 InfluxDB 可视化深度集成(二)
信息可视化·数据分析·grafana
云游3 天前
大模型性能指标的监控系统(prometheus3.5.0)和可视化工具(grafana12.1.0)基础篇
grafana·prometheus·可视化·监控