使用 HertzBeat 对 API 网关 Apache ShenYu 进行监控实践,5分钟搞定!
Apache ShenYu 介绍
Apache ShenYu 一个异步的,高性能的,跨语言的,响应式的 API 网关。
-
代理:支持Apache Dubbo,Spring Cloud,gRPC,Motan,SOFA,TARS,WebSocket,MQTT
-
安全性:签名,OAuth 2.0,JSON Web令牌,WAF插件
-
API治理:请求、响应、参数映射、Hystrix、RateLimiter插件
-
可观测性:跟踪、指标、日志记录插件
-
仪表板:动态流量控制,用户菜单权限的可视化后端
-
扩展:插件热插拔,动态加载
-
集群:NGINX、Docker、Kubernetes
-
语言:提供.NET,Python,Go,Java客户端用于API注册
HertzBeat 介绍
HertzBeat 是一款开源,易用友好的实时监控系统,无需Agent,拥有强大自定义监控能力。
支持对应用服务,数据库,操作系统,中间件,云原生等监控,阈值告警,告警通知(邮件微信钉钉飞书)。
HertzBeat 的强大自定义,多类型支持,易扩展,低耦合,希望能帮助开发者和中小团队快速搭建自有监控系统。
在 HertzBeat 5分钟搞定监控 Apache ShenYu
操作前提,您已拥有 ShenYu 环境和 HertzBeat 环境。
一. 在 ShenYu 端开启metrics插件,它将提供 metrics 接口数据。
插件是 Apache ShenYu 网关的核心执行者,指标数据采集在
ShenYu也是以插件的形式集成的 -Metrics插件。
Metrics插件是网关用来监控自身运行状态(JVM相关),请求响应等相关指标进行监测。
-
在网关的
pom.xml文件中添加metrics插件的依赖。
dependency>
groupId>org.apache.shenyugroupId>
artifactId>shenyu-spring-boot-starter-plugin-metricsartifactId>
version>${project.version}version>
dependency>
-
metric插件 采集默认是关闭的, 在网关的配置yaml文件中编辑如下内容:
shenyu:
metrics:
enabled: true #设置为 true 表示开启
name : prometheus
host: 127.0.0.1 #暴露的ip
port: 8090 #暴露的端口
jmxConfig: #jmx配置
props:
jvm_enabled: true #开启jvm的监控指标
-
重启 ShenYu网关, 打开浏览器或者用curl 访问
http://ip:8090, 就能看到metric数据了。
二. 在 HertzBeat 监控页面添加 ShenYu 监控
-
点击新增 ShenYu 监控
路径:菜单 -> 中间件监控 -> ShenYu监控 -> 新增ShenYu监控

-
配置监控 ShenYu 所需参数
在监控页面填写 ShenYu 服务IP,监控端口(默认8090),最后点击确定添加即可。
其他参数如采集间隔,超时时间等可以参考帮助文档 https://hertzbeat.com/docs/help/shenyu/

-
完成✅,现在我们已经添加好对 ShenYu 的监控了,查看监控列表即可看到我们的添加项。

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

-
点击监控历史详情TAB 即可浏览 ShenYu 的历史监控指标数据图表

