分層運維自動化監控

PetterLiu發表於2024-08-13

分層運維自動化監控

背景

架構設計的分層架構思想是一種將軟體系統劃分為多個層次的設計方法,每個層次都有其特定的職責和功能,透過層次之間的介面進行通訊,以實現系統的整體目標。這種設計思想的核心在於將複雜的系統分解為一系列相對獨立的子問題,並透過各層的協作來提供整體的解決方案。

分層架構思想的優勢

降低系統複雜度:
透過分層將一個複雜的系統拆分成不同層次的關聯個體,各個個體專注於它們特有的職責和功能,從而降低了單個問題的規模和複雜度。
提高開發效率:
開發人員可以專注於某一層次的開發工作,而不必擔心其他層次的具體實現,提高了開發效率。
易於維護和擴充套件:
分層架構使得系統的各個部分相對獨立,修改或擴充套件某一層次的功能時,對其他層次的影響較小,從而降低了維護成本。
同時,由於各層次之間的低耦合性,可以方便地插入新的層次來擴充套件系統的功能。
提高系統可靠性:
分層架構使得系統的各個層次可以獨立地進行測試和驗證,從而提高了系統的可靠性和穩定性。


實踐

分層運維自動化監控實踐透過將監控系統劃分為多個層次,實現了不同層次的功能和管理需求。如下是不同層監控對應關係圖,右邊是我們監控常規的軟體專案,中介軟體較多並沒有完全羅列,

僅供參考:

分層運維監控體系

通常包含這幾個層監控

1)硬體基礎設施層:
環境動力:暖通系統(如空調、新風系統、機房環境、漏水等)、電力系統(如配電櫃、UPS、ATS等)、安防系統(如防雷、消防、門禁等)等
網路裝置:路由器、二三層網路交換機、多層交換機、負載均衡裝置等
安全裝置:防火牆、入侵檢測IDS、防病毒、加密機等

其主要任務是收集和彙總監控資料,並將其傳遞給檢視層用於展示和告警。
2)伺服器層:

關注CPU、磁碟、記憶體、網路、可用性和效能等伺服器層面的監控
虛擬化:虛擬網路資源、虛擬主機、虛擬儲存資源等
儲存裝置:磁碟陣列、虛擬帶庫、物理磁帶庫、SAN、NAS等
伺服器:大中小型機、X86伺服器
實施基礎設施級別的告警和事件管理。
基於基礎設施層資料進行容量規劃和最佳化
3)系統軟體-基礎設施層
作業系統:Linux, Ubuntu, CentOS, Windows, Fedora CoreOS, OpenSUSE, Red Hat等
資料庫:ORACLE,DB2,SQL SERVER,MYSQL,DM, PostgreSQL, Redis, Kafka, HBase等
中介軟體:WEBSPHERE、WEBLOGIC、MQ、IHS、TOMCAT、AD等
其它系統軟體:備份軟體
收集應用伺服器效能、資料庫響應時間和平臺級資源利用率等指標。
實施對平臺特定事件、日誌和安全漏洞的監控。
確保支援應用的平臺服務的可用性和可靠性。
監控整合元件(如 API、訊息匯流排和企業服務匯流排)的健康和效能。
收集訊息吞吐量、延遲和錯誤率等指標。
實施對整合特定事件、日誌和安全方面的監控。

Prometheus Exporter 是一種用於將特定應用程式或服務的指標資料暴露給 Prometheus 監控系統的工具或元件。在 Prometheus 的架構中,Exporter 扮演著至關重要的角色,因為它們負責從被監控的目標(如資料庫、訊息佇列、Web 伺服器等)收集指標,並將這些指標以 Prometheus 能夠理解的格式(通常是文字格式,遵循 Prometheus 的 exposition format)暴露出來。
4)應用服務層:
服務可用性:服務狀態、日誌重新整理、埠監聽、網路連通性等。更側重於應用層面的監控,比如Prometheus平臺可以用於監控微服務架構中的各個服務例項,確保它們正常執行此外,業務層還關注資料的視覺化和多維資料展示能力,如儀表盤和大屏顯示。

監控業務應用和服務的行為和效能。
收集面向使用者的指標,如應用響應時間、交易量和錯誤率。
實施綜合和真實使用者監控,評估終端使用者體驗。
分析應用級日誌和事件,識別和排查問題。
5)客戶體驗層:
客戶訪問速度:頁面響應時間、撥測登入、普通頁面渲染時間、重要介面響應時間等。

監控面向使用者的元件(如 Web 介面和移動應用)的可用性和效能。
收集頁面載入時間、使用者互動和裝置特定效能等指標。
實施對使用者體驗和可訪問性指標的監控。
分析使用者行為和反饋,以最佳化表現層。

阿里雲,騰訊雲,華為雲都有撥測服務,涉及費用

資料流

從內到外

image

從外到內,從雲端開始,取決於網路安全策略配置

image

工具鏈

1. Zabbix
Zabbix是由Alexei Vladishev建立,並由Zabbix SIA持續開發和支援的一種企業級的分散式開源監控解決方案。它能夠監控眾多網路引數和伺服器的健康度和完整性,提供靈活的通知機制,允許使用者為各種事件配置基於郵件的警報。Zabbix還基於儲存的資料提供出色的報告和資料視覺化功能,使其成為容量規劃的理想選擇。

特點與優勢:

