👉 这是一个或许对你有用的社群
🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入芋道快速开发平台知识星球。下面是星球提供的部分资料:
👉这是一个或许对你有用的开源项目
国产 Star 破 10w+ 的开源项目,前端包括管理后台 + 微信小程序,后端支持单体和微服务架构。
功能涵盖 RBAC 权限、SaaS 多租户、数据权限、商城、支付、工作流、大屏报表、微信公众号、CRM 等等功能:
  • Boot 仓库:https://gitee.com/zhijiantianya/ruoyi-vue-pro
  • Cloud 仓库:https://gitee.com/zhijiantianya/yudao-cloud
  • 视频教程:https://doc.iocoder.cn
【国内首批】支持 JDK 21 + SpringBoot 3.2.2、JDK 8 + Spring Boot 2.7.18 双版本 

我们经常讲:研发人员有两只眼睛,一只是监控平台,另一只是日志平台。在对性能和高可用讲究的场景里,监控平台的重要性再怎么强调也不过分。
这篇文章,我们聊聊开源实时监控告警系统 HertzBeat 赫兹跳动。

1 产品特色

HertzBeat 有两个非常鲜明的特色:强大的监控模版无需 Agent

1.1 强大的监控模版

HertzBeat 自身并没有去创造一种采集数据协议让监控对端来适配它,而是充分使用了现有的生态。比如:
  • SNMP 协议采集网络交换机路由器信息
  • JMX 规范采集  JAVA 应用信息
  • JDBC 规范采集数据集信息
  • SSH 直连执行脚本获取回显信息
  • HTTP 解析 API 接口信息
HertzBeat 使用这些已有的标准协议或规范,将他们抽象规范可配置化,最后使其都可以通过编写YML格式监控模版的形式,来制定模版使用这些协议来采集任何想要的指标数据。

1.2 无需 Agent

笔者曾经接触过多款监控系统,他们有一个非常鲜明的共通点:安装 Agent 。Agent  的安装部署调试,需要花费大量的时间和精力。
HertzBeat 的原理就是使用不同的协议去直连对端系统,采用 PULL 的形式去拉取采集数据,无需用户在对端主机上部署安装  Agent | Exporter 等。
比如 监控 linux 操作系统,HertzBeat 端输入 IP 端口账户密码或密钥即可。
基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

2 Docker 安装

docker 环境仅需一条命令即可开始:
此时,浏览器访问 http://localhost:1157 即可开始,默认账号密码 admin/hertzbeat
基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能
  • 项目地址:https://github.com/YunaiV/yudao-cloud
  • 视频教程:https://doc.iocoder.cn/video/

3 监控 Redis 数据库

首先,我们尝试监控 Redis 数据库。进入缓存监控-Redis数据库 ,点击新增Redis数据库 按钮 。
点击确定后,会显示监控 Redis 列表:
点击监控详情图标,可以显示 Redis 监控信息:

4 监控 SpringBoot 服务

4.1 配置 Actuator

Spring Boot Actuator 是 Spring Boot 框架中的一个模块,它提供了一组用于监控和管理 Spring Boot 应用程序的功能。Actuator 模块为开发人员和运维团队提供了一些有用的端点(endpoints),可以通过 HTTP 或 JMX 进行访问,以获取应用程序的运行时信息、性能指标和健康状况等。
首先,我们在 SpringBoot 项目中添加 actuator 依赖。
应用配置如下:
访问 http://localhost:8080/actuator,查看暴露出来的端点:

4.2 应用程序监控

进入应用程序监控-SpringBoot2.0 ,点击新增SpringBoot2.0监控 按钮 。
点击确定后,会显示监控 SpringBoot2.0  列表:
点击监控详情图标,可以显示  SpringBoot2.0 监控信息:

5 报警配置

报警是监控系统中至关重要的功能,它为运维团队提供了实时的、即时的反馈,使其能够迅速响应和解决潜在的问题。
本节,我们展示如何发送邮件报警。
1、系统配置邮件服务器
2、定义通知媒介
通知媒介可以理解:谁接收告警信息,HertzBeat 定义了多种通知方式,比如邮件、钉钉、企业微信等。
3、定义通知策略
通知策略可以配置接收对象、通知模板、通知时间等。
4、模拟系统关闭
我们关闭掉 SpringBoot 服务后,监控中心会显示告警信息:
同时,笔者查看接收邮件里是否存在邮件。
笔者果然收到了系统不可用的邮件,邮件内容包括:监控目标、监控名、告警级别,触发时间等。
经过三天的探索,笔者感觉 HertzBeat 的界面清新,使用非常丝滑,开箱即用,推荐大家一试。

欢迎加入我的知识星球,全面提升技术能力。
👉 加入方式,长按”或“扫描”下方二维码噢
星球的内容包括:项目实战、面试招聘、源码解析、学习路线。
文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
继续阅读
阅读原文