十八张图带你入门实时监控系统HertzBeat

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

这篇文章,门实我们聊聊开源实时监控告警系统 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 报警配置

报警是监控系统中至关重要的功能 ,它为运维团队提供了实时的 、即时的反馈,使其能够迅速响应和解决潜在的问题。

本节,我们展示如何发送邮件报警。源码下载

5.1 系统配置邮件服务器

图片

5.2 定义通知媒介

图片

通知媒介可以理解 :谁接收告警信息,HertzBeat 定义了多种通知方式 ,比如邮件、钉钉、企业微信等 。

5.3 定义通知策略

图片

图片

通知策略可以配置接收对象 、通知模板、通知时间等。

5.4 模拟系统关闭

我们关闭掉 SpringBoot 服务后,监控中心会显示告警信息 :

图片

同时  ,笔者查看接收邮件里是否存在邮件 。

图片

图片

笔者果然收到了系统不可用的邮件 ,邮件内容包括 :监控目标 、监控名、模板下载告警级别,触发时间等。

经过三天的探索 ,笔者感觉 HertzBeat 的界面清新 ,使用非常丝滑,开箱即用 ,推荐大家一试。

系统运维
上一篇:Web和移动安全之​​​基本概念和方法
下一篇:JAVA安全之CVE-2020-1938复现和分析