Skip to content

HearzBeat

在当今数字化时代,系统监控对于保障业务的稳定运行至关重要。HearzBeat 作为一款开源实时监控告警系统,凭借其强大的功能和灵活的配置,成为了众多开发者和企业的首选。本文将详细介绍 HearzBeat 的各个方面,包括其定义、背景、特性、优势、应用场景以及安装使用方法。

什么是HearzBeat

HearzBeat是一个拥有强大自定义监控能力,无需 Agent 的开源实时监控告警系统。它集监控、告警、通知为一体,支持对应用服务、数据库、操作系统、中间件、云原生、网络等进行全方位监控,并通过阈值告警和多种通知方式(如邮件、微信、钉钉、飞书、短信、Slack、Discord、Telegram 等)及时送达告警信息。

背景

HearzBeat 诞生于 Dromara 开源社区,旨在为开发者和中小团队提供一个无需复杂部署、易于使用的监控解决方案。它通过将常见的协议(如 Http、Jmx、Ssh、Snmp、Jdbc 等)规范可配置化,用户只需配置 YML 文件即可使用这些协议去自定义采集任何想要的指标,从而快速搭建起自己的监控系统。HertzBeat 于 2024 年 4 月 5 日正式通过 Apache 基金会的投票决议,加入 Apache 孵化器。

特性

  • 无需 Agent:HearzBeat 无需在被监控端安装 Agent,通过 PULL 模式直接拉取数据,简化了部署过程,减少了对被监控系统的侵入。
  • 强大的自定义监控能力:支持多种协议的配置化,用户可以灵活定义监控指标,满足不同场景下的监控需求。
  • 集监控-告警-通知为一体:从数据采集到告警触发,再到通知送达,整个流程无缝衔接,确保及时发现并处理问题。
  • 兼容 Prometheus:对于熟悉 Prometheus 的用户来说,HearzBeat 的兼容性意味着可以轻松集成到现有的监控生态中。

优势

  • 高性能集群:能够处理高并发、大流量的数据,保证监控系统的稳定运行。
  • 易用友好:全 WEB 页面操作,零上手学习成本,即使是新手也能快速上手。
  • 低耦合、易扩展:系统设计上注重低耦合,方便用户根据自身需求进行扩展和定制。

安装使用

HearzBeat 的安装相对简单,以下是基于 Docker 的安装步骤。

Docker方式安装

安装 MySQL

HearzBeat 需要 MySQL 8+ 作为关系型数据库,可以通过 Docker 快速安装。

docker run --name mysql -p 3306:3306 -v /var/lib/mysql:/var/lib/mysql -v /etc/mysql.cnf:/etc/mysql.cnf -e MYSQL_ROOT_PASSWORD='your_password' --restart=always -d mysql

在 MySQL 中新建 HearzBeat 的数据库,并执行项目仓库 /script/sql/ 目录下的 schema.sql 数据库脚本

安装 TDengine

TDengine作为时序性数据库,用于存储监控数据。

docker run -d -p 6030-6049:6030-6049 -p 6030-6049:6030-6049/udp --name tdengine tdengine/tdengine

创建 TDengine 数据库实例,并进入容器执行 taos shell 客户端程序,创建名称为 hertzbeat 的数据库。

启动 HearzBeat

通过 Docker 启动 HearzBeat 容器

docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat

开始使用

安装完成后,打开浏览器http://localhost:1157 ,即可进入 HearzBeat 的管理界面。在这里,你可以添加监控目标、配置监控指标、设置告警规则以及查看监控数据和告警通知。通过简单的点击和配置,就能实现对各类资源的实时监控。