项目描述
一个易用友好的开源实时监控告警系统,无需Agent,高性能集群,强大自定义监控能力。项目介绍
HertzBeat 赫兹跳动
易用友好的开源实时监控告警系统,无需Agent,高性能集群,强大自定义监控能力。
官网: hertzbeat.dromara.org 全球网络 | hertzbeat.com 中国网络
云服务: console.tancloud.cn
介绍
HertzBeat 赫兹跳动 是一个拥有强大自定义监控能力,高性能集群,无需 Agent 的开源实时监控告警系统。
特点
- 集 监控+告警+通知 为一体,支持对应用服务,数据库,操作系统,中间件,云原生,网络等监控阈值告警通知一步到位。
- 易用友好,无需
Agent
,全WEB
页面操作,鼠标点一点就能监控告警,零上手学习成本。 - 将
Http,Jmx,Ssh,Snmp,Jdbc
等协议规范可配置化,只需在浏览器配置监控模版YML
就能使用这些协议去自定义采集想要的指标。您相信只需配置下就能立刻适配一款K8s
或Docker
等新的监控类型吗? - 高性能,支持多采集器集群横向扩展,支持多隔离网络监控,云边协同。
- 自由的告警阈值规则,
邮件
Discord
Slack
Telegram
钉钉
微信
飞书
短信
Webhook
Server酱
等方式消息及时送达。
HertzBeat
的强大自定义,多类型支持,高性能,易扩展,低耦合,希望能帮助用户快速搭建自有监控系统。
当然我们也提供了对应的 SAAS版本监控云服务,中小团队和个人无需再为监控自有资源而去部署一套监控系统,登录即可免费开始。
模块
⛄ 已支持
我们将监控采集类型(mysql,jvm,k8s)都定义为yml监控模版,用户可以导入这些模版来支持对应类型的监控!
欢迎大家一起贡献你使用过程中自定义的通用监控类型监控模版。
- Website, Port Telnet, Http Api, Ping Connect, Jvm, SiteMap, Ssl Certificate, SpringBoot2, FTP Server, SpringBoot3
- Mysql, PostgreSQL, MariaDB, Redis, ElasticSearch, SqlServer, Oracle, MongoDB, DM, OpenGauss, ClickHouse, IoTDB, Redis Cluster, Redis Sentinel Doris BE, Doris FE
- Linux, Ubuntu, CentOS, Windows, EulerOS, Fedora CoreOS, OpenSUSE, Rocky Linux, Red Hat, FreeBSD, AlmaLinux, Debian Linux
- Tomcat, Nacos, Zookeeper, RabbitMQ, Flink, Kafka, ShenYu, DynamicTp, Jetty, ActiveMQ
- Kubernetes, Docker
- CiscoSwitch, HpeSwitch, HuaweiSwitch, TpLinkSwitch, H3cSwitch
- 和更多自定义监控模版。
- 通知支持
Discord
Slack
Telegram
邮件
钉钉
微信
飞书
短信
Webhook
Server酱
。
快速开始
- 如果您不想部署而是直接使用,我们提供SAAS监控云服务-TanCloud探云,即刻登录注册免费使用。
- 如果您是想将HertzBeat部署到内网环境搭建监控系统,请参考下面的部署文档进行操作。
HertzBeat安装
HertzBeat支持通过源码安装启动,Docker容器运行和安装包方式安装部署,CPU架构支持x86/arm64。
方式一:Docker方式快速安装
docker
环境仅需一条命令即可开始
docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat tancloud/hertzbeat
或者使用 quay.io (若 dockerhub 网络链接超时)
docker run -d -p 1157:1157 -p 1158:1158 --name hertzbeat quay.io/tancloud/hertzbeat
浏览器访问
http://localhost:1157
即可开始,默认账号密码admin/hertzbeat
部署采集器集群
docker run -d -e IDENTITY=custom-collector-name -e MANAGER_HOST=127.0.0.1 -e MANAGER_PORT=1158 --name hertzbeat-collector tancloud/hertzbeat-collector
-e IDENTITY=custom-collector-name
: 配置此采集器的唯一性标识符名称,多个采集器名称不能相同,建议自定义英文名称。-e MODE=public
: 配置运行模式(public or private), 公共集群模式或私有云边模式。-e MANAGER_HOST=127.0.0.1
: 配置连接主HertaBeat服务的对外IP。-e MANAGER_PORT=1158
: 配置连接主HertzBeat服务的对外端口,默认1158。
更多配置详细步骤参考 通过Docker方式安装HertzBeat
方式二:通过安装包安装
- 下载您系统环境对应的安装包
hertzbeat-xx.tar.gz
GITEE Release GITHUB Release - 配置 HertzBeat 的配置文件
hertzbeat/config/application.yml
(可选) - 部署启动
$ ./bin/startup.sh
或bin/startup.bat
- 浏览器访问
http://localhost:1157
即可开始,默认账号密码admin/hertzbeat
- 部署采集器集群
- 下载采集器安装包
hertzbeat-collector-xx.tar.gz
到规划的另一台部署主机上 GITEE Release GITHUB Release - 配置采集器的配置文件
hertzbeat-collector/config/application.yml
里面的连接主HertzBeat服务的对外IP,端口,当前采集器名称(需保证唯一性)等参数identity
mode
(public or private)manager-host
manager-port
yaml collector: dispatch: entrance: netty: enabled: true identity: ${IDENTITY:} mode: ${MODE:public} manager-host: ${MANAGER_HOST:127.0.0.1} manager-port: ${MANAGER_PORT:1158}
- 启动
$ ./bin/startup.sh
或bin/startup.bat
- 浏览器访问主HertzBeat服务
http://localhost:1157
查看概览页面即可看到注册上来的新采集器
- 下载采集器安装包
更多配置详细步骤参考 通过安装包安装HertzBeat
方式三:本地代码启动
- 此为前后端分离项目,本地代码调试需要分别启动后端工程
manager
和前端工程web-app
- 后端:需要
maven3+
,java11
和lombok
环境,修改YML
配置信息并启动manager
服务 - 前端:需要
nodejs npm angular-cli
环境,待本地后端启动后,在web-app
目录下启动ng serve --open
- 浏览器访问
http://localhost:4200
即可开始,默认账号密码admin/hertzbeat
详细步骤参考 参与贡献之本地代码启动
方式四:Docker-Compose 统一安装 hertzbeat+mysql+iotdb/tdengine
通过 Docker-Compose 部署脚本 一次性把 mysql 数据库, iotdb/tdengine 时序数据库和 hertzbeat 安装部署。
详细步骤参考 通过Docker-Compose安装HertzBeat
方式五:Kubernetes Helm Charts 部署 hertzbeat+collector+mysql+iotdb
通过 Helm Chart 一次性将 HertzBeat 集群组件部署到 Kubernetes 集群中。
详细步骤参考 Artifact Hub
HAVE FUN