ceph可视化监控系统

ceph的可视化方案很多,本篇介绍的是比较简单的一种方式,并且对包都进行了二次封装,所以能够在极短的时间内构建出一个可视化的监控系统

本系统组件如下:

  • ceph-nautilus版本
  • ceph_exporter的nautilus版本
  • prometheus的2.20.1版本
  • grafana的grafana-7.1.3版本
  • Ceph grafana的插件- Clusterby Cristian Calin

适配的系统为centos7

资源如下:

https://github.com/digitalocean/ceph_exporter

https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz
http://static.zybuluo.com/zphj1987/1nu2k4cpcery94q2re3u6s1t/ceph-cluster_rev1.json
https://github.com/prometheus/prometheus.git
https://dl.grafana.com/oss/release/grafana-7.1.3.linux-amd64.tar.gz

以上资源均可以直接用wget进行下载,然后直接安装

监控的架构介绍

通过ceph_exporter抓取的ceph相关的数据并且在本地监听端口9128端口

prometheus抓取ceph_exporter的9128的端口的数据存储在本地的/usr/local/prometheus/目录下面

grafana抓取prometheus的数据进行渲染成web页面

页面的模板就是使用的grafana的ceph模板插件

那么我们就根据上面的架构去一步步的把系统配置起来

配置监控系统

安装ceph_exporter

  Admin节点上部署Ceph_exporter
    1)安装需要的软件golang
      #yum install golang git librados2-devel librbd1-devel -y
    2)设置go的环境变量
      # /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.d/go.sh
    3)安装ceph_exporter
      #cd /home/golang
      #go get -u github.com/digitalocean/ceph_exporter
    4)运行ceph_exporter
      #cd /usr/lib/golang/bin/
      #nohup ./ceph_exporter &
    5)检验结果
      #curl 127.0.0.1:9128

可以看到端口起来了就是安装成功了,这个ceph_exporter建议是安装在管理节点上,也就是能够执行出ceph -s的节点上面的

安装prometheus

admin节点上部署prometheus
  1)安装nodejs环境
    1.1).安装node v10.13.0
      #wget https://nodejs.org/dist/v10.13.0/node-v10.13.0-linux-x64.tar.xz
      #xz -d node-v10.13.0-linux-x64.tar.xz
      #tar -xf node-v10.13.0-linux-x64.tar
      #mv node-v10.13.0-linux-x64 /usr/local/
      #ln -s /usr/local/node-v10.13.0-linux-x64/bin/node /usr/bin/node
      #ln -s /usr/local/node-v10.13.0-linux-x64/bin/npm /usr/bin/npm
    1.2).安装yarn
      #npm install -g yarn
      #ln -s /usr/local/node-v10.13.0-linux-x64/bin/yarn /usr/bin/yarn
  2)安装prometheus
    # mkdir -p $GOPATH/src/github.com/prometheus
    # cd $GOPATH/src/github.com/prometheus
    # git clone https://github.com/prometheus/prometheus.git
    # cd prometheus
    # make build
    #cp ./documentation/examples/prometheus.yml .
    #vim prometheus.yml   

global:
  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.

alerting:
  alertmanagers:
  - static_configs:
    - targets:

rule_files:

  scrape_configs:
  - job_name: 'prometheus'

    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'ceph'
    static_configs:
    - targets: ['localhost:9128']

    #nohup ./prometheus --config.file=prometheus.yml &

这个地方默认是认为prometheus和ceph_exporter在一台机器上面,所以配置文件的/etc/ceph/prometheus.yml里面的targets写的是127.0.0.1,根据需要修改成ceph_exporter的ip地址即可


prometheus的默认监听端口为9090,到这个时候直接去web 上面就可以看到prometheus的抓取的数据了

ceph可视化监控系统

 

 

 

到这里是数据到prometheus的已经完成了,下面就去做跟grafana相关的配置了

安装grafana

安装grafana
  #wget https://dl.grafana.com/oss/release/grafana-7.1.3.linux-amd64.tar.gz
  #tar -zxvf grafana-7.1.3.linux-amd64.tar.gz
  #mv grafana-7.1.3 /usr/local/
  #cd /usr/local/grafana-7.1.3
  // 启动Grafana
  #nohup ./bin/grafana-server web &


ceph可视化监控系统

ceph可视化监控系统

grafana默认监听的3000的端口

默认登陆的用户名密码为admin admin,登陆成功后会强制修改密码

配置grafana

ceph可视化监控系统
首先增加数据源
ceph可视化监控系统
ceph可视化监控系统

ceph可视化监控系统

ceph可视化监控系统

这里如果能上网就直接输入id 917 ,如果不能上网就把上面的ceph-cluster_rev1.json文件弄到本地去,导入进去即可

ceph可视化监控系统

到这里就完成了配置了

上一篇:java web报表,jasperReport使用简介


下一篇:从零开始编写自己的C#框架(14)——T4模板在逻辑层中的应用(三)