引文 在資料庫運維過程中,所使用的運維管理平臺是否存在這樣的問題: 1、預設監控粒度不夠,業務需要更細顆粒度的監控數據。 2、平臺預設的監控命令不適合,需要調整閾值量身定製監控策略。 3、不同類型的實例或組件需要有不同的監控重點,但管理平臺監控固化,難以應對多樣化的監控需求。 4、只監控系統關鍵指標 ...
引文
在資料庫運維過程中,所使用的運維管理平臺是否存在這樣的問題:
- 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再結合諸多業務的實際運維場景,緊貼用戶實際需求開發的產品,真正做到易用,好用,可靈活配置,解決實際問題為目的,為資料庫的平穩運行保駕護航。
Enjoy GreatSQL