使用 HertzBeat 5分钟搞定 SpringBoot2 监控告警

本文介绍了如何使用开源工具HertzBeat对SpringBoot2应用进行实时监控和告警设置。通过开启SpringBoot2的Actuator接口,配置HertzBeat的监控参数,以及设置阈值告警和通知接收人,实现快速监控和异常提醒。HertzBeat以其强大的自定义能力和易用性,简化了监控系统的搭建过程。
部署运行你感兴趣的模型镜像

使用开源实时监控工具 HertzBeat 对 SpringBoot2 应用的监控告警实践,5分钟搞定!

HertzBeat 介绍

HertzBeat 是一款开源,易用友好的实时监控工具,无需Agent,拥有强大自定义监控能力。

  • 监控-告警-通知为一体,支持对应用服务,数据库,操作系统,中间件,云原生,网络等监控,阈值告警,告警通知(邮件微信钉钉飞书短信 Slack Discord Telegram)。
  • 其将Http,Jmx,Ssh,Snmp,Jdbc等协议规范可配置化,只需配置YML就能使用这些协议去自定义采集任何您想要采集的指标。您相信只需配置YML就能立刻适配一个K8s或Docker等新的监控类型吗?
  • HertzBeat 的强大自定义,多类型支持,易扩展,低耦合,希望能帮助开发者和中小团队快速搭建自有监控系统。

Github: github.com/dromara/her…

在 HertzBeat 5分钟搞定对 SpringBoot2 应用的监控

操作前提,您已拥有 SpringBoot2 应用环境和 HertzBeat 环境。

一. 在 SpringBoot2 应用端暴露出actuator指标接口,它将提供 metrics 接口数据。

  1. 开启 SpringBoot Actuator Endpoint 暴露出metrics health env指标接口
management:
  endpoints:
    web:
      exposure:
        include:
          - 'metrics'
          - 'health'
          - 'env'
    enabled-by-default: on
复制代码
  1. 重启后测试访问指标接口 ip:port/actuator 是否有响应json数据如下:
{
  "_links": {
    "self": {
      "href": "http://localhost:1157/actuator",
      "templated": false
    },
    "health-path": {
      "href": "http://localhost:1157/actuator/health/{*path}",
      "templated": true
    },
    "health": {
      "href": "http://localhost:1157/actuator/health",
      "templated": false
    },
    "env": {
      "href": "http://localhost:1157/actuator/env",
      "templated": false
    },
    "env-toMatch": {
      "href": "http://localhost:1157/actuator/env/{toMatch}",
      "templated": true
    },
    "metrics-requiredMetricName": {
      "href": "http://localhost:1157/actuator/metrics/{requiredMetricName}",
      "templated": true
    },
    "metrics": {
      "href": "http://localhost:1157/actuator/metrics",
      "templated": false
    }
  }
}
复制代码

在开源监控系统 HertzBeat 监控页面添加对 SpringBoot2 应用监控

  1. 点击新增 SpringBoot2 监控

路径:菜单 -> 应用服务监控 -> SpringBoot2 -> 新增SpringBoot2监控

  1. 配置新增监控 SpringBoot2 所需参数

在监控页面填写 SpringBoot2应用 对端IP服务端口(默认8080),账户密码等,最后点击确定添加即可。
其他参数如采集间隔超时时间等可以参考帮助文档 hertzbeat.com/docs/help/

  1. 完成✅,现在我们已经添加好对 SpringBoot2应用 的监控了,查看监控列表即可看到我们的添加项。

  1. 点击监控列表项的操作->监控详情图标 即可浏览 SpringBoot2应用 的实时监控指标数据。

  1. 点击监控历史详情TAB 即可浏览 SpringBoot2应用 的历史监控指标数据图表📈。

DONE!完成啦!不需要我们去部署agent或者各种繁琐操作,是不是很简单

  • 只需一步在 HertzBeat 监控页面配置IP端口添加 SpringBoot2应用 监控即可

通过上面我们就完成了对 SpringBoot2应用 的监控,我们可以在 HertzBeat 随时查看SpringBoot2应用的各种指标状态和可用性。
当然不可能人工一直实时查看指标,监控往往伴随着告警阈值,当 SpringBoot2应用 的性能指标超出我们的阈值或SpringBoot2应用本身异常时,能及时的通知到我们对应的负责人,负责人收到通知处理,这样才是一个完整的监控告警流程。

接下来我们就来一步一步演示如何配置 HertzBeat 系统里的阈值告警通知,当 SpringBoot2应用 的指标异常时,及时通知给我们

