我们经常讲:研发人员有两只眼睛,张图一只是门实监控平台 ,另一只是时监日志平台
。在对性能和高可用讲究的控系场景里 ,监控平台的张图重要性再怎么强调也不过分 。 这篇文章
,门实我们聊聊开源实时监控告警系统 HertzBeat 赫兹跳动
。时监 HertzBeat 有两个非常鲜明的控系特色
:强大的监控模版和无需 Agent
。 HertzBeat 自身并没有去创造一种采集数据协议让监控对端来适配它 ,而是模板下载门实充分使用了现有的生态。比如: HertzBeat 使用这些已有的时监标准协议或规范,将他们抽象规范可配置化,控系最后使其都可以通过编写YML格式监控模版的张图形式,来制定模版使用这些协议来采集任何想要的门实指标数据。 笔者曾经接触过多款监控系统,时监他们有一个非常鲜明的共通点:安装 Agent
。Agent 的安装部署调试,需要花费大量的时间和精力
。服务器租用 HertzBeat 的原理就是使用不同的协议去直连对端系统 ,采用 PULL 的形式去拉取采集数据 ,无需用户在对端主机上部署安装 Agent | Exporter 等。 比如 监控 linux 操作系统,HertzBeat 端输入 IP 端口账户密码或密钥即可。 docker 环境仅需一条命令即可开始: 此时,浏览器访问 http://localhost:1157 即可开始 ,默认账号密码 admin/hertzbeat
。 首先
,我们尝试监控 Redis 数据库。进入缓存监控-Redis数据库 ,点击新增Redis数据库按钮
。云计算 点击确定后,会显示监控 Redis 列表: 点击监控详情图标 ,可以显示 Redis 监控信息
: Spring Boot Actuator 是 Spring Boot 框架中的一个模块,它提供了一组用于监控和管理 Spring Boot 应用程序的功能 。Actuator 模块为开发人员和运维团队提供了一些有用的端点(endpoints),可以通过 HTTP 或 JMX 进行访问,以获取应用程序的运行时信息、性能指标和健康状况等。 首先
,我们在 SpringBoot 项目中添加 actuator 依赖。 应用配置如下: 访问 http://localhost:8080/actuator,源码下载查看暴露出来的端点: 进入应用程序监控-SpringBoot2.0 ,点击新增SpringBoot2.0监控按钮 。 点击确定后 ,会显示监控 SpringBoot2.0 列表: 点击监控详情图标,可以显示 SpringBoot2.0 监控信息
: 报警是监控系统中至关重要的功能
,它为运维团队提供了实时的、即时的反馈,使其能够迅速响应和解决潜在的问题。 本节 ,我们展示如何发送邮件报警
。免费模板 通知媒介可以理解:谁接收告警信息 ,HertzBeat 定义了多种通知方式,比如邮件、钉钉、企业微信等 。 通知策略可以配置接收对象
、通知模板、通知时间等 。 我们关闭掉 SpringBoot 服务后,监控中心会显示告警信息: 同时
,笔者查看接收邮件里是否存在邮件
。 笔者果然收到了系统不可用的邮件
,邮件内容包括:监控目标、监控名
、高防服务器告警级别,触发时间等
。 经过三天的探索,笔者感觉 HertzBeat 的界面清新 ,使用非常丝滑,开箱即用,推荐大家一试
。
图片1 产品特色
1.1 强大的张图监控模版
图片1.2 无需 Agent
2 Docker 安装
图片
图片3 监控 Redis 数据库
图片
图片
图片4 监控 SpringBoot 服务
4.1 配置 Actuator
图片
图片
图片4.2 应用程序监控
图片
图片
图片5 报警配置
5.1 系统配置邮件服务器
图片5.2 定义通知媒介
图片5.3 定义通知策略
图片
图片5.4 模拟系统关闭
图片
图片
图片