一篇文章带你了解一款强大的全栈监控工具---HertzBeat

HertzBeat 核心特点

  1. 全栈监控能力

    支持网站、数据库、操作系统、中间件、云原生应用、网络设备等资源的实时监控,覆盖指标采集、阈值告警、通知一体化流程。

    • 兼容 Prometheus 查询语法,支持自定义监控模板(如 Docker、K8s)。
    • 无需 Agent,通过 HTTP、JMX、SSH、SNMP、JDBC 等协议直接采集数据。
  2. 灵活告警与通知

    • 支持自由化阈值规则(如计算表达式),可设置动态阈值。
    • 通知方式多样:邮件、钉钉、微信、飞书、Telegram、Webhook 等。
  3. 高性能与扩展性

    • 采集器集群支持横向扩展,适应高并发场景。
    • 模块化设计(Manager、Collector、Warehouse 等),便于定制开发。
  4. 低门槛易用性

    • 全 Web 页面操作,零代码配置监控任务。
    • 提供 SaaS 版本(TanCloud 探云),免部署快速使用。

安装部署指南

1. Docker 部署(推荐)

bash 复制代码
# 基础命令(默认使用 H2 数据库)
docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat 
 
# 高级配置(挂载配置文件、时序数据库)
docker run -d \
  -p 1157:1157 -p 1158:1158 \
  -e LANG=zh_CN.UTF-8 -e TZ=Asia/Shanghai \
  -v $(pwd)/config/application.yml:/opt/hertzbeat/config/application.yml  \
  -v $(pwd)/data:/opt/hertzbeat/data \
  --name hertzbeat tancloud/hertzbeat 
  • 配置文件说明

    • application.yml

      :时序数据库(如 VictoriaMetrics、TDengine)连接配置。

    • sureness.yml

      :修改默认账号密码(默认 admin/hertzbeat)。

bash 复制代码
内外虚拟机部署:
docker run -d --net=host -v $(pwd)/data:/opt/hertzbeat/data -v $(pwd)/logs:/opt/hertzbeat/logs -v $(pwd)/application.yml:/data/application.yml -v $(pwd)/sureness.yml:/data/sureness.yml -v $(pwd)/ext-lib:/opt/hertzbeat/ext-lib --restart=always --name hertzbeat apache/hertzbeat
http://192.168.6.128:1157/dashboard

docker run -d -p 8086:8086       -v /opt/influxdb:/var/lib/influxdb       influxdb:1.8

docker run -p 6379:6379 --name redis --restart=always -v /opt/redis/redis.conf:/etc/redis/redis.conf -v /opt/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass root123

2. 安装包部署

  • 下载对应系统的安装包(如 Linux、Windows),解压后运行启动脚本。

  • 需手动配置

    application.yml

    sureness.yml

    ,路径通常为

    hertzbeat/config/

3. Docker Compose(集成时序数据库)

bash 复制代码
version: '3'
services:
  hertzbeat:
    image: tancloud/hertzbeat 
    ports:
      - "1157:1157"
    volumes:
      - ./config:/opt/hertzbeat/config 
      - ./data:/opt/hertzbeat/data 
  victoriametrics:
    image: victoriametrics/victoriametrics 
    ports:
      - "8428:8428"

使用方法与核心功能

1. 基础操作

  • 登录:访问

    http://<服务器IP>:1157

    ,默认账号密码

    admin/hertzbeat

  • 新增监控

    • 菜单栏选择 监控中心新增监控,选择类型(如网站、数据库、Docker 容器)。
    • 配置采集频率、指标(如 CPU 使用率、响应时间)及阈值告警规则。

2. 告警与通知

  • 设置接收人 :在 告警通知新增接收人 中配置钉钉机器人、邮箱等。
  • 关联策略:将接收人与告警策略绑定,触发条件可自定义(如连续 3 次超阈值)。

3. 高级功能

  • 状态页构建 :通过 状态页 模块生成服务状态页面,支持多语言和自定义模板。
  • API 监控:集成 Apache ShenYu 等网关的 Metrics 插件,实时监控请求量、响应时间等指标。

常见问题与优化

  • 容器命名冲突:删除旧容器

    docker rm -f hertzbeat

    后重新启动。

  • 时序数据库选择:生产环境建议使用 VictoriaMetrics 或 TDengine 替代 H2,避免数据丢失。

  • 性能调优:增加采集器节点(Docker 部署多实例)提升并发能力。

更多细节可参考官方文档 或社区案例 。

相关推荐
行百里er19 小时前
Spring Insight 里如何对 Span 进行清洗
spring boot·spring cloud·监控
盛世宏博智慧档案2 天前
户外配电柜为什么要装POE供电以太网温湿度传感器?
服务器·网络·人工智能·监控·温湿度·配电柜
行百里er3 天前
Spring Insight 里收到的 Span 是怎么存下来的
spring boot·spring·监控
行百里er4 天前
Spring Insight 里上报 Span 为什么用 JDK HttpClient 而不是 RestTemplate
spring boot·spring cloud·监控
SkyWalking中文站5 天前
Horizon UI 1.0 正式发布:SkyWalking 新一代控制台接棒 Booster
运维·监控·自动化运维
行百里er5 天前
BlockingQueue:异步批量上报
spring boot·spring cloud·监控
IT界的老黄牛5 天前
Prometheus TSDB 拆不出来、也存不了一年:4 条外部存储出路 + 容量测算
prometheus·时序数据库·监控·thanos·victoriametrics·remote_write
IT界的老黄牛6 天前
Jenkins 监控一条龙:接入、看板 9964、11 条告警规则直接抄走
jenkins·grafana·prometheus·监控·ci-cd·告警规则
SkyWalking中文站6 天前
SkyWalking 11 与 BanyanDB 0.11:在存储引擎内部实现 Trace 尾部采样
运维·监控·自动化运维
行百里er7 天前
BeanPostProcessor:包装 Feign Client
spring boot·后端·监控