探索GreatADM:如何快速定義監(jiān)控
引文
在數(shù)據(jù)庫(kù)運(yùn)維過(guò)程中,所使用的運(yùn)維管理平臺(tái)是否存在這樣的問(wèn)題:
1、默認(rèn)監(jiān)控粒度不夠,業(yè)務(wù)需要更細(xì)顆粒度的監(jiān)控?cái)?shù)據(jù)。
2、平臺(tái)默認(rèn)的監(jiān)控命令不適合,需要調(diào)整閾值量身定制監(jiān)控策略。
3、 不同類型的實(shí)例或組件需要有不同的監(jiān)控重點(diǎn),但管理平臺(tái)監(jiān)控固化,難以應(yīng)對(duì)多樣化的監(jiān)控需求。
4、 只監(jiān)控系統(tǒng)關(guān)鍵指標(biāo),屏蔽不必要的指標(biāo),優(yōu)化CPU消耗、網(wǎng)絡(luò)、采集數(shù)據(jù)量等,減少資源消耗,提升系統(tǒng)性能。
在數(shù)據(jù)庫(kù)運(yùn)維過(guò)程中,用戶或者DBA經(jīng)常會(huì)因?yàn)楣芾砥脚_(tái)監(jiān)控面板無(wú)法配置,或者監(jiān)控模板固化,監(jiān)控模板中沒(méi)有所關(guān)注的指標(biāo)項(xiàng),而不得已棄用部分管理平臺(tái),進(jìn)而自建監(jiān)控或者基于自身業(yè)務(wù)自定義一批運(yùn)維監(jiān)控腳本,來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)或者主機(jī)的多樣化監(jiān)控需求。
但這些腳本往往出自不同DBA之手,監(jiān)控腳本的管理、更新和維護(hù),以及風(fēng)險(xiǎn)評(píng)估給數(shù)據(jù)庫(kù)的穩(wěn)定運(yùn)行帶來(lái)了新的風(fēng)險(xiǎn),而且腳本的輸出結(jié)果需要DBA周期檢查分析,展示上也不夠直觀。今天我們來(lái)看下GreatADM是如何解決上述問(wèn)題的。
一、GreatADM的監(jiān)控介紹
GreatADM提供靈活的自定義監(jiān)控配置方法,支持通用的prometheus+grafana的規(guī)范,用戶可以按照實(shí)際業(yè)務(wù)上的需求,通過(guò)配置標(biāo)準(zhǔn)的grafana面板json格式文件或者通過(guò)圖形化選項(xiàng)配置監(jiān)控采集項(xiàng),手動(dòng)定義dashboard面板。用戶可按需靈活的配置監(jiān)控面板。同時(shí)GreatADM支持用戶按需調(diào)整監(jiān)控?cái)?shù)據(jù)的采集頻率、監(jiān)控超時(shí)閾值等,用戶可按實(shí)際業(yè)務(wù)需求來(lái)定義調(diào)整,以及對(duì)應(yīng)的SQL命令的調(diào)整等。
GreatADM提供不同數(shù)據(jù)庫(kù)架構(gòu)的監(jiān)控指標(biāo)和監(jiān)控模板,支持采集頻率、超時(shí)閾值的調(diào)整,并提供3個(gè)維度監(jiān)控:
- 1、架構(gòu)層面:數(shù)據(jù)庫(kù)高可架構(gòu)整體全局狀態(tài)概覽和復(fù)制狀態(tài)、延遲、運(yùn)行時(shí)長(zhǎng)、趨勢(shì)概覽。
- 2、數(shù)據(jù)庫(kù)實(shí)例:數(shù)據(jù)庫(kù)實(shí)例節(jié)點(diǎn)層面的監(jiān)控,如SQL執(zhí)行情況,內(nèi)存波動(dòng),網(wǎng)絡(luò)請(qǐng)求,I/O負(fù)載等方面監(jiān)控。
- 3、物理主機(jī):數(shù)據(jù)庫(kù)實(shí)例所在主機(jī)性能指標(biāo)如CPU、內(nèi)存、IO、磁盤用量等,可以發(fā)現(xiàn)數(shù)據(jù)庫(kù)的性能瓶頸,及時(shí)進(jìn)行優(yōu)化。
圖片
針對(duì)監(jiān)控采集,DBA在分析判斷問(wèn)題時(shí),也可清晰了解到監(jiān)控使用的SQL命令是什么,方法是否和自己的使用的SQL相同等。
圖片
如果上面的監(jiān)控指標(biāo),或者面板不是你想要的,接下來(lái)我們就詳細(xì)看下GreatADM如何自定義業(yè)務(wù)中,或者DBA想要的監(jiān)控項(xiàng),和監(jiān)控面板的配置。
二、如何自定義GreatADM的監(jiān)控面板
配置整體步驟如下:
- a、添加監(jiān)控采集指標(biāo),編輯采集命令
Demo1:只監(jiān)控linux根空間用量
Demo2:監(jiān)控慢日志累計(jì)增長(zhǎng)量
- b、檢查采集器是否有效
- c、配置監(jiān)控面板
- d、自定義監(jiān)控完成
- e、多個(gè)面板配置在同一頁(yè)面
1、添加空間采集項(xiàng)
Demo1、【如何增加主機(jī)自定義監(jiān)控項(xiàng)---獨(dú)立監(jiān)控linux根空間用量】
針對(duì)以下選項(xiàng):填寫采集組名稱:host_root采集頻率:300s采集超時(shí):5s采集組默認(rèn)是否啟用:?jiǎn)⒂锰砑拥侥膫€(gè)類型數(shù)據(jù)庫(kù)架構(gòu):paxos高可用復(fù)制
圖片
采集目標(biāo):數(shù)據(jù)庫(kù)主機(jī)選擇任一節(jié)點(diǎn):hostname運(yùn)行shell采集命令:df -Th|grep root|awk -F' ' '{print $6}'|awk -F'%' '{print $1}'采集命令注意:監(jiān)控主機(jī),則采集語(yǔ)句為shell命令,目標(biāo)選擇主機(jī);監(jiān)控?cái)?shù)據(jù)庫(kù),則采集語(yǔ)句為SQL命令,目標(biāo)選擇數(shù)據(jù)庫(kù)。另外對(duì)應(yīng)的采集器返回的結(jié)果只允許是"單項(xiàng)結(jié)果值",如果存在多列,多行結(jié)果,對(duì)應(yīng)的采集器會(huì)報(bào)錯(cuò),并且無(wú)法正常采集。
圖片
采集器添加完成之后,信息如下
圖片
查看對(duì)應(yīng)的采集命令
圖片
Demo2、【如何增加數(shù)據(jù)庫(kù)自定義監(jiān)控項(xiàng)---數(shù)據(jù)庫(kù)慢日志增長(zhǎng)趨勢(shì)】
針對(duì)以下選項(xiàng)配置方法同上:填寫采集組名稱:slow_queries采集頻率:5s采集超時(shí):5s采集組默認(rèn)是否啟用:?jiǎn)⒂锰砑拥侥膫€(gè)類型數(shù)據(jù)庫(kù)架構(gòu):paxos高可用復(fù)制
圖片
采集目標(biāo):數(shù)據(jù)庫(kù)實(shí)例選擇任一實(shí)例節(jié)點(diǎn): 選擇數(shù)據(jù)庫(kù)名:paxos_600 實(shí)例節(jié)點(diǎn):database_1運(yùn)行SQL采集命令:select variable_value from performance_schema.global_status where variable_name='slow_queries'
提交并查看監(jiān)控項(xiàng)信息
圖片
使用的SQL語(yǔ)句
圖片
添加采集項(xiàng)的整體配置流程可以總結(jié)為:
1選擇類型
2選擇主機(jī)/數(shù)據(jù)庫(kù)
3采集命令
4運(yùn)行采集命令
5提交并檢查
2、檢查新增采集項(xiàng)是否有效
選擇【監(jiān)控告警】--子項(xiàng)【查詢】來(lái)驗(yàn)證新增加的采集項(xiàng)是否可采集到數(shù)據(jù),以及前端繪圖是否正常
圖片
點(diǎn)擊【使用查詢】可看到對(duì)應(yīng)的graph的繪制圖,點(diǎn)擊【檢查】,可具體看到采集項(xiàng)【統(tǒng)計(jì)數(shù)據(jù)】,如下共采集了482行。當(dāng)前因?yàn)槲疫x擇了2臺(tái)主機(jī)的,因截圖遮展示框蓋住了另外一臺(tái)的繪圖。
具體【數(shù)據(jù)】可查看到時(shí)序時(shí)間對(duì)應(yīng)的主機(jī)采集的磁盤數(shù)值。
圖片
登錄主機(jī)和實(shí)際主機(jī)的磁盤根空間對(duì)比查看
圖片
確認(rèn)對(duì)應(yīng)的采集數(shù)據(jù)可以正常,無(wú)誤,為可用狀態(tài)。(數(shù)據(jù)庫(kù)的采集項(xiàng)和此檢查一致,這里就不在贅述了)。 接下來(lái)就可以配置grafana面板了。
3、配置監(jiān)控面板
登錄GreatADM的http://172.17.139.50/graph/login可直接跳轉(zhuǎn)到GreatADM集成Grafana面板配置頁(yè),默認(rèn)賬號(hào)為admin,密碼為GreatADM內(nèi)置的初始密碼。
圖片
選擇【+】 Dashboard--添加新的【panel】
在這里Data sorce 選擇【監(jiān)控】
圖片
點(diǎn)擊【指標(biāo)瀏覽器】--搜索欄搜索采集項(xiàng)名稱【host_root】--匹配到【node_ext_host_root_demo】--自動(dòng)匹配【address標(biāo)簽】展示可監(jiān)控的主機(jī)IP列表
圖片
選擇要監(jiān)控的主機(jī)【IP】--點(diǎn)擊【使用查詢】--可正常繪制監(jiān)控圖 調(diào)整橫坐標(biāo)軸的標(biāo)題title【主機(jī) "/" 根空間使用率】和縱坐標(biāo)的lable描述【磁盤空間使用率(%)】
圖片
下一步針對(duì)繪圖線的格式調(diào)整,點(diǎn)擊【選項(xiàng)】--【圖例】--【自定義(提供命名模板)】
將{{label_name}}修改為{{address}}之后,對(duì)應(yīng)的主機(jī)信息就完整了
保存配置,并為Dashboard 定義名稱
圖片
配置好之后的Grafana面板如下:
圖片
接下來(lái)只需要將定義好的面板的json數(shù)據(jù)配置信息,cp到greatadm的自定義監(jiān)控項(xiàng)中,粘貼進(jìn)去即可。
4、完成自定義監(jiān)控面板
拷貝當(dāng)前配置完成的Grafana面板的json數(shù)據(jù),到greatadm自定義面板頁(yè)面,選擇【Edit】
圖片
點(diǎn)擊【配置的齒輪圖標(biāo)】
選擇【JSON Model】--全選--復(fù)制即可
圖片
點(diǎn)擊GreatADM的【監(jiān)控告警】---【自定義監(jiān)控】--【新增監(jiān)控面板】--粘貼拷貝的json文本
圖片
提交即可看到自定義的監(jiān)控面板了。
圖片
同樣的方式配置slow_queries的增長(zhǎng)趨勢(shì),方法和主機(jī)監(jiān)控的相同,這里就不在重復(fù)介紹了。整體效果如下2個(gè)面板針對(duì)不同的監(jiān)控項(xiàng)做定制。
但此時(shí)有人問(wèn)了,如何將面板都配置在同一頁(yè)面中呢?
5、多個(gè)面板如何配置在同一頁(yè)面
如果將多個(gè)面板如何配置在同一頁(yè)面中展示呢,比如將慢日志增長(zhǎng)趨勢(shì)的和主機(jī)根空間配置在一起。接下來(lái)繼續(xù)看。 選擇 【add panel】--添加新的面板
圖片
將慢查詢?cè)鲩L(zhǎng)趨勢(shì),正常配置進(jìn)去
圖片
調(diào)整--【選項(xiàng)】--【自定義】--【{{address}}:{{port}}:{{name}}】對(duì)應(yīng)【數(shù)據(jù)庫(kù)實(shí)例IP:端口:實(shí)例名】,配置方法完全一直。
圖片
最終在GreatADM頁(yè)面點(diǎn)擊【保存】之后,配置效果如下
圖片
驗(yàn)證監(jiān)控效果; 慢查詢?cè)鲩L(zhǎng)通過(guò):select sleep(10);select sleep(10);select sleep(10); 增加3條慢查詢記錄,從9條增加到12條。
圖片
磁盤空間使用dd 命令,臨時(shí)創(chuàng)建1個(gè)10G的大文件,看根空間的使用率變化,從50%增長(zhǎng)到55%
[root@gip /]# dd if=/dev/zero of=/test_root_space bs=1024M count=10
圖片
增長(zhǎng)趨勢(shì)變化可直觀的查看到,與實(shí)際數(shù)據(jù)庫(kù)和主機(jī)的值匹配。表示監(jiān)控項(xiàng)是有效可用可直觀觀察到變化。
圖片
三、自定義監(jiān)控的使用場(chǎng)景和意義
為什么需要自定義監(jiān)控功能解決了用戶和dba現(xiàn)場(chǎng)維護(hù)數(shù)據(jù)庫(kù)時(shí)的幾個(gè)訴求,以及提供基于業(yè)務(wù)可定制監(jiān)控的途徑。其意義如下:
1、個(gè)性化監(jiān)控:不同類型的實(shí)例或組件需要有不同的視角,但管理平臺(tái)監(jiān)控固化,而自定義監(jiān)控解決了應(yīng)對(duì)多樣化的監(jiān)控需求。自定義監(jiān)控面板允許管理員選擇所需的監(jiān)控指標(biāo)和圖表,根據(jù)自己的實(shí)際需求來(lái)展示重要的數(shù)據(jù)庫(kù)運(yùn)行數(shù)據(jù),提高信息關(guān)注度和有效性。
2、重點(diǎn)監(jiān)控:針對(duì)特定的業(yè)務(wù)需求,管理員可以將自定義面板中的監(jiān)控指標(biāo)和圖表設(shè)置為關(guān)注重點(diǎn),確保數(shù)據(jù)庫(kù)的關(guān)鍵功能和性能得到優(yōu)先監(jiān)控。
3、運(yùn)行趨勢(shì)監(jiān)控:數(shù)據(jù)庫(kù)管理平臺(tái)自定義監(jiān)控面板能夠提高數(shù)據(jù)的可視化程度。使數(shù)據(jù)庫(kù)性能和健康狀況更容易理解和分析。通過(guò)設(shè)置預(yù)警和警報(bào)規(guī)則,自定義面板有助于及時(shí)發(fā)現(xiàn)潛在問(wèn)題,并采取措施進(jìn)行干預(yù),確保數(shù)據(jù)庫(kù)的穩(wěn)定運(yùn)行。 這也是GreatADM再結(jié)合諸多業(yè)務(wù)的實(shí)際運(yùn)維場(chǎng)景,緊貼用戶實(shí)際需求開(kāi)發(fā)的產(chǎn)品,真正做到易用,好用,可靈活配置,解決實(shí)際問(wèn)題為目的,為數(shù)據(jù)庫(kù)的平穩(wěn)運(yùn)行保駕護(hù)航。