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

HertzBeat 介绍

HertzBeat 是一款开源,易用敌对的实时监控工具,无需Agent,领有弱小自定义监控能力。
  • 监控-告警-告诉为一体,反对对应用服务,数据库,操作系统,中间件,云原生,网络等监控,阈值告警,告警告诉(邮件微信钉钉飞书短信 Slack Discord Telegram)。
  • 其将Http,Jmx,Ssh,Snmp,Jdbc等协定标准可配置化,只需配置YML就能应用这些协定去自定义采集任何您想要采集的指标。您置信只需配置YML就能立即适配一个K8s或Docker等新的监控类型吗?
  • HertzBeat 的弱小自定义,多类型反对,易扩大,低耦合,心愿能帮忙开发者和中小团队疾速搭建自有监控零碎。

Github: https://github.com/dromara/hertzbeat

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

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

  • HertzBeat 装置部署文档 https://hertzbeat.com/docs/start/docker-deploy

一. 在 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),账户明码等,最初点击确定增加即可。
其余参数如采集距离超时工夫等能够参考帮忙文档 https://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,stateequals(state,"runnable"") && size>300 时收回告警,告警级别为正告告警,三次即触发,具体如下图。

  1. 新增音讯告诉接管人
配置接管人,让告警音讯晓得要发给谁,用什么形式发。

门路:菜单 -> 告警告诉 -> 告警接管人 -> 新增接管人

音讯告诉形式反对 邮件,钉钉,企业微信,飞书,WebHook,短信等,咱们这里以罕用的钉钉为例。

  • 参照此 帮忙文档 https://hertzbeat.com/docs/help/alert_dingtalk 在钉钉端配置机器人,设置平安自定义关键词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: https://github.com/dromara/hertzbeat
Gitee: https://gitee.com/dromara/hertzbeat

⛄ 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