天天看點

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可視化監控系統

到這裡就完成了配置了

繼續閱讀