從馬車到汽車是爲了提升運輸效率,而隨着時代的發展,如今我們又希望用自動駕駛把駕駛員從開車這項體力勞動中解放出來,增加運行效率,同時也可減少交通事故發生率,這也是企業對於智能運維的訴求。
從人工運維到自動化運維是爲了減少人力成本,降低操作風險,提高運維效率,但自動化運維的本質依然是人與自動化工具相結合的運維模式,仍有侷限性。爲了持續地面向大規模、高複雜性的系統提供高質量的運維服務,智能運維(AIOps)應運而生。
本文,袋鼠雲將跟大家分享智能運維大數據平臺(一款開箱即用的運維監控平臺)在Oracle數據庫運維場景下的具體應用。
數據採集
使用平臺第一步是數據接入。要做好Oracle的運維,需要哪些數據支撐?根據我們運維Oracle日常的經驗總結,以下幾類數據是特別重要的:
- 實例和數據庫基礎信息
包括實例的版本、Patch、啓動時間、實例參數、主機基本配置信息。
- 數據庫健康檢查
檢查數據庫是否能正常連接,讀寫響應時間是否正常。
- 實例基礎性能數據
包括業務的QPS、TPS,實例和主機的CPU使用率、內存使用率、連接數使用率,SQL解析情況,數據庫的邏輯讀、物理讀,數據庫鎖等待狀況,以及RAC集羣間的通信狀況。
- Oracle等待事件
採集Oracle內部等待事件的類型、等待次數和消耗時間。從等待事件可以判斷實例運行的整體健康情況,定位實例瓶頸。
- 數據庫空間使用信息
包括表空間文件佔用空間、表空間使用空間、臨時表空間使用情況、UNDO表空間使用情況。需要實時監控表空間使用情況,避免表空間佔滿引起故障。
- 數據庫Session信息
Session信息記錄了實例當前運行的SQL情況,記錄了當前阻塞Session的具體信息,比較常見的如鎖等待。通過Session信息,方便快速定位實例中的阻塞現象。
- 數據庫備份情況
在數據庫運維領域,備份重於泰山。每天都需要檢查數據庫的備份情況,包括備份是否成功,備份耗時,備份佔用空間等。
- DataGuard運行狀況
DataGuard是Oracle高可用最常用的方案之一。需要實時檢測Oracle DataGuard的運行狀況,包括日誌傳輸是否正常,日誌應用延遲。
- 日誌信息
數據庫的告警日誌、TNS監聽日誌。從日誌中可以發現數據庫內部運行錯誤、異常的客戶端連接信息等。
上述的數據採集,已經集成在產品中。用戶只需要在數據庫性能採集模塊配置接入信息,就會自動採集這些數據。
數據接入之後,產品上會從幾個方面來使用這些數據:
- 儀表盤
系統默認帶了Oracle場景的通用儀表盤。用戶也可以根據自己的使用習慣,通過SPL的方式配置自定義儀表盤。
- 監控告警
系統內置常見的監控告警。也可以通過SPL的方式配置自定義告警項。數據只要採集到了,就可以用於配置告警。
- 智能巡檢
系統支持配置自定義巡檢規則,按用戶定義的時間間隔,定期進行數據庫巡檢。
- 日誌分析
基於系統採集的Oracle告警日誌、TNS監聽日誌,除了使用基本的日誌搜索、監控告警,也可以配置一些日誌分析的場景。
本文重點介紹儀表盤的使用。
Oracle儀表盤
儀表盤是數據可視化展現的基本形式,便於用戶從直觀上了解系統的整體運行狀況。
3.1 Oracle實例總覽
Oracle總覽Dashboard主要包括這幾個部分:
-
實例統計,包括實例總數,異常實例數,數據庫數量,實例版本分佈。通過這幾個指標,能對接入系統中的實例有一個大體的瞭解。
-
TOP實例,包括繁忙率TOP實例,活躍會話數TOP實例。
通過這2個指標定位繁忙的實例。
-
異常實例列表
這個表格展示所有無法連接的實例,包括連接報錯信息。
-
TOP性能趨勢圖
選取數據庫的核心指標,對整體實例的運行狀況有一個整體的瞭解。選取的指標:
· DB Time使用率:體現實例整體繁忙程度
· DB CPU使用率:CPU資源的使用率。
· 活動會話數:是否後SQL積壓
· 會話數使用率:Session資源使用率
· QPS/TPS:展現業務請求吞吐量
3.2 Oracle實例詳情
該儀表盤用於展現單個實例的運行詳細狀況。儀表盤主要分如下幾個部分。
-
實例信息
顯示實例的基本信息,包括主機情況,實例運行狀態,實例的版本,數據庫的角色,讀寫模式等
-
實例運行情況
展現實例的核心運行指標。
· 阻塞會話數/活躍會話數
· DB Time使用率
· 實例當前會話數使用率
· CPU使用率趨勢
· 實例會話數趨勢
· SQL執行量/SQL解析量
· 實例邏輯讀/物理讀
· 實例網絡流量
· 實例IO請求次數
3.3 Oracle實例空間總覽
該儀表盤展現實例的空間使用情況。主要包括幾個部分:
-
實例總空間分佈
展現所有實例的空間分佈情況。
-
實例使用空間TOP
展現空間使用率TOP實例的空間變化趨勢。
-
實例表空間相關信息
展現所選實例的表空間數量、實例總空間以及空間同比和環比、UNDO空間和TEMP空間、閃回區空間使用情況。
-
實例表空間使用率和佔用空間排名。
-
實例表空間使用率TOP趨勢
-
實例表空間列表
展現實例所有表空間的空間使用情況。
3.4 Oracle阻塞會話
該儀表盤展現實例中阻塞會話的情況,儀表盤主要有幾個部分組成。
-
TOP阻塞會話趨勢圖
展現系統中所有實例的阻塞會話數變化趨勢。如有阻塞會話,需要特別關注。
-
實例等等事件分佈圖
展現所選實例的阻塞會話的等待事件分佈情況。
-
阻塞源分析
展現哪些Session引起了其它Session阻塞
-
等待事件趨勢
實例等待事件趨勢
-
阻塞會話列表
以表格的形式展現阻塞會話的詳細信息,包括:
· Session ID
· 會回登陸時機
· 會回當前狀態
· 引起阻塞的會話ID
· 阻塞對象ID
· 等待事件
· 等待時間
· 登陸用戶信息,包括用戶名,登陸終端,應用程序名稱。
· 執行的SQL信息,包括SQL ID,SQL語句。
通過上面這些儀表盤,既能從總體上掌握所有實例的基本運行狀況,也能在單個實例上進行深入的分析,細到具體執行的SQL。能從總體上把握所有數據庫的空間使用趨勢,也能看到單個表空間的數據使用情況。
總結
上面的案例,是智能運維大數據產品在Oracle數據庫運維場景下的一個具體應用。
其實整個產品,完全不侷限於數據庫運維這個場景。
產品在數據採集和數據應用上,具有強大的擴展能力。
-
自動巡檢
所有的指標,都可以配置成巡檢項,系統支持自定義調度週期(小時粒度),定期巡檢系統的運行狀況,以釘釘消息或郵件的方式發送出來。
-
全鏈路的監控
上面只介紹了數據庫的場景,其實系統支持整個鏈路上的數據採集、分析。目前系統支持的採集包括:
· 物理設備信息採集(物理機CPU風扇、磁盤、溫度、電源狀態)
· 網絡設備(交換機、防火牆、無線AP)
· 阿里云云產品數據採集,支持幾十種雲產品的數據集成。
· 通用軟件(Docker,Tomcat,消息中間件)
· WEB訪問日誌、防火牆日誌、主機日誌
· 應用日誌數據
· APM應用調用聯路數據採集
-
智能算法
自動基線學習,無需配置告警,就能自動監測系統運行異常狀況。
「智能運維大數據平臺」
「智能運維大數據平臺」是一款開箱即用的運維監控平臺,通過特有的平臺功能可以將企業的基礎架構、應用程序、日誌管理結合在一起,提供統一採集、統一存儲、關聯分析、統一監控企業業務保障能力,保障企業業務穩定高效運行,同時利用離線計算、實時計算、機器學習等技術,實現運維數據共享、數據開發和加工能力,讓開發人員、運營團隊和業務團隊協同工作,構建和改進軟件應用程序,並幫助企業瞭解業務和用戶使用情況。被各大企業用於實現數字轉型和雲遷移,推動開發,運營和業務團隊之間的協作,加快應用程序的上線時間,縮短解決問題的時間,瞭解用戶行爲和跟蹤關鍵業務指標。
如果您還想進一步瞭解智能運維大數據平臺,歡迎聯繫400-002-1024。