note:本人周五开始接触promethuse,周一上班就开始搭环境和配置监控,其实本人对这三个东西根本就是略知一二,但是,我预测感觉过程还是简单的,结果。。。

首先把过程和遇到的问题一一说明。

1.安装promethuse

2.安装go环境

3.安装grafana

  前三步直接去官网看如何安装,过程也都很简单,特别低,对于go语言,需要翻墙哦。

4.安装promethuse 采集信息插件 mongodb_exporter

  到了这里可以说就是遇到各种坑了。

  首先有两个源:

    1. https://github.com/dcu/mongodb_exporter

    2. https://github.com/percona/mongodb_exporter

  接下来就是这两个源的问题了

    对于1 

      ,直接下载mongodb_exporter-linux-amd64这个可执行文件,-h可查看帮助

    执行 ./mongodb_exporter-linux-amd64 -mongodb.uri "mongodb://xxxx:27017" 后,promethuse里的target state是up,但是某些地方出错,应该是作者有什么地方没写

    然后到github issues里一看,大家都是这个问题,于是果断换个源试试

  对于2 ,一开始由于对go的代码结构不熟悉,我用git clone把代码下载到本地,安装说明执行make进行编译时,报了个大概是代码包不在$GOPATH/github.com/percona/mongodb_exporter的错,没有留截图,因为这个插件是go写的,所以目录结构稍微有些多级,一开始我是手动创建再mv进去。贼蠢

  了解了go install,go get,go build命令及GOPATH以及下面的三个目录bin,pkg,src后发现该用go get方法来获取并编译mongodb_exporter

  • src存放源代码(比如:.go .c .h .s等)   按照golang默认约定,go run,go install等命令的当前工作路径(即在此路径下执行上述命令)。
  • pkg编译时生成的中间文件(比如:.a)  golang编译包时
  • bin编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中,如果有多个gopath,那么使用${GOPATH//://bin:}/bin添加所有的bin目录)

  对于2完整详述:

  1. go get  https://github.com/percona/mongodb_exporter(go get命令默认不显示过程)

  2. 如果碰到连接go.google.xxx连接失败等问题,说明你没翻墙,需要翻墙

  3.最后如果遇到下面的问题,不用担心,这个gocoverutil已经在GOPATH/bin里面了,只是你还没添加到环境变量中,而且这个测试不运行也罢。

    

  4.执行-h查看帮助,然后执行本文开头的命令,把这个exporter启起来。

  5.在promethuse要执行的yml文件中添加

    

  6.执行grafana,在localhost:3000里打开页面,登陆后添加promethuse数据源,在import dashborad,搜索2583,添加。  

5.在grafana里导入Mongodb Dashbord,工作结束。

     

6.问题

  1.exporter和mongodb是一对一还是可以一对多呢,这是个问题。

  

  

使用Promethus+Grafana监控Mongodb的更多相关文章

  1. Promethus+Grafana监控解决方案

    [MySQL]企业级监控解决方案Promethus+Grafana Promethus用作监控数据采集与处理,而Grafana只是用作数据展示 一.Promethus简介 Prometheus(普罗米 ...

  2. promethues exporter+ grafana 监控pg+mysql

    这篇文章本来是打算使用pmm 进行数据库监控的,但是居然参考官方文档使用docker 运行起来有点问题,所以直接改用 exporter 进行处理,但是比pmm 弱好多 pmm 的参考架构 说明,以上图 ...

  3. 使用MMS(MongoDB Monitoring Service)监控MongoDB

    使用MMS(MongoDB Monitoring Service)监控MongoDB 一.MongoDB简介: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可 ...

  4. Docker部署Zabbix+Grafana监控

    Docker部署Zabbix+Grafana监控 环境 centos 7 ; Docker 17.12.0-ce ; docker-compose version 1.20.1 2018-4-1 当前 ...

  5. cAdvisor+Prometheus+Grafana监控docker

    cAdvisor+Prometheus+Grafana监控docker 一.cAdvisor(需要监控的主机都要安装) 官方地址:https://github.com/google/cadvisor ...

  6. 用monit监控mongodb,崩溃后自动重启mongdb

    什么是monit Monit是一个跨平台的用来监控Unix/linux系统(比如Linux.BSD.OSX.Solaris)的工具.Monit特别易于安装,而且非常轻量级(只有500KB大小),并且不 ...

  7. [转帖]Prometheus+Grafana监控Kubernetes

    原博客的位置: https://blog.csdn.net/shenhonglei1234/article/details/80503353 感谢原作者 这里记录一下自己试验过程中遇到的问题: . 自 ...

  8. Zabbix应用八:Zabbix监控MongoDB

    利用Zabbix监控MongoDB 一.首先介绍mongodb采集到的数据含义: 1.状态采集命令: >db.serverStatus(); 2.输出内容: { "host" ...

  9. 使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况

    使用Telegraf + Influxdb + Grafana 监控SQLserver服务器的运行状况 前言 本文在Debian9下采用Docker的方式安装Telegraf + Influxdb + ...

随机推荐

  1. Oracle最大进程连接数问题

    问题描述 分析报告保存功能,在本地测试使用时可以正常保存:但是部署在客户现场的系统该功能无法保存成功(全部保存): ---->代码功能没有问题,问题应该在服务器配置或者数据库配置等方面出现问题: ...

  2. async/await实现图片的串行、并行加载

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. React之mockjs+sass+生命周期函数

    mdn W3C标准网站 运行sass cnpm i -D node-sass-chokidar npm-run-all rem单位设置 <script> //rem单位设置 documen ...

  4. python3自动安装脚本,python3.x与python2.x共存

    1.前言: python3过程中,通过搜索一些文章参考安装过程发现比较麻烦,而且还出现一些不可预期的报错.python3环境需要升级openssl,所以为了部署到其他环境更方便,写自动安装脚本方式,且 ...

  5. 利用机器学习检测HTTP恶意外连流量

    本文通过使用机器学习算法来检测HTTP的恶意外连流量,算法通过学习恶意样本间的相似性将各个恶意家族的恶意流量聚类为不同的模板.并可以通过模板发现未知的恶意流量.实验显示算法有较好的检测率和泛化能力. ...

  6. Parcel上手——又一个打包工具

    Parcel是什么? 极速零配置Web应用打包工具 说到打包工具,大多人应该都用过Webpack,Parcel也是这一类工具. Parcel相比Webpack有什么优势? 配置简单 打包速度快 以下是 ...

  7. Win32 按钮嵌套收不到消息解决记录

    太长不看 SetWindowSubClass,然后 return DefSubclassProc(hWnd, uMsg, wParam, lParam);,不要有 WS_CHILD 这个 Style. ...

  8. 个人理解TCP中SYN Cookie

    说起SYN Cookie还是得从TCP3次握手开始说起,先给出计网的体系结构图 然后解释一下SYN,seq,ack,ACK的相关名词 SYN(建立连接) ACK(确认后全部为1) PSH(传送) FI ...

  9. 观察者模式(Observer)和发布-订阅者模式(Publish/Subscribe)区别

    观察者模式:定义一对多的关系,让多个观察对象同时监听某一个主题对象,主题对象状态发生变化就通知所有观察者对象.所以它是由两类对像组成:Subject主题+Observer观察者.主题发布事件,观察者通 ...

  10. python切片使用方法(超详细)

    #切片:就是根据一个下标范围来获取一部分数据,切片通常结合字符串,列表,元组使用 # 为什么使用切片?因为下标只能获取一个数据,所以想要获取字符串或者列表当中一部分数据需要用切片. # 切片的语法格式 ...