自定义指标监控

说明

  • 在自定义开发前,请先自定义搭建好网关环境,请参考: 自定义部署

  • 本文介绍如何对 org.apache.shenyu.plugin.metrics.spi.MetricsService 进行自定义扩展。

扩展实现

  • 新建一个工程,引入如下依赖:
  1. <dependencies>
  2. <dependency>
  3. <groupId>org.apache.shenyu</groupId>
  4. <artifactId>shenyu-plugin-base</artifactId>
  5. <version>${project.version}</version>
  6. </dependency>
  7. </dependencies>
  • 新增一个类 ${you class},实现 org.apache.shenyu.plugin.metrics.spi.MetricsService
  1. public class ${you class} implements MetricsService {
  2. /**
  3. * Start metrics tracker.
  4. *
  5. * @param metricsConfig metrics config
  6. * @param metricsRegister the metrics register
  7. */
  8. public void start(MetricsConfig metricsConfig, MetricsRegister metricsRegister){
  9. //自定义监控逻辑
  10. }
  11. /**
  12. * Stop metrics tracker.
  13. */
  14. public void stop() {
  15. //自定义关闭逻辑
  16. }
  17. }
  • 在项目 resources 目录下,新建 META-INF/shenyu 目录, 并且新增文件名为 : org.apache.shenyu.plugin.metrics.spi.MetricsService. 内容新增 ${you spi name} = ${you class path}:
  1. ${you spi name} = ${you class path}
  • 将工程打包,拷贝到网关 (bootstrap-bin) 的 libext-lib 目录。

  • Admin 后台 —-> 基础管理 —-> 插件管理 , 找到 Monitor 插件,编辑插件信息,注意`metricsName要为: ${you spi name}`。

    自定义指标监控 - 图1