構建ceph可視化監控系統


構建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的抓取的數據了

 

 

 

到這里是數據到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 &

 

 

 


grafanalogin

grafanalogin

grafana默認監聽的3000的端口

默認登陸的用戶名密碼為admin admin,登陸成功后會強制修改密碼

配置grafana

add sour
首先增加數據源
配置9090
import

image.png-97.2kB

image.png-96.2kB

這里如果能上網就直接輸入id 917 ,如果不能上網就把上面的ceph-cluster_rev1.json文件弄到本地去,導入進去即可

granfa

到這里就完成了配置了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM