利用prometheus结合grafana监控ceph集群
来源:互联网 发布:网络通信协议是如何被 编辑:程序博客网 时间:2024/05/16 07:44
概述:
目前针对Ceph,采用 Prometheus结合Grafana进行监控。
Prometheus是一个开源的服务监控系统,它通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上。它提供了一个简单的网页界面、一个功能强大的查询语言以及HTTP接口等等。Prometheus通过安装在远程机器上的exporter来收集监控数据。
Grafana是一个开源的功能丰富的数据可视化平台,通常用于时序数据的可视化。它内置了以下数据源的支持:
安装配置
Prometheus官方下载地址:https://prometheus.io/download/
本次ceph_exporter, Prometheus server,grafana都安装再同一台机器,系统环境CentOS 7.2
安装Prometheusserver
解压: tar xvf prometheus-2.0.0-rc.2.linux-amd64.tar.gz
运行: cd prometheus-2.0.0-rc.2.linux-amd64
./prometheus --config.file=prometheus.yml
访问 http://<服务器IP地址>:9090,验证Prometheus是否已安装成功,web显示如下
由于prometheus是根据exporter来收集数据的,所以还需要安装ceph对应的exporter,这里是从git上下载的ceph_exporter,下载好之后,需要先配置golang编译环境,然后编译代码,步骤如下:
#克隆仓库
git clonehttps://github.com/digitalocean/ceph_exporter.git
#安装go环境
yum install -y golang
#配置go的环境参数
cat /etc/profile.d/go.sh
export GOROOT=/usr/lib/golang
export GOBIN=$GOROOT/bin
export GOPATH=/home/golang
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
#source
. /etc/profile
cd ceph_expoter
#解决依赖问题
go get -d
#编译
go build
#执行
./ceph_exporter
注意编译的时候需要将源码拷贝到go对应环境变量的目录下,如果是按上面步骤配的,则需要拷贝到/home/golang/src/github.com/digitalocean 下,然后编译。编译的时候还有可能会报错,如下图:
这是因为缺少依赖,执行yuminstall librados2-devel librbd1-devel,可以解决依赖问题。
编译成功之后,./exporter运行,然后去prometheus目录下更改prometheus.yml文件,在下面添加job,如图所示:
注意这个targets填ceph_exporter安装的所在节点的地址,后面的9128要和启动ceph_exporter时所显示的端口号一致,而且yaml文件对格式要求很严格,格式一定要与原文件中的保持一致。
保存退出,然后重新运行:./prometheus --config.file=prometheus.yml然后在浏览器上输入http://<localhost>:9128会出现界面如下:
表示数据已经收集生效了,然后去9090端口界面,点开菜单栏Status里面的targets,会出现如下界面,表示prometheus配置成功:
配置Grafana:
1,下载并解压Grafana:
首先去官网下载对应版本的文件,本次采用的是grafana-4.3.1-1.x86_64.rpm,下载好之后,tar解压。
2,配置
编辑配置文件/usr/local/services/grafana/conf/defaults.ini,修改dashboards.json段落下两个参数的值:
[dashboards.json]
enabled= true
path =/var/lib/grafana/dashboards
修改完之后,直接启动服务:systemctl start grafana-server
3,通过http://localhost:3000访问Grafana Web界面(缺省帐号/密码为admin/admin)
登录后,首先通过Data Sources页面添加数据源,配置如下:
上图中,name可以自己取,类型选择 Prometheus,url填写上面配置的prometheus的端口号,Access选择direct,然后点击add,如果显示正在工作,则表示配置成功,如果报错,可以检查一下地址是否填写错误,检查ceph_exporter是否在运行状态,这个配置必须要保证exporter一直在运行。
然后就可以通过选择不同的仪表盘(左上角)和时间段(右上角)来呈现图表了: