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/

相关推荐
那人如此可好13 小时前
MongoDB常用命令大全
mongodb·db
MayBaymax14 小时前
MongoDB 基础概念
java·数据库·mongodb
DBA小马哥1 天前
MongoDB 迁移切流回滚怎么做?停机窗口、增量同步、数据校验全套检查清单
mongodb·迁移学习
DylanlZhao2 天前
我想看看本地 LLM 给我省了多少钱,于是我监控了它
llm·grafana
我是唐青枫3 天前
MongoDB 从零到能用:文档、CRUD、聚合与 Node.js 实战
mongodb
A心有千千结3 天前
Nginx网关可观测建设:打通流量入口,加速线上故障诊断
nginx·prometheus·devops
天天喝旺仔4 天前
Prometheus + Grafana 监控告警体系搭建实战:从 Exporter 指标采集、PromQL 查询到 Alertmanager 告警落地
容器·kubernetes·grafana·prometheus·时序数据库
唐青枫4 天前
MongoDB 从零到能用:文档、CRUD、聚合与 Node.js 实战
mongodb
wno7045 天前
Spring Boot整合MongoDB
spring boot·后端·mongodb
鸽芷咕6 天前
MongoDB 鸿蒙 PC 适配全记录:从 Bazel 交叉编译到 HNP 原生数据库服务
数据库·mongodb·harmonyos