使用Promethus+Grafana监控Mongodb

  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是一对一还是可以一对多呢,这是个问题。

  

   

原文地址:https://www.cnblogs.com/lshao/p/9254111.html