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

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

1 配置 Actuator

Spring Boot Actuator 是 Spring Boot 框架中的一个模块,它提供了一组用于监控和管理 Spring Boot 应用程序的功能。Actuator 模块为开发人员和运维团队提供了一些有用的端点(endpoints),可以通过 HTTP 或 JMX 进行访问,以获取应用程序的运行时信息、性能指标和健康状况等。

首先,我们在 SpringBoot 项目中添加 actuator 依赖。

应用配置如下:

访问 http://localhost:8080/actuator,查看暴露出来的端点:

2 应用程序监控

进入应用程序监控-SpringBoot2.0 ,点击新增SpringBoot2.0监控按钮 。

点击确定后,会显示监控 SpringBoot2.0 列表:

点击监控详情图标,可以显示 SpringBoot2.0 监控信息:

5 报警配置

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

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

1、系统配置邮件服务器

2、定义通知媒介

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

3、定义通知策略

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

4、模拟系统关闭

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

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

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


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

同时,监控系统的核心在于架构设计、数据流转、时序数据库等知识点,假如您希望了解这些知识点,请帮忙点赞、在看、转发一下。

你的支持会激励我输出更高质量的文章,非常感谢!

十八张图带你入门实时监控系统HertzBeat的更多相关文章

  1. 转: 透过CAT,来看分布式实时监控系统的设计与实现

    评注: 开源的分布式监控系统 转:http://www.infoq.com/cn/articles/distributed-real-time-monitoring-and-control-syste ...

  2. 透过CAT,来看分布式实时监控系统的设计与实现

    2011年底,我加入大众点评网,出于很偶然的机会,决定开发CAT,为各个业务线打造分布式实时监控系统,CAT的核心概念源自eBay闭源系统CAL----eBay的几大法宝之一. 在当今互联网时代,业务 ...

  3. 项目-基于视频压缩的实时监控系统--tiny6410

    项目-基于视频压缩的实时监控系统--tiny6410 @国嵌linux学习笔记. 1. 构造服务端结构体 server struct server { int epfd; //保存epoll指针 st ...

  4. Telegraf+InfluxDB+Grafana快速搭建实时监控系统 监控postgresql

    Telegraf+InfluxDB+Grafana快速搭建实时监控系统  监控postgresql

  5. python3 主机实时监控系统

    主机实时监控系统(可在局域网访问) 一.思路: 前端: 1.管理员登录(编写一个管理员登录界面) 技术:html+css 2.资源数据显示(用于显示主机资源数据情况) 插件:echarts+jquer ...

  6. 【转】点评cat高可用实时监控系统

    CAT总体介绍CAT(Central Application Tracking)是由吴其敏(前大众点评首席架构师,现携程架构负责人)主导设计基于Java开发打造的实时应用监控平台,为大众点评网提供了全 ...

  7. 一步步教你用Prometheus搭建实时监控系统系列(一)——上帝之火,普罗米修斯的崛起

    上帝之火 本系列讲述的是开源实时监控告警解决方案Prometheus,这个单词很牛逼.每次我都能联想到带来上帝之火的希腊之神,普罗米修斯.而这个开源的logo也是火,个人挺喜欢这个logo的设计. 本 ...

  8. 基于邮件系统的远程实时监控系统的实现 Python版

    人生苦短,我用Python~ 界内的Python宣传标语,对Python而言,这是种标榜,实际上,Python确实是当下最好用的开发语言之一. 在相继学习了C++/C#/Java之后,接触Python ...

  9. 大众点评实时监控系统CAT的那些坑

    首先,感谢大众点评开源监控系统CAT.CAT是一款非常使用的功能建全的监控系统.作为一个知名的开源软件,真的是太差了. 想把CAT用起来,没有多年的Java经验是不行的.先吐槽一下,再写一篇如何用的文 ...

  10. 一步步教你用Prometheus搭建实时监控系统系列(二)——详细分析拉取和推送两种不同模式

    前言 本系列着重介绍Prometheus以及如何用它和其周边的生态来搭建一套属于自己的实时监控告警平台. 本系列受众对象为初次接触Prometheus的用户,大神勿喷,偏重于操作和实战,但是重要的概念 ...

随机推荐

  1. Liunx常用操作(六)-压缩与解压缩(打包/解包)

    liunx上面的压缩与解压缩(打包/解包)有以下几种命令可以实现 源文件001.txt 如下: 一.zip 特点:方便的与Windows之间通用 打包命令: zip 001.zip 001.txt 解 ...

  2. Python 学习笔记: 从变量到装饰器

    从变量开始 python 中全局变量在函数作用域内只能读,不能"写".如果要在函数作用域内实现修改全局变量值操作,需要使用关键字 global 显示指明该变量是全局变量. 但是,在 ...

  3. [javaee] - tomcat 下载和配置环境变量

    以tomcat9为例 第一步 :下载到本地并解压文件 解压后: 第二步:配置环境变量,在系统变量中添加  CATALINE_HOME  ,路径为tomcat的目录 启动tomcat , 启动之后不要关 ...

  4. java - 创建文件

    package practice; import java.io.File; import java.io.IOException; public class CreateFile { public ...

  5. Linux-目录-cd-mdkir-rm-ls-pwd

  6. Python学习之十四_Python连接各种数据库的方法(DM,oscar,Oracle,SQLSERVER,MYSQL,PG,Kingbase

    Python学习之十四_Python连接各种数据库的方法(DM,oscar,Oracle,SQLSERVER,MYSQL,PG,Kingbase) 前言 想着能够使用多种数据库进行一些操作. 所以本文 ...

  7. [转帖]OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]

    classes12.jar,ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别,之间的差异 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle  ...

  8. [转帖]Shell脚本数组(实现冒泡排序,直接选择排序,反转排序)

    目录 数组 数组定义方法 数组包括的数据类型 获取数组长度 读取某下标赋值 数组遍历 数组切片 数组替换 删除数组 追加数组中的元素 从函数返回数组 加法传参运算 乘法传参运算 数组排序算法 冒泡排序 ...

  9. [转帖]Linux—vi/vim批量注释及取消注释

    https://www.jianshu.com/p/45c252e9d2b6 应用场景   在开发场景中,经常遇到对一些配置文件进行注释,当然如果确定不用的时候我们可以通过vim中的D命令进行删除.当 ...

  10. [转帖]如何升级vCenter(VCSA)补丁?

    https://www.dinghui.org/upgrade-vcsa-patch.html VCSA的升级分为repo源和iso镜像两种方式,由于使用repo源进行升级只支持HTTPS和FTPS协 ...