資料採集:支援SNMP、IPMI、JMX、VMware等多種協議,透過Server/Proxy和Agents執行資料採集。
高度可配置化的告警:支援自定義告警通知,包括遞增計劃、接收者、媒介型別等。
豐富的視覺化選項:建立自定義圖形、網路拓撲圖、儀表盤等。
歷史資料儲存:內建資料管理機制,支援可配置的歷史資料儲存。
配置簡單:透過模板快速部署監控任務,支援網路發現功能。
2. Nagios
Nagios是一款流行的開源監控系統,能夠監控網路、伺服器和應用程式等各種資源。它具有高可用性和可擴充套件性,可以輕鬆地擴充套件到數千個裝置,並提供豐富的第三方外掛庫。Nagios能夠實時監測網路和伺服器的狀態,並透過郵件、簡訊或手機APP等方式通知管理員關鍵事件的發生。

特點與優勢:

實時監控:支援對網路和伺服器狀態的實時監測。
強大的通知功能:支援多種通知方式,確保管理員能及時響應。
歷史資料分析:記錄歷史資料以進行趨勢分析,幫助識別必要的升級和配置更改。
豐富的外掛庫:龐大的社群支援和豐富的第三方外掛庫,擴充套件性強。
3. Apache HertzBeat
專案描述:
Apache HertzBeat(孵化中)是一款無代理的實時監控系統,支援Prometheus相容的自定義監控和狀態頁面構建能力。它具備高效能叢集、自定義監控和靈活的狀態頁面構建功能。

特點與優勢:

無代理設計:減少被監控端的負載和複雜性。
Prometheus相容:便於與Prometheus生態系統整合。
自定義監控:支援自定義監控項和狀態頁面,滿足特定需求。
高效能叢集:支援分散式部署,提高系統可靠性和可擴充套件性。
4. Prometheus
Prometheus是一個高度可擴充套件的實時監控系統,由Google的Brendan Burns等人設計,併成為雲原生計算基金會(CNCF)的一部分。它主要用於收集、儲存和處理時間序列資料,幫助開發者和運維人員監控應用程式和服務的效能。

特點與優勢:

高效的資料處理:基於時間序列資料模型,能夠高效處理大量監控資料。
強大的查詢語言:PromQL支援動態、即時的資料聚合和運算。
靈活的告警處理:透過Alertmanager處理生成的警報,避免重複和通知疲勞。
開放生態:具有大量Exporter,輕鬆整合各種服務和平臺的監控指標。
5. Grafana
Grafana是一個開源的平臺,專門用於執行時監控、指標分析和視覺化。它提供了豐富的圖表庫和靈活的儀表板設計功能,使得資料展示和分析更加直觀和高效。

特點與優勢:

豐富的圖表庫:包括時序資料圖、柱狀圖、餅圖等多種型別。
自定義儀表板:透過拖放方式自定義儀表板,實現實時監控和分析。
多資料來源支援:支援Prometheus、InfluxDB、Elasticsearch等多種資料來源。
高效能和靈活性:前端使用AngularJS和React構建,後端採用Go語言開發。


IT 運維團隊應該:

image

  • 實施覆蓋所有層面的綜合監控策略。
  • 明確各層面監控的所有權和責任。
  • 整合跨層面的監控資料,實現端到端可見性。
  • 使用高階分析和關聯功能,識別和診斷問題。
  • 透過劇本和執行手冊自動化常見問題的修復。
  • 持續最佳化監控工具和流程,提高效率。

透過採用基於層級的 IT 運維監控方法,組織可以增強維護 IT 系統健康和效能的能力,更有效地響應事件,並推動 IT 運維的持續改進。

智慧運維全棧監控

運維監控平臺透過整合這些不同層次的監控資料,實現跨層次的故障關聯分析,迅速定位問題源頭,提高故障處理效率。同時,自動化操作平臺支援線上變更、任務執行的安全可控,實現運維流程的標準化和自動化,提升運維效率和質量。智慧運維全棧監控解決方案還利用大資料和人工智慧技術,實現智慧告警、效能最佳化和資源排程,進一步提升運維的智慧化水平。例如,透過實時收集並分析網路裝置資料,運維人員可以迅速發現問題、定位問題,甚至預測潛在故障,實現主動式運維管理。參考如下:

image

結論

分層運維自動化監控是構建穩定、高效IT環境的關鍵。透過將監控策略與自動化操作相結合,IT組織能夠實現對基礎設施、應用服務和業務運營的全面、深入監控,從而提升運維效率,確保業務連續性和使用者體驗。資訊源自對分層運維自動化監控策略的綜合分析,涵蓋了從硬體裝置到軟體系統,再到業務應用的全方位監控體系。透過自動化工具和智慧分析技術,運維團隊能夠實現對IT環境的實時監測和智慧化管理,以應對分散式系統中複雜的運維挑戰。


今天先到這兒,希望對AIGC,雲原生,技術領導力, 企業管理,系統架構設計與評估,團隊管理, 專案管理, 產品管理,資訊保安,團隊建設 有參考作用 , 您可能感興趣的文章:
構建創業公司突擊小團隊
國際化環境下系統架構演化
微服務架構設計
影片直播平臺的系統架構演化
微服務與Docker介紹
Docker與CI持續整合/CD
網際網路電商購物車架構演變案例
網際網路業務場景下訊息佇列架構
網際網路高效研發團隊管理演進之一
訊息系統架構設計演進
網際網路電商搜尋架構演化之一
企業資訊化與軟體工程的迷思
企業專案化管理介紹
軟體專案成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共享
高效能的團隊建設
專案管理溝通計劃
構建高效的研發與自動化運維
某大型電商雲平臺實踐
網際網路資料庫架構設計思路
IT基礎架構規劃方案一(網路系統規劃)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之採購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之效能實時度量系統演變

如有想了解更多軟體設計與架構, 系統IT,企業資訊化, 團隊管理 資訊,請關注我的微信訂閱號:

image_thumb2_thumb_thumb_thumb_thumb[2]

作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。 該文章也同時釋出在我的獨立部落格中-Petter Liu Blog。

相關文章