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