1、安装grafana
部署简单不说了,自己找一个合适版本直接安装
比如ubuntu:是deb安装包直接dpkg -i 软件包
2、安装prometheus
部署简单部署了和grafana 类似
3、安装influxdb,这个我是当作数据存储,部署在其他机器上这里我是部署在centos上 下载的是centos 安装包。
这个包比较难下载链接:wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.2.x86_64.rpm
直接rpm -ivh 软件包
下面是容易踩坑的地方,prometheus 怎么和influxdb 进行数据写入读取。需要一个适配器插件remote_storage_adapter
这个适配器插件需要go环境,那就直接乖乖的安装go环境。
在GitHub上直接把仓库拷贝下来直接编译,网上是没有编译好的,有,在csdn上需要积分,呵呵毕竟人家不让你白搞呀!
估计大多数新手哪里有积分哦,说一下哦。
编译remote_storage_adapter(这个破东西竟然有人要49积分,我也是发现没有谁了,现在的知识分享都这么任性,哎!)
1)直接在GitHub上把一群老外东西搞下来,我们只是借用一下插件,直接放入go编译环境,输入go env 会显示环境变量,
GOPATH这个环境变量显示的路径直接放入比如$GOPATH=/usr/share/go
放入到源码编译/src里,有三个文件(src/bin/pkg)没有直接创建就可以.直接执行go build main.go 就发现了一个remote_storage_adapter执行文件
./remote_storage_adapter --influxdb-url=http://influxdb的ip:8086/ --influxdb.database="prometheus" --influxdb.retention-policy=autogen &
创建这个目的是让Prometheus通过pull 的方式把数据乖乖的给influxdb,influxdb没有数据采集功能,有点类似与pushgataway。
2)现在还没有数据,需要配置prometheus.yml
最简单的就是全部一股脑的都传过去,这个也可以筛选自己想要备份的数据,博客当然是搞最简单的哦 直接一股脑的传就可以,
有效果就行了哦,至于想自定义的自己上官网有详细说明
remote_write:
- url: "http://prometheus的ip:9201/write"
remote_read:
- url: "http://prometheus的ip:9201/read"
这个9201是你执行remote_storage_adapter产生的默认端口,可以不管,你想改也可以直接参考remote_storage_adapter -h 那里有很多参数自己去尝试就可以。
直接重启Prometheus。
至于那些influxd创建库等等,一些简单的操作,直接百度就可以了。
检查数据,这个我也没有研究,但是你在表中如果有数据应该就表示已经传了,检验数据有效性,这个只能靠自己感觉,因为是pull 过来的数据,
influxdb 只是一个接受者,你数据的有效,
没有什么可以保证的,错的数据一样给你接受了。
实在想知道每一步是怎么搞的,直接百度也可以找到。
哎,这东西琐碎的东西太多了....
说白这篇主要讲了一个东西与infuxdb 数据对接。实在不知道怎么搞,可以参考pushgateway的模式,多一个remote_storage_adapter适配器插件。