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

news/2024/5/18 22:44:10 标签: prometheus, grafana, mongodb

  由于所有组件写一篇幅过长,所以每个组件分一篇方便查看,前四篇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/ 


http://www.niftyadmin.cn/n/5471983.html

相关文章

Day83:服务攻防-开发组件安全JacksonFastJson各版本XStreamCVE环境复现

目录 J2EE-组件Jackson-本地demo&CVE 代码执行 (CVE-2020-8840) 代码执行 (CVE-2020-35728&#xff09; J2EE-组件FastJson-本地demo&CVE FastJson < 1.2.24 FastJson < 1.2.47 FastJson < 1.2.80 (利用条件比较苛刻) J2EE-组件XStream-靶场&CVE …

刷题之Leetcode27题(超级详细)

977.有序数组的平方 力扣题目链接(opens new window)https://leetcode.cn/problems/squares-of-a-sorted-array/ 给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 示例 1&#xff1a; 输入…

数学专题2 -最大公约数和最小公倍数

最大公约数和最小公倍数 1. 基础概念 1.1 质数的定义 质数(Prime Number)是一个重要的数学概念,它的定义如下: 如果一个大于1的自然数只有1和它本身两个因数,那么这个数就被称为质数(或素数)。 换句话说,对于一个质数 p p p,它满足以下条件: p p p 是一个大于1的自然数;如…

Qt Remote Objects (QtRO) 笔记

简介 Qt Remote Objects (QtRO) 是 Qt 的一个进程间通信模块。 术语 Source 是指提供服务或提供功能供其他程序使用的对象&#xff0c;是 RPC 中的被调用端。 Replica 是指 Source 对象的代理对象&#xff0c;用于 RPC 中的调用端&#xff0c;对 Replica 的调用请求将被转发…

异常处理之异常概述

什么是生活的异常 男主角小明每天开车上班&#xff0c;正常车程1小时。但是&#xff0c;不出意外的话&#xff0c;可能会出现意外。 出现意外&#xff0c;即为异常情况。我们会做相应的处理。如果不处理&#xff0c;到不了公司。处理完了&#xff0c;就可以正常开车去公司。 什…

最新AI创作系统ChatGPT网站系统源码+Ai绘画网站源码+Suno-v3-AI音乐生成大模型(sparkAi系统V6版本)

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧。已支持GPT…

数据结构 第六章(图)【下】

写在前面&#xff1a; 本系列笔记主要以《数据结构&#xff08;C语言版&#xff09;》为参考&#xff08;本章部分图片来源于王道&#xff09;&#xff0c;结合下方视频教程对数据结构的相关知识点进行梳理。所有代码块使用的都是C语言&#xff0c;如有错误欢迎指出。视频链接…

深度学习pytorch实战第P2周:CIFAR10彩色图片识别

>- **&#x1f368; 本文为[&#x1f517;365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **&#x1f356; 原作者&#xff1a;[K同学啊](https://mtyjkh.blog.csdn.net/)** 零、引言&#xff08;温故而知新&#xff…