分布式存儲系統之Ceph集群啟用Dashboard及使用Prometheus監控Ceph( 二 )


當然我們也可分別設置不同mgr監聽不同ip地址和端口
ceph config set mgr mgr/dashboard/$name/server_addr $IPceph config set mgr mgr/dashboard/$name/server_port $PORT提示:我們只需將上述命令中$name更改成對應mgr實例的名稱,把$IP、$PORT更改為對應ip地址和端口即可;
訪問對應主機的8443端口,看看對應服務是否可用?

分布式存儲系統之Ceph集群啟用Dashboard及使用Prometheus監控Ceph

文章插圖
提示:可以看到現在訪問mgr所在主機的8443端口,對應服務是可以正常通過https訪問的;
當然我們可以使用ceph mgr servers來確認對應訪問dashboard的url
[root@ceph-admin ~]# ceph mgr services{"dashboard": "https://ceph-mgr01.ilinux.io:8443/"}[root@ceph-admin ~]#提示:這里直接使用主機名的方式和對應監聽端口組成的url , 在客戶端訪問要確定對應客戶端主機能夠解析對應主機名;
重啟Dashboard、
[root@ceph-admin ~]# ceph mgr module disable dashboard[root@ceph-admin ~]# ceph mgr module enable dashboard[root@ceph-admin ~]#配置管理員認證信息
命令格式:ceph dashboard set-login-credentials <username> <password>
[root@ceph-admin ~]# ceph dashboard set-login-credentials admin adminUsername and password updated[root@ceph-admin ~]#驗證:使用用戶名為admin,密碼為admin看看對應dashboard是否可登錄?
分布式存儲系統之Ceph集群啟用Dashboard及使用Prometheus監控Ceph

文章插圖
提示:可以看到使用admin用戶和admin密碼是可以正常登錄面板的;到此面板的啟用就到此為止;簡單說下這個面板吧,這個面板主要輸出一些監控指標數據,比如像存儲池,主機,rdb,cephfs等等信息,它可以讓我們一目了然的了解ceph集群各組件狀態 , 以及存儲狀態等等信息;就是一個監控面板,其他沒有別的東西了;
使用Prometheus監控Ceph
Prometheus簡介
Prometheus是一套用go語言研發的開源的系統監控報警框架;它啟發于Google的borgmon監控系統 , 由工作在SoundCloud的Google前員工在2012年創建,作為社區開源項目進行開發,并于2015年正式發布;2016年,Prometheus正式加入CNCF(Cloud Native Computing Foundation),成為受歡迎度僅次于iKubernetes的項目;作為新一代的監控框架,Prometheus具有以下特點;
1、強大的多維度數據模型;
1.1、時間序列數據通過metric名和鍵值對來區分;
1.2、所有的metrics都可以設置任意的多維標簽;
1.3、數據模型更隨意,不需要刻意設置為以點分割的字符串;
1.4、可以對數據模型進行聚合,切割和切片操作;
1.5、持雙精度浮點類型 , 標簽可以設置為全unicode;
2、靈活而強大的查詢語句(ProQL):在同一個查詢語句,可以對多個metrics進行乘法、加法、連接、取分數位等操作;
3、易于管理:Prometheus Server是一個單獨的二進制文件,可直接在本地工作 , 不依賴于分布式存儲;
4、高效:平均每個采樣點僅占3.5bytes,且一個Prometheus server可以處理百萬的metrics;
5、使用pull模式采集時間序列數據,這樣不僅有利于本機測試而且可以避免有問題的服務器推送壞的metrics;
6、可以采用 push gateway的方式把時間序列數據推送至Prometheus server端;
7、可以通過服務器發現或者靜態配置去獲取監控的targets;有多種可視化圖形界面;易于伸縮;
需要指出的是,由于數據采集可能會有丟失 , 所以Prometheus 不適合對采集數據要100%精準的情形;但如果用于記錄時間序列數據,Prometheus具有很大的查詢優勢 , 此外,Prometheus 適用于微服務體系架構;
Prometheus架構圖
分布式存儲系統之Ceph集群啟用Dashboard及使用Prometheus監控Ceph

文章插圖
prometheus server:主服務 , 接受外部http請求,收集、存儲與查詢數據等;
prometheus targets: 靜態收集的目標服務數據;
service discovery:動態發現服務;
prometheus alerting:報警通知組件,用于處理告警信息;
pushgateway:數據收集代理服務器(類似于zabbix proxy);
data visualization and export: 數據可視化與數據導出(訪問客戶端)
exporter:該組件主要作用是用來收集對應節點上的應用或主機指標數據的;不同應用有不同的export,比如,我們要收集mysql的指標數據,我們可以在對應mysql所在主機上部署mysql_exporter , 我們要收集redis的指標數據,我們可以在對應主機上部署redis_exporter,要收集某個Linux節點主機的指標數據,我們可以部署node_exporter到對應主機;即我們要收集什么指標數據,部署對應的exporter即可;

推薦閱讀