⭐⭐⭐ Spring Boot 项目实战 ⭐⭐⭐ Spring Cloud 项目实战
《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 勇哥Java实战 「勇哥」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注微信公众号:【芋道源码】有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
  4. 新的源码解析文章实时收到通知。每周更新一篇左右。
  5. 认真的源码交流微信群。

我们经常讲:研发人员有两只眼睛,一只是监控平台,另一只是日志平台。在对性能和高可用讲究的场景里,监控平台的重要性再怎么强调也不过分。

这篇文章,我们聊聊开源实时监控告警系统 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 端口账户密码或密钥即可。

2 Docker 安装

docker 环境仅需一条命令即可开始:

此时,浏览器访问 http://localhost:1157 即可开始,默认账号密码 admin/hertzbeat。

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 的界面清新,使用非常丝滑,开箱即用,推荐大家一试。

文章目录
  1. 1. 1 产品特色
    1. 1.0.1. 1.1 强大的监控模版
    2. 1.0.2. 1.2 无需 Agent
  • 2. 2 Docker 安装
  • 3. 3 监控 Redis 数据库
  • 4. 4 监控 SpringBoot 服务
    1. 4.0.1. 4.1 配置 Actuator
    2. 4.0.2. 4.2 应用程序监控
  • 5. 5 报警配置