使用开源实时监控工具Hertzbeat来监视和警告SpringBoot2应用程序,并在5分钟内完成!
Hertzbeat简介
Hertzbeat是带有定制监控器和无代理的开源,实时监视工具。
监视+Alerter+Notify 全部。支持监视Web服务,数据库,OS,中间件,云本地,网络等。
更灵活的阈值规则(计算表达式),及时通知通过Discord
Slack
Telegram
DingDing
FeiShu
Webhook
Webhook
SMS
。我们制作的协议,例如
Http, Jmx, Ssh, Snmp, Jdbc
可配置,您只需要在线配置YML
即可收集所需的任何指标。
您是否相信只需在线配置?
HertzBeat
强大的自定义定义,多型支持,易于扩展,低耦合,希望帮助开发人员和微型团队快速建立自己的监视系统。
github:https://github.com/dromara/hertzbeat
5分钟内使用Hertzbeat监视SpringBoot2指标
先决条件,您已经拥有SpringBoot2应用程序环境和Hertzbeat环境。
1. actuator
指示器端点在SpringBoot2应用程序端公开,该端将提供指标端点数据。
- 开放的Springboot执行器端点露出
metrics health env
指示器接口
management:
endpoints:
web:
exposure:
include:
- 'metrics'
- 'health'
- 'env'
enabled-by-default: on
- 重新启动后,测试访问指示器接口
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监视UI中添加SpringBoot2应用程序监视
- 单击添加SpringBoot2监视
路径:菜单 - >应用程序服务监视 - > SpringBoot2->添加SpringBoot2监视
- 配置新监视SpringBoot2 所需的参数
填写SpringBoot2应用程序 PEER IP ,服务端口(默认8080),帐户密码等。最后单击确定添加。
有关其他参数,例如收集间隔,超时期等,请参阅帮助文档https://hertzbeat.com/docs/help/
- 完整 - 现在,我们添加了SpringBoot2应用程序的监视,请检查监视列表以查看我们的添加。
- 单击操作 - > 监视详细信息图标监视列表项目以浏览SpringBoot2应用程序的实时监视指示器数据。
- 单击监视历史详细信息选项卡浏览Springboot2 Application的历史监视指标数据图。
完成了!完毕!它不需要我们部署代理商或各种繁琐的操作,不是很简单
- 只有一个步骤来配置Hertzbeat监视页面上的IP端口并添加SpringBoot2应用程序监视
通过上面,我们完成了SpringBoot2应用程序的监视。我们可以随时在Hertzbeat中检查SpringBoot2应用程序的各种指标的状态和可用性。
当然,不可能实时手动检查指标。监视通常伴随警报阈值。当SpringBoot2应用程序的性能指标超过我们的阈值或SpringBoot2应用程序本身异常时,我们可以立即通知我们的相应负责人。负责人会收到通知并处理通知。 ,这是一个完整的监视和警报过程。
接下来,我们将逐步演示如何在Hertzbeat系统中配置阈值警报通知。当SpringBoot2应用程序的指标异常时,我们将在时间上通知我们
3.在Hertzbeat系统中添加SpringBoot2应用指示器阈值警报
- 为重要指示器配置警报阈值
路径:菜单 - >阈值规则 - >添加阈值
- 选择配置的指示对象。 SpringBoot2应用程序监视主要关注堆栈内存线和其他相关指标。例如,我们设置指示器
threads
->threads
的阈值。当runnable
状态中的线程数大于300时发出警报时。 - 在这里,我们配置要在此指示器的
state
的size
时发送警报,警报级别为警告警报,该警报将被触发,该警报将被触发3次,特别是如下所示。 。
- 添加消息通知收件人
配置接收器以让警报消息知道要发送谁以及如何发送。
路径:菜单 - >警报通知 - >警报收件人 - >添加新收件人
消息通知方法支持电子邮件,dingtalk,微信工作,feishu,webhook,sms 等。在这里,我们以常用的dingtalk为例。
- 请参阅此Help Documentation https://hertzbeat.com/docs/help/alert_dingtalk以在dingtalk上配置机器人并设置安全自定义关键字
HertzBeat
,获取相应的access_token
值。 - 在Hertzbeat中配置接收器参数如下。
starmand Notification->ã新收件人 - >ã选择dingtalk Robot Notification Metage方法 - >âset dingtalk robotAccess_tokenã-
- 配置关联的警报通知策略 - [添加通知策略] - > [将收件人设置为设置] - > [ok]
配置警报通知策略以将警报消息与接收者绑定,以便您可以决定发送到哪些警报。
完成,现在等待警告消息来了。丁丁丁
[HertzBeat warning notification]
Alarm target object: springboot2.threads.size
Affiliated monitoring ID: 483783444839322
Belonging monitoring name: SPRINGBOOT2_localhost
Alarm level: warning alarm
Alarm trigger time: 2023-03-22 21:13:44
Content details: The springboot2 service's runnable state threads num is over 300, now is 444.
概括
这篇实用的文章带我们来体验了如何使用开源实时监控工具HertzBeat监视SpringBoot2应用程序指示器数据。我们可以发现集成
monitoring-alarm-notification
的Hertzbeat在操作和使用方面更方便,只需在页面上单击SpringBoot2应用程序,可以将SpringBoot2应用程序包含在监视和警报通知中,以及部署多个组件和编写配置文件的繁琐操作不再需要。只需要一个docker命令来安装和体验心跳:
docker run -d -p 1157:1157 --name hertzbeat tancloud/hertzbeat
更加强大
通过上面的简单步骤,我们已经意识到了SpringBoot2的监视,但是其中内置的指示器无法满足需求。我们可以自定义和监视SpringBoot2的更多指标吗?答案当然是是的,通过监视定义> springboot2 在页面上,您可以通过编辑以下YML配置文件来自定义和修改要监视的性能指标随时。
什么是Hertzbeat?
HertzBeat是带有自定义监护剂和代理的开源,实时监控工具。
Monitor+Alerter+Notify 全部。支持监视Web服务,数据库,OS,中间件,云本地,网络等。
更灵活的阈值规则(计算表达式),及时通知通过Discord
Slack
Telegram
DingDing
FeiShu
Webhook
Webhook
SMS
。我们制作的协议,例如
Http, Jmx, Ssh, Snmp, Jdbc
可配置,您只需要在线配置YML
即可收集所需的任何指标。
您是否相信只需在线配置?
HertzBeat
强大的自定义定义,多型支持,易于扩展,低耦合,希望帮助开发人员和微型团队快速建立自己的监视系统。
支持
- 站点监视器,端口可用性,HTTP API,PING连接,JVM,SiteMap完整站点,SSL证书,Springboot,FTP服务器
- mysql,Postgresql,Mariadb,Redis,Elasticsearch,SQLServer,Oracle,Mongodb,Damon,OpenGauss,Clickhouse,clickhouse,iotdb,redis cluster
- Linux,Ubuntu,Centos,Windows
- tomcat,Nacos,Zookeeper,RabbitMQ,Flink,Kafka,Shenyu,DynamiTCTP,Jetty,Activemq
- kubernetes,docker
- 华为开关,HPE开关,TP-Link Switch,Cisco Switch
- 以及您的自定义监控。
- 通知支持
Discord
Slack
Telegram
Mail
Pinning
WeChat
FlyBook
SMS
Webhook
。
github:https://github.com/dromara/hertzbeat
gitee:https://gitee.com/dromara/hertzbeat