头图

大家好,我是 Java陈序员

在企业开发中,监控系统可以说具有举足轻重的功能,可以实时反馈系统故障,及时发出告警信息,以便在第一时间处理问题,将企业损失降低到最低。

今天,给大家介绍一个易用友好的开源实时监控系统!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

HertzBeat —— 一个易用友好的开源实时监控告警系统,无需 Agent, 高性能集群,兼容 Prometheus, 自定义监控和状态页构建能力。

功能特色

  • 集监控 + 告警 + 通知为一体,支持对应用服务、应用程序、数据库、缓存、操作系统、大数据、中间件、Web 服务器、云原生、网络、自定义等监控阈值告警通知一步到位
  • 易用友好,无需 Agent, 全 Web 页面操作,鼠标点一点就能监控告警,零上手学习成本
  • 将 Http、Jmx、Ssh、Snmp、Jdbc、Prometheus 等协议规范可配置化,只需在浏览器配置监控模版 YML 就能使用这些协议去自定义采集想要的指标
  • 兼容 Prometheus 的系统生态并且更多,只需页面操作就可以监控 Prometheus 所能监控的
  • 高性能,支持多采集器集群横向扩展,支持多隔离网络监控,云边协同
  • 自由的告警阈值规则,邮件、Discord、Slack、Telegram、钉钉、微信、飞书、短信、Webhook、Server 等方式消息及时送达
  • 提供强大的状态页构建能力,轻松向用户传达您产品服务的实时状态

安装部署

Docker 方式安装

0、下载配置文件 application.yml、账户配置文件 sureness.yml(可选)

## application.yml 下载地址
https://raw.githubusercontent.com/apache/hertzbeat/master/script/application.yml

## sureness.yml 下载地址
https://raw.githubusercontent.com/apache/hertzbeat/master/script/sureness.yml

1、一键启动

docker run -d -p 1157:1157 -p 1158:1158 \
    -v $(pwd)/data:/opt/hertzbeat/data \
    -v $(pwd)/logs:/opt/hertzbeat/logs \
    -v $(pwd)/application.yml:/opt/hertzbeat/config/application.yml \
    -v $(pwd)/sureness.yml:/opt/hertzbeat/config/sureness.yml \
    -v $(pwd)/ext-lib:/opt/hertzbeat/ext-lib \
    --restart=always \
    --name hertzbeat apache/hertzbeat
  • -v $(pwd)/data:/opt/hertzbeat/data:数据持久化(可选,重要) ,挂载数据库文件到本地主机,保证数据不会因为容器的创建删除而丢失
  • -v $(pwd)/logs:/opt/hertzbeat/logs:挂载日志文件到本地主机方便查看(可选)
  • - v $(pwd)/application.yml:/opt/hertzbeat/config/application.yml:挂载配置文件到容器中(请确保本地已有此文件,可选)
  • -v $(pwd)/sureness.yml:/opt/hertzbeat/config/sureness.yml: 挂载账户配置文件到容器中(请确保本地已有此文件,可选)
  • - v $(pwd)/ext-lib:/opt/hertzbeat/ext-lib:挂载外部的第三方 JAR 包(如数据库驱动等)

2、浏览器访问:

http://ip:1157/
默认账户密码:admin/hertzbeat.

Docker Compose 方式安装

xxx 版本号,执行命令时需改成对应的版本号!

1、下载安装包 apache-hertzbeat-xxx-incubating-docker-compose.tar.gz

https://hertzbeat.apache.org/zh-cn/docs/download/

2、解压脚本包

tar zxvf apache-hertzbeat-xxx-incubating-docker-compose.tar.gz

3、进入解压目录,选择 HertzBeat + PostgreSQL + VictoriaMetrics 一键部署

cd apache-hertzbeat-xxx-incubating-docker-compose    
cd hertzbeat-postgresql-victoria-metrics

4、一键启动

docker-compose up -d

5、查看服务状态

docker-compose ps

6、浏览器访问:

http://ip:1157/
默认账户密码:admin/hertzbeat.

安装包方式安装

xxx 版本号,执行命令时需改成对应的版本号!

1、下载安装包 apache-hertzbeat-xxx-incubating-bin.tar.gz

https://hertzbeat.apache.org/zh-cn/docs/download/

2、解压安装包

tar zxvf apache-hertzbeat-xxx-incubating-bin.tar.gz
启动时默认全使用内部的数据库服务,如需改成依赖外部数据库服务,需修改配置文件 config/application.yml 中的配置。

3、启动服务

./startup.sh 

4、浏览器访问:

http://ip:1157/
默认账户密码:admin/hertzbeat.

项目截图

  • 仪表盘
  • 监控中心
监控资源管理入口,以列表的形式展示当前已添加的监控,同时支持标签分组,查询过滤,查看监控详情入口等。

  • 监控详情

  • 自定义看板

  • 监控模板
定义每一个监控类型,类型的参数变量,指标信息,采集协议等。

  • 阈值规则
监控指标告警阈值规则管理。

  • 告警收敛
支持对指定时间段内的相同重复告警消息进行去重收敛。

  • 告警静默
用于在系统维护期间或夜晚周末不想受到告警打扰。

  • 告警中心
所有已触发告警消息的通知处理中心,包括系统内部阈值触发的告警和第三方外部告警渠道接入的告警信息。

  • 消息通知
用于配置告警通知的接收对象以及接收方式,使被阈值触发的告警信息,通过指定方式通知到接收对象(支持邮箱、钉钉、微信、Webhook 等)。

  • 标签管理
可以使用标签对监控资源进行分类管理,给资源分别绑定生产环境、测试环境的标签,在告警通知时通过标签匹配不同的通知人。

HertzBeat 作为一款高性能的实时监控系统,功能不可谓不强大,监控的服务种类不可谓不齐全,通知方式不可谓不多样化!可以说,非常适用于企业中监控各种服务资源。

如果需要一款高性能的实时监控系统,可以试试使用 HertzBeat~

项目地址:https://github.com/apache/hertzbeat

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!


Java陈序员
64 声望9 粉丝