三. 在 HertzBeat 系统添加 SpringBoot2应用 指标阈值告警

  1. 对某个重要指标配置告警阈值

路径:菜单 -> 阈值规则 -> 新增阈值

  • 选择配置的指标对象,SpringBoot2应用 监控主要是 堆栈内存 线程等相关指标,我们举例对 状态线程数 threads -> threads 这个指标进行阈值设置, 当runnable状态的线程数量大于300时发出告警。
  • 这里我们就配置当此指标size,state 的 equals(state,"runnable"") && size>300 时发出告警,告警级别为警告告警,三次即触发,具体如下图。

  1. 新增消息通知接收人

配置接收人,让告警消息知道要发给谁,用什么方式发。

路径:菜单 -> 告警通知 -> 告警接收人 -> 新增接收人

消息通知方式支持 邮件,钉钉,企业微信,飞书,WebHook,短信等,我们这里以常用的钉钉为例。

  • 参照此 帮助文档 hertzbeat.com/docs/help/a… 在钉钉端配置机器人,设置安全自定义关键词HertzBeat,获取对应access_token值。
  • 在 HertzBeat 配置接收人参数如下。

【告警通知】->【新增接收人】 ->【选择钉钉机器人通知方式】->【设置钉钉机器人ACCESS_TOKEN】-> 【确定】

  1. 配置关联的告警通知策略⚠️ 【新增通知策略】-> 【将刚设置的接收人关联】-> 【确定】

配置告警通知策略,让告警消息与接收人绑定,这样就能决定哪些告警发给哪个人。

完毕,现在坐等告警消息过来啦。叮叮叮叮

[HertzBeat告警通知]
告警目标对象 : springboot2.threads.size
所属监控ID : 483783444839322
所属监控名称 : SPRINGBOOT2_localhost
告警级别 : 警告告警
告警触发时间 : 2023-03-22 21:13:44
内容详情 : The springboot2 service's runnable state threads num is over 300, now is 444.
复制代码

小结

:::tip 这篇实践文章带我们体验了如何使用开源实时监控工具 HertzBeat 来监控 SpringBoot2应用 指标数据,可以发现集 监控-告警-通知 的 HertzBeat 在操作与使用方面更加的便捷,只需页面上简单点一点就能把 SpringBoot2应用 纳入监控并告警通知,再也不需要部署多个组件编写配置文件那些繁琐操作了。
:::

只需要一条docker命令即可安装体验heartbeat:

docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat

更强大

通过上面的简单步骤我们实现了对SpringBoot2的监控,但里面的内置指标固定不满足需要,是否能自定义监控更多SpringBoot2的指标呢?答案当然是可以的,通过在页面上的监控定义->SpringBoot2随时通过编辑如下的YML配置文件自定义添加修改想要监控的性能指标。

What is HertzBeat?

HertzBeat赫兹跳动 是一个拥有强大自定义监控能力,无需Agent的实时监控告警工具。应用服务,数据库,操作系统,中间件,云原生,网络等监控,阈值告警,告警通知(邮件微信钉钉飞书短信 Discord Slack Telegram)。

我们将Http,Jmx,Ssh,Snmp,Jdbc等协议规范可配置化,只需配置YML就能使用这些协议去自定义采集任何您想要采集的指标。
您相信只需配置YML就能立刻适配一个K8s或Docker等新的监控类型吗?

HertzBeat的强大自定义,多类型支持,易扩展,低耦合,希望能帮助开发者和中小团队快速搭建自有监控系统。

Github: github.com/dromara/her…
Gitee: gitee.com/dromara/her…

⛄ Supported

  • 网站监控, 端口可用性, Http Api, Ping连通性, Jvm, SiteMap全站, Ssl证书, SpringBoot, FTP服务器
  • Mysql, PostgreSQL, MariaDB, Redis, ElasticSearch, SqlServer, Oracle, MongoDB, 达梦, OpenGauss, ClickHouse, IoTDB
  • Linux, Ubuntu, CentOS, Windows
  • Tomcat, Nacos, Zookeeper, RabbitMQ, Flink, Kafka, ShenYu, DynamicTp, Jetty, ActiveMQ
  • Kubernetes, Docker
  • CiscoSwitch, HpeSwitch, HuaweiSwitch, TpLinkSwitch
  • 和更多的自定义监控。
  • 通知支持 Discord Slack Telegram 邮件 钉钉 微信 飞书 短信 Webhook

您可能感兴趣的与本文相关的镜像

Kotaemon

Kotaemon

AI应用

Kotaemon 是由Cinnamon 开发的开源项目,是一个RAG UI页面,主要面向DocQA的终端用户和构建自己RAG pipeline

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值