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