关于后端:使用-HertzBeat-5分钟搞定-SpringBoot2-监控告警

34次阅读

共计 4030 个字符,预计需要花费 11 分钟才能阅读完成。

应用开源实时监控工具 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

正文完
 0