最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

HertzBeat 監(jiān)控 SpringBoot 使用案例(最新整理)

 更新時間:2025年08月26日 15:21:12   作者:天氰色等煙雨  
文章介紹HertzBeat作為無Agent的SpringBoot監(jiān)控工具,支持指標(biāo)采集、Grafana可視化、閾值告警及多通道通知,簡化云原生監(jiān)控流程,本文給大家介紹HertzBeat監(jiān)控SpringBoot使用案例,感興趣的朋友一起看看吧

HertzBeat 監(jiān)控 SpringBoot 使用案例

在云原生時代,Spring Boot應(yīng)用的監(jiān)控與可視化已然成為運維體系的核心環(huán)節(jié),實時監(jiān)控應(yīng)用性能是保障系統(tǒng)穩(wěn)定性的關(guān)鍵。

這篇文章將結(jié)合 HertzBeat 實現(xiàn)從指標(biāo)采集、可視化到告警的一體化解決方案,并展示完整操作流程與監(jiān)控實踐。

HertzBeat 是什么

Apache HertzBeat (incubating) 一個擁有強大自定義監(jiān)控能力,無需Agent的實時監(jiān)控工具。網(wǎng)站監(jiān)測,PING連通性,端口可用性,數(shù)據(jù)庫,操作系統(tǒng),中間件,API監(jiān)控,閾值告警,告警通知(郵件微信釘釘飛書)。

github: https://github.com/apache/hertzbeat

安裝 HertzBeat

生產(chǎn)環(huán)境中推薦使用 PostgreSQL + VictoriaMetrics 服務(wù)的方式部署 HertzBeat。

1、部署 HertzBeat

  • 下載安裝包
  • 下載頁面 下載您系統(tǒng)環(huán)境對應(yīng)的安裝包版本 apache-hertzbeat-xxx-incubating-bin.tar.gz;
  • 解壓安裝包到主機,如: /opt/hertzbeat
- tar zxvf apache-hertzbeat-xxx-incubating-bin.tar.gz

2、快速安裝 PostgreSQL + VictoriaMetrics 服務(wù)

  • Docker 安裝 PostgreSQL
- docker run -d --name postgresql -p 5432:5432 -v "$PWD/data:/var/lib/postgresql/data" -e POSTGRES_USER=root -e     POSTGRES_PASSWORD=123456 -e TZ=Asia/Shanghai postgres:15      
  • Docker 安裝 VictoriaMetrics
- docker run -d -p 8428:8428 -v "$PWD/victoria-metrics-data:/victoria-metrics-data" --name victoria-metrics victoriametrics/victoria-metrics:v1.95.1

3、修改 HertzBeat 的配置文件

  • 切換元數(shù)據(jù)儲存數(shù)據(jù)源
  • 修改位于 hertzbeat/config/application.yml 的配置文件,替換為 PostgreSQL 服務(wù):
- spring:
    datasource:
      driver-class-name: org.postgresql.Driver
      username: root
      password: 123456
      url: jdbc:postgresql://postgresql:5432/hertzbeat
      hikari:
        max-lifetime: 120000
    jpa:
      show-sql: false
      database-platform: org.eclipse.persistence.platform.database.PostgreSQLPlatform
      database: postgresql
      properties:
        eclipselink:
          logging:
            level: SEVERE
  • 配置時序數(shù)據(jù)庫服務(wù)
  • 同理,修改 hertzbeat/config/application.yml 的配置文件,開啟 VictoriaMetrics 服務(wù)用于存儲指標(biāo):
- warehouse:
    store:
      # 關(guān)閉默認(rèn)JPA
      jpa:
        enabled: false
      # 啟用 victoria-metrics
      victoria-metrics:
         enabled: true
         url: http://localhost:8428
         username: root
         password: root

4、啟動

在上述解壓好的安裝目錄 bin 下的啟動腳本 startup.sh,windows 環(huán)境下為 startup.bat

./startup.sh 

SpringBoot 應(yīng)用配置

  • 開啟Actuator監(jiān)控
  • pom.xml添加依賴:
