Erlo

使用 HertzBeat 对 API 网关 Apache ShenYu 的监控实践

2023-01-09 12:30:36 发布   227 浏览  
页面报错/反馈
收藏 点赞

使用 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相关),请求响应等相关指标进行监测。

  1. 在网关的 pom.xml 文件中添加 metrics插件 的依赖。

        dependency>
            groupId>org.apache.shenyugroupId>
            artifactId>shenyu-spring-boot-starter-plugin-metricsartifactId>
            version>${project.version}version>
        dependency>
  1. metric插件 采集默认是关闭的, 在网关的配置yaml文件中编辑如下内容:

shenyu:
  metrics:
    enabled: true  #设置为 true 表示开启
    name : prometheus 
    host: 127.0.0.1 #暴露的ip
    port: 8090 #暴露的端口
    jmxConfig: #jmx配置
    props:
      jvm_enabled: true #开启jvm的监控指标
  1. 重启 ShenYu网关, 打开浏览器或者用curl 访问 http://ip:8090, 就能看到metric数据了。

二. 在 HertzBeat 监控页面添加 ShenYu 监控

  1. 点击新增 ShenYu 监控

路径:菜单 -> 中间件监控 -> ShenYu监控 -> 新增ShenYu监控

  1. 配置监控 ShenYu 所需参数

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

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

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

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

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认