安装可以查看PMM 源码的Go环境
1.基础介绍
最近在搭建PMM数据库监控系统,我们知道 Prometheus 是 PMM Server 的重要组件,*_exporter是PMM Client的主要组件。
归属组件 | 名称 | 作用 |
Server组件 |
Prometheus | 一个开源的服务监控系统和时间序列数据库,它连接到PMM Client上的exporter聚集DB的监控数据。 |
Client组件 | node_exporter | Prometheus exporter用于搜集一般系统信息 |
mysqld_exporter | Prometheus exporter用于搜集MySQL Server的信息 | |
mongodb_exporter | Prometheus exporter用于搜集MongoDB server的信息 |
为了更深入的学习和调整,有时候我们需要去看源代码,主要是Go语言。
2.基础环境安装
以mongodb_exporter为例,我们安装下基础环境。
step 1 下载 mongodb_exporter
当我们按照地址(https://github.com/percona/mongodb_exporter)去下载 mongodb_exporter。
Step 2 安装 VSCode,更容易阅读、调试代码。
Step 3 安装 go 安装包(https://golang.org/dl/,go1.12.windows-amd64.msi)。
step 4 为了更好的调试Go 代码,VSCode 还需要添加以下几个应用。
此时就可以查看代码了。
3.补充说明
但是分析代码时,看到部分代码需要引用其他的GitHub,例如 mongodb_collector.go 文件中的import,
我们看到 github.com/prometheus/client_golang/prometheus 会被其他功能 调用的,如下
那么怎么才能,看到这个文件中的代码呢?
如果,直接输入网址,是获取不到的 404 错误。
解决方案。
我们先看看go的用法
其中 go get 可以获取 包或依赖
因此:
step 1 : 执行 下载命令
go get github.com/prometheus/client_golang/prometheus
如图
step 2 查看默认下载的路径
go env GOPATH
如图:显示为 C:\Users\XXXX\go
step 3 登入路径 C:\Users\XXXX\go,在路径下的src文档中 查找
step 4 在VSCode 工具中,通过open file的形式,就可以加载打开此文件
step 5 找到前面提到的方法定义( NewMongodbCollector 包含的prometheus.NewCounter的具体功能定义)
安装可以查看PMM 源码的Go环境的更多相关文章
- 查看android源码,windows环境下载源码
查看源码 参考: http://blog.csdn.net/janronehoo/article/details/8560304 步骤: 添加chrome插件 Android SDK Search 进 ...
- 查看Android源码和源码布局
一.查看源码 1.https://github.com/android 2.http://grepcode.com/project/repository.grepcode.com/java/ext/c ...
- 转载 :Linux有问必答:如何在Debian或Ubuntu上安装完整的内核源码
http://linux.cn/article-5015-1.html 问题:我需要为我的Debian或Ubuntu下载并安装完整树结构的内核源码以供编译一个定制的内核.那么在Debian或Ubunt ...
- WordPress安装篇(5):源码编译安装LNMP并部署WordPress
与YUM方式安装相比,源码编译安装方式更灵活,安装过程中能自定义功能和参数,特别是在批量部署服务器又要求软件版本及配置一致时,源码编译安装的优势很明显.本文介绍如何通过源码编译方式安装Nginx1.1 ...
- MyEclipse10查看Struts2源码及Javadoc文档
1:查看Struts2源码 (1):Referenced Libraries >struts2-core-2.1.6.jar>右击>properties. (2):Java Sour ...
- Android笔记: 查看SDK源码
Eclipse中设置查看JavaAndroid源码及文档的方法.pdf 经验证方法可行
- 如何在Eclipse中查看Android源码或者第三方组件包源码
文章出处:http://blog.csdn.net/cjjky/article/details/6535426 在学习过程中如果经常阅读源码,理解程度会比较深,学习效率也会比较高,那么如何方便快捷的阅 ...
- MyEclipse查看Struts2源码及Javadoc文档
一.查看Struts2源码 1.Referenced Libraries >struts2-core-2.1.6.jar>右击>properties. 2.Java Source A ...
- Android基础之在Eclipes中关联SDK源码和查看SDK源码
在进行Android应用开发的时候,我们有时候需要查看某个类或接口的源码从而了解如何去使用一个类或者实现一个接口,查看源码有助于我们的学习某个封装的类的底层是如何实现的,这样可以帮助我们掌握类或者接口 ...
随机推荐
- .net mvc + layui做图片上传(二)—— 使用流上传和下载图片
摘要:上篇文章写到一种上传图片的方法,其中提到那种方法的局限性,就是上传的文件只能保存在本项目目录下,在其他目录中访问不到该文件.这与浏览器的安全性机制有关,浏览器不允许用户用任意的路径访问服务器上的 ...
- SharePoint布局页引用(实战)
分享人:广州华软 极简 一. 前言 SharePoint 布局页可使用在任何可引用页面布局的页面,学会在页面直接引用页面布局,可实现无代码形式修改页面.此文讲述2种常用使用页面布局方式.本文适用于初学 ...
- android:layout_weight属性详解
weight:重量.权重. 当我们给一个view设置了android:layout_weight属性,意味着赋予它话语权,常规思维就是谁的weight大,谁说了算(空间占比大). 下面我们来看下具体的 ...
- js实现在当前页面搜索高亮显示字的方法
在html页面上,有时候会遇到一些检索高亮显示的问题,具体用js是实现的方式,代码展示. Jsp页面设置方式 <li class="pull-left" id="s ...
- 常见dos命令行
查找本地端口占用情况 是否8080端口被占用netstat -aon|findstr "8080" 在1.txt文档当中查找java字符串type 1.txt|findstr 'j ...
- qt+vs2017环境下XIMEA相机库的配置
从第一篇博客出来之后就没再更新过博客,这一次再更新博客的时候已经是换了项目了,现在在搞双目视觉方面.刚开始接触这一方面,前几天一直在研究相机原本的库函数的调用问题 网上这一方面的很少,而且很多都是在u ...
- gulp+ThinkPHP配置
gulp+ThinkPHP配置 gulp+ThinkPHP配置 目录结构: html |-src 开发目录 |-Home 静态页面 |-Public 静态资源目录 |-dist 生产目录 |-Home ...
- 仓储repository概念
1.为什么要用仓储?(仓储有什么用) 1.1 解耦 为了解耦领域层与数据映射层的关系. 1.2 管理增删查改 仓储模式最大的优点就是所有的数据访问首先是通过仓库的,对仓库的增删改都不会立即提交到数据库 ...
- Ubuntu 安装yii2 advanced版 遇到的坑
1.安装 Composer https://www.yiichina.com/doc/guide/2.0/start-installation通过 Composer 安装 curl -sS https ...
- 理解 Linux 中 `ls` 的输出
ls 的输出会因各 Linux 版本变种而略有差异,这里只讨论一般情况下的输出. 下面是来自 man page 关于 ls 的描述: $ man ls ls - list directory cont ...