-  <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-actuator</artifactId>
   </dependency>
   <dependency>
       <groupId>io.micrometer</groupId>
       <artifactId>micrometer-registry-prometheus</artifactId>
   </dependency>

配置application.yml暴露端點:

-  management:
     endpoints:
       web:
         exposure:
           include: '*'
       enabled-by-default: true
     metrics:
       export:
         prometheus:
           enabled: true

注意:如果你的項目里還引入了認(rèn)證相關(guān)的依賴,比如 springboot-security ,那么 SpringBoot Actuator 暴露出的接口可能會被攔截,此時需要你手動放開這些接口,以 springboot-security 為例,需要在 SecurityConfig 配置類中加入以下代碼:

-  public class SecurityConfig extends WebSecurityConfigurerAdapter{
       @Override
       protected void configure(HttpSecurity httpSecurity) throws Exception{
           httpSecurity
                   // 配置要放開的接口
                   .antMatchers("/actuator/**").permitAll()
                   .antMatchers("/metrics/**").permitAll()
                   .antMatchers("/trace").permitAll()
                   .antMatchers("/heapdump").permitAll()
                   // ...
       }
   }
  • 驗證端點
  • 請求URL: http://<your-host>:<port>/actuator 驗證已啟用的端點,http://<your-host>:<port>/actuator/prometheus 應(yīng)返回指標(biāo)數(shù)據(jù)。

監(jiān)控 SpringBoot 應(yīng)用

新增 AUTO 監(jiān)控

系統(tǒng)導(dǎo)航至「監(jiān)控中心」→「新增監(jiān)控」→「AUTO」→「Prometheus任務(wù)」

填寫關(guān)鍵參數(shù)

