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. Elasticsearch,Filebeat,Kibana部署,添加图表及elastalert报警

    服务端安装 Elasticsearch和Kibana(需要安装openjdk1.8以上) 安装方法:https://www.elastic.co以Ubuntu为例: wget -qO - https: ...

  2. AI未来如何应对人类的欺骗?

    人工智能正以可预见.不可预见的种种形式无孔不入地涉足社会的各个层面,这既让人兴奋,也让人不安.我们能够预测到这样的情绪反应,但我们真的能够预测到人工智能所涉及的相关风险吗? 假若现在是2022年,你乘 ...

  3. Golang: chan定义问题(7)

    通常都是定义读写双向的 chan,定义单向 chan 问题. 专栏的介绍可以参考 <GotchaGolang专栏>,代码可以看<宝库-Gotcha>. 通过 只写 chan 传 ...

  4. PHP实现读取一个1G的文件大小

    需求如下: 现有一个1G左右的日志文件,大约有500多万行, 用php返回最后几行的内容. 1. 直接采用file函数来操作 or file_get_content() 肯定报内存溢出注: 由于 fi ...

  5. JavaScript的封装和继承

    提到JavaScript"面向对象编程",主要就是封装和继承,这里主要依据阮一峰及其他博客的系列文章做个总结. 继承机制的设计思想 所有实例对象需要共享的属性和方法,都放在这个对象 ...

  6. GNS3(1)——OSPF多区域配置

    GNS3(1)——OSPF多区域配置 RIP适用于中小网络,比较简单.没有系统内外.系统分区,边界等概念,用到不是分类的路由. OSPF适用于较大规模网络.它把自治系统分成若干个区域,通过系列内外路由 ...

  7. 01 Taro_Mall 开源多端小程序框架设计

    项目介绍 Taro_Mall是一款多端开源在线商城应用程序,后台是基于litemall基础上进行开发,前端采用Taro框架编写,现已全部完成小程序和h5移动端,后续会对APP,淘宝,头条,百度小程序进 ...

  8. flask之三:视图高级

    视图高级 app.route和app.add_url_rule app.add_url_rule app.add_url_rule('/list/',endpoint='myweb',view_fun ...

  9. python全局变量语句global

    在python中使用函数体外的变量,可以使用global语句 变量可以是局部域或者全局域.定义在函数内的变量有局部作用域,在一个模块中最高级别的变量有全局作用域. 在编译器理论里著名的“龙书”中,阿霍 ...

  10. iview中遇到table的坑(已经修改了table的数据,但是界面没有更新)

    https://blog.csdn.net/bigdargon/article/details/89381466 https://blog.csdn.net/qiuyan_f/article/deta ...