Apache HertzBeat:開源實時監(jiān)控的得力助手
前言
在數(shù)字化時代,實時監(jiān)控對于保障系統(tǒng)穩(wěn)定運行、提升業(yè)務效率至關重要。Apache HertzBeat 作為一款開源的實時監(jiān)控系統(tǒng),以其獨特優(yōu)勢在眾多監(jiān)控工具中脫穎而出。
介紹
Apache HertzBeat是一個易用友好的開源實時監(jiān)控告警系統(tǒng),無需Agent,高性能集群,兼容Prometheus,提供強大的自定義監(jiān)控和狀態(tài)頁構(gòu)建能力。
界面效果
圖片
特點
- 集 監(jiān)控+告警+通知 為一體,支持對應用服務,應用程序,數(shù)據(jù)庫,緩存,操作系統(tǒng),大數(shù)據(jù),中間件,
Web服務器,云原生,網(wǎng)絡,自定義等監(jiān)控閾值告警通知一步到位。 - 易用友好,無需
Agent,全WEB頁面操作,鼠標點一點就能監(jiān)控告警,無需學習成本。 - 將
Http, Jmx, Ssh, Snmp, Jdbc, Prometheus等協(xié)議規(guī)范可配置化,只需在瀏覽器配置監(jiān)控模板YML就能使用這些協(xié)議去自定義采集想要的指標。您相信只需簡單配置即可快速適配一款K8s或Docker等新的監(jiān)控類型嗎? - 兼容
Prometheus的系統(tǒng)生態(tài)并且更多,只需頁面操作就可以監(jiān)控Prometheus所能監(jiān)控的。 - 高性能,支持多采集器集群橫向擴展,支持多隔離網(wǎng)絡監(jiān)控,云邊協(xié)同。
- 靈活的告警閾值規(guī)則,郵件
DiscordSlackTelegram釘釘 微信 飛書 短信WebhookServer醬等方式消息及時送達。 - 提供強大的狀態(tài)頁構(gòu)建能力,輕松向用戶傳達您產(chǎn)品服務的實時狀態(tài)。
?
HertzBeat的強大自定義,多類型支持,高性能,易擴展,低耦合,希望能幫助開發(fā)者和團隊快速搭建自有監(jiān)控系統(tǒng)。
安裝
部署 HertzBeat Server
官網(wǎng):https://hertzbeat.apache.org/zh-cn/docs/download/
圖片
下載解壓后,修改config/application.yml的配置文件,您可以根據(jù)需求修改配置文件來配置外部依賴的服務,如數(shù)據(jù)庫,時序數(shù)據(jù)庫等參數(shù)。HertzBeat啟動時默認全使用內(nèi)部服務,但生產(chǎn)環(huán)境建議切換為外部數(shù)據(jù)庫服務。
由于
1.6.0及以后版本使用Java 17,且安裝包不再提供內(nèi)置jdk的版本,你的服務器中默認環(huán)境變量不為Java 17時,可以相應下載jdk解壓后的文件夾重命名為java,復制到Hertzbeat的解壓目錄下。
瀏覽器訪問 http://ip:1157/ 即可開始探索使用,默認賬戶密碼admin/hertzbeat。
圖片
圖片
應用場景
傳統(tǒng) Web 服務監(jiān)控
對于企業(yè)的各類Web應用服務,HertzBeat可實時監(jiān)控其性能指標,如響應時間、吞吐量、錯誤率等。通過設置合理的告警閾值,當服務出現(xiàn)異常時及時通知運維人員,保障Web服務的穩(wěn)定運行,提升用戶體驗。
數(shù)據(jù)庫監(jiān)控
無論是關系型數(shù)據(jù)庫(如MySQL、Oracle)還是非關系型數(shù)據(jù)庫(如Redis、MongoDB),HertzBeat都能對其關鍵指標進行監(jiān)控,如數(shù)據(jù)庫連接數(shù)、查詢響應時間、磁盤I/O等。這有助于數(shù)據(jù)庫管理員及時發(fā)現(xiàn)潛在問題,優(yōu)化數(shù)據(jù)庫性能,避免因數(shù)據(jù)庫故障導致的業(yè)務中斷。
云原生環(huán)境監(jiān)控
在K8s、Docker等云原生環(huán)境中,HertzBeat可輕松適配,監(jiān)控容器的運行狀態(tài)、資源使用情況(CPU、內(nèi)存、磁盤等)、Pod的健康狀況等。幫助云平臺管理員有效管理云資源,確保容器化應用的穩(wěn)定運行,充分發(fā)揮云原生技術(shù)的優(yōu)勢。
中間件監(jiān)控
針對各類中間件,如消息隊列(Kafka、RabbitMQ)、應用服務器(Tomcat、JBoss)等,HertzBeat能采集其關鍵性能指標,如消息堆積量、服務器線程池狀態(tài)等。通過對中間件的實時監(jiān)控,保障企業(yè)應用系統(tǒng)中各個組件之間的高效通信和協(xié)同工作。
自定義監(jiān)控場景
對于一些具有特殊監(jiān)控需求的場景,如特定業(yè)務指標的監(jiān)控、自研系統(tǒng)的性能監(jiān)控等,用戶可利用HertzBeat的自定義監(jiān)控功能,通過配置YML文件,靈活定義需要采集的指標,實現(xiàn)高度個性化的監(jiān)控,滿足企業(yè)獨特的業(yè)務需求。
案例
PING連通性檢測
圖片
填入要監(jiān)控的主機IP和監(jiān)控名稱,然后測試一下:
圖片
圖片
數(shù)據(jù)庫監(jiān)控
已mysql為例:
圖片
填入要監(jiān)控的Mysql地址和監(jiān)控名稱,然后測試一下:
圖片
圖片
應用服務監(jiān)控
已springboot2.0為例(需要打開SpringBoot Actuator):
圖片
填入要監(jiān)控的應用地址和監(jiān)控名稱,然后測試一下:
圖片
圖片
告警規(guī)則
以應用服務監(jiān)控為例
圖片
停止/恢復應用服務:
圖片
配置告警通知:
圖片
總結(jié)
Apache HertzBeat憑借其無需Agent、強大的自定義監(jiān)控、兼容Prometheus、高性能集群、豐富的告警通知和狀態(tài)頁構(gòu)建等特性,在實時監(jiān)控領域展現(xiàn)出獨特的優(yōu)勢。無論是小型企業(yè)的簡單監(jiān)控需求,還是大型企業(yè)復雜的分布式系統(tǒng)監(jiān)控,HertzBeat都能提供有效的解決方案。隨著其不斷發(fā)展和完善,有望在開源監(jiān)控領域發(fā)揮更重要的作用,為廣大開發(fā)者和企業(yè)用戶帶來更多價值。




