目標(biāo)Host:SpringBoot 應(yīng)用服務(wù)器地址(不帶協(xié)議頭,例如: https://, http:// )

端口:應(yīng)用服務(wù)端口(例如: 8080)

端點路徑/actuator/prometheus

使用標(biāo)簽分類來管理任務(wù),如添加env=test等業(yè)務(wù)相關(guān)標(biāo)簽

查看檢測指標(biāo)數(shù)據(jù)

點擊進入新建監(jiān)控,可以查看指標(biāo)數(shù)據(jù)詳情及指標(biāo)歷史圖表等。

Grafana可視化集成 (可選)

Grafana 部署

啟用 Grafana 可嵌入功能, 并開啟匿名訪問:

參考: https://grafana.com/blog/2023/10/10/how-to-embed-grafana-dashboards-into-web-applications/ 修改配置文件grafana.ini中的allow_embedding = true 修改配置文件grafana.ini中的[auth.anonymous]true 或者通過docker運行Grafana,使用以下命令:

-  docker run -d --name grafana -p 3000:3000 -v "$PWD/grafana:/var/lib/grafana" -e "GF_AUTH_PROXY_ENABLED=true" -e "GF_AUTH_ANONYMOUS_ENABLED=true" -e "GF_AUTH_ANONYMOUS_ORG_ROLE=Admin" -e "GF_USERS_VIEWERS_CAN_EDIT=true" -e "GF_SECURITY_ALLOW_EMBEDDING=true" grafana/grafana:10.4.18
-  [auth.proxy]
   enabled = true
   [auth.anonymous]
   enabled = true
   org_role = Admin
   [users]
   viewers_can_edit = true
   [security]
   allow_embedding = true
環(huán)境變量grafana.ini配置段配置鍵名功能說明
GF_AUTH_PROXY_ENABLED=true[auth.proxy]enabled啟用反向代理認(rèn)證模式,允許通過HTTP頭傳遞用戶身份
GF_AUTH_ANONYMOUS_ENABLED=true[auth.anonymous]enabled開啟匿名訪問,無需登錄即可訪問Grafana界面
GF_AUTH_ANONYMOUS_ORG_ROLE=Admin[auth.anonymous]org_role設(shè)置匿名用戶的默認(rèn)權(quán)限為管理員(Admin),賦予所有操作權(quán)限
GF_USERS_VIEWERS_CAN_EDIT=true[users]viewers_can_edit允許"Viewer"角色的用戶編輯儀表盤(通常僅限"Editor"或"Admin"角色有此權(quán)限)
GF_SECURITY_ALLOW_EMBEDDING=true[security]allow_embedding允許通過iframe等方式將Grafana面板嵌入第三方頁面

在HertzBeat中配置Grafana

在 HertzBeat 的配置文件application.yml中,配置 Grafana 數(shù)據(jù)源:

-  grafana:
     enabled: true
     url: http://127.0.0.1:3000
     username: admin
     password: admin

在 HertzBeat 監(jiān)控中嵌入 Grafana 儀表盤

配置啟用 Grafana 后,重啟 HertzBeat 服務(wù),在新增的 AUTO 監(jiān)控中啟用并上傳 Grafana 模板。比如:Grafana 數(shù)據(jù)源選擇hertzbeat-victoria-metrics,然后在儀表盤點擊:「Share」→「Export」→「Save to file」下載模板并上傳至 HertzBeat 監(jiān)控中。

查看 Grafana 圖表

進入新增 AUTO 監(jiān)控頁面,點擊 Grafana 圖標(biāo)按鈕,即可查看 Grafana 圖表。

告警與通知聯(lián)動

HertzBeat告警配置

系統(tǒng)頁面 -> 告警 -> 閾值規(guī)則 -> 新增 -> 新增閾值

填寫關(guān)鍵參數(shù)

HertzBeat 提供了 實時計算計劃周期 兩種類型的閾值規(guī)則設(shè)置,這里我們以 計劃周期 閾值規(guī)則為例。

  • 閾值名稱:閾值規(guī)則名稱
  • 閾值規(guī)則:填寫指標(biāo)監(jiān)測的規(guī)則(支持 PromQL
  • 執(zhí)行周期:周期性執(zhí)行閾值計算的時間間隔
  • 告警級別:觸發(fā)閾值的告警級別,從低到高依次為: 警告-warning,嚴(yán)重-critical,緊急-emergency
  • 觸發(fā)次數(shù):設(shè)置觸發(fā)閾值多少次之后才會發(fā)送告警
  • 告警內(nèi)容:填寫指標(biāo)監(jiān)測的告警內(nèi)容

設(shè)置閾值規(guī)則

  • 比如監(jiān)測 SpringBoot 應(yīng)用程序的 CPU 占用,添加閾值規(guī)則:system_cpu_usage{job="Jolly_Vulture_43vT"} > 0.01,當(dāng)然,可以設(shè)置的閾值規(guī)則有很多,用戶可以根據(jù)自身需求設(shè)置更豐富的告警規(guī)則。

最終可以在告警中心看到已觸發(fā)的告警。

告警通知

系統(tǒng)頁面 -> 消息通知 -> 通知媒介 -> 新增接收對象

消息通知 -> 通知策略 -> 新增告警通知策略 -> 將剛才配置的接收人啟用通知

OK 當(dāng)閾值觸發(fā)后我們就可以收到對應(yīng)告警消息啦,如果沒有配通知,也可以在告警中心查看告警信息。

小總結(jié)

通過簡潔的配置,用戶幾分鐘之內(nèi)就可搭建完整的監(jiān)控體系,這充分體現(xiàn)了 HertzBeat 的幾點優(yōu)勢:

  • 無需部署 Exporter 和 Agent 即可監(jiān)控 Spring Boot Actuator 端點,支持自定義指標(biāo)采集與告警規(guī)則。
  • 輕量化:相比傳統(tǒng) Prometheus + AlertManager 組合,HertzBeat 簡化了部署和維護流程。
  • 無縫集成 Grafana,HertzBeat 將采集的時序數(shù)據(jù)實時推送至 Grafana 構(gòu)建可視化儀表盤。
  • 監(jiān)控+告警+通知功能整合聯(lián)動,全協(xié)議覆蓋 + 實時/周期閾值檢測 + 多通道通知(釘釘/飛書/Webhook等)。

監(jiān)控springboot應(yīng)用的實踐就到這里,當(dāng)然對hertzbeat來說這個功能只是冰山一角,如果您覺得hertzbeat這個開源項目不錯的話,歡迎在 GitHub 上點亮小星星哦?

github: https://github.com/apache/hertzbeat

到此這篇關(guān)于HertzBeat 監(jiān)控 SpringBoot 使用案例(最新整理)的文章就介紹到這了,更多相關(guān)HertzBeat SpringBoot使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mybatis resultmap 如何為對象賦值的調(diào)用順序

    mybatis resultmap 如何為對象賦值的調(diào)用順序

    這篇文章主要介紹了mybatis resultmap 如何為對象賦值的調(diào)用順序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • Mybatis源碼解析之mapper接口的代理模式詳解

    Mybatis源碼解析之mapper接口的代理模式詳解

    這篇文章主要介紹了Mybatis源碼解析之mapper接口的代理模式詳解,在mybatis中執(zhí)行sql時有兩種方式,一種是基于statementId,也就是直接調(diào)用SqlSession的方法,需要的朋友可以參考下
    2023-12-12
  • CAT分布式實時監(jiān)控系統(tǒng)使用詳解

    CAT分布式實時監(jiān)控系統(tǒng)使用詳解

    這篇文章主要為大家介紹了CAT分布式實時監(jiān)控系統(tǒng)介紹詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • swing登錄注冊界面設(shè)計

    swing登錄注冊界面設(shè)計

    這篇文章主要為大家詳細(xì)介紹了swing登錄注冊界面的設(shè)計方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 詳解Java高級特性之反射

    詳解Java高級特性之反射

    這篇文章主要介紹了Java高級特性之反射的相關(guān)知識,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • java如何將list中的某個元素移動位置

    java如何將list中的某個元素移動位置

    在Java編程中我們經(jīng)常會使用List數(shù)據(jù)結(jié)構(gòu)來存儲一組元素,下面這篇文章主要給大家介紹了關(guān)于java如何將list中的某個元素移動位置的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • java 中模式匹配算法-KMP算法實例詳解

    java 中模式匹配算法-KMP算法實例詳解

    這篇文章主要介紹了java 中模式匹配算法-KMP算法實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • IntellJ IDEA神器使用技巧(小結(jié))

    IntellJ IDEA神器使用技巧(小結(jié))

    這篇文章主要介紹了IntellJ IDEA神器使用技巧(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Spring超詳細(xì)講解注解開發(fā)

    Spring超詳細(xì)講解注解開發(fā)

    Spring是輕代碼而重配置的框架,配置比較繁重,影響開發(fā)效率,所以注解開發(fā)是一種趨勢。本文將通過示例為大家詳細(xì)講講Spring如何實現(xiàn)注解開發(fā),感興趣的可以學(xué)習(xí)一下
    2022-08-08
  • Java實現(xiàn)駝峰下劃線互轉(zhuǎn)的使用示例

    Java實現(xiàn)駝峰下劃線互轉(zhuǎn)的使用示例

    駝峰和下劃線互轉(zhuǎn)場景是在不同命名規(guī)范的情況下,需要進行字段名稱的轉(zhuǎn)換,本文就來介紹一下Java實現(xiàn)駝峰下劃線互轉(zhuǎn)的使用示例,感興趣的可以了解一下
    2023-12-12

最新評論

千阳县| 南投市| 昭平县| 峡江县| 巴林右旗| 抚宁县| 板桥市| 嘉荫县| 仪陇县| 浪卡子县| 安徽省| 靖安县| 镇沅| 安新县| 安徽省| 英吉沙县| 平泉县| 德格县| 南城县| 湄潭县| 高安市| 林周县| 温州市| 河间市| 商河县| 镇远县| 顺义区| 沁阳市| 贵州省| 扎赉特旗| 安化县| 宜宾县| 平乐县| 雅安市| 边坝县| 仁寿县| 许昌市| 新安县| 南乐县| 黄山市| 呼玛县|