Skip to main content

监控 Apache ShenYu API网关

对 ShenYu 网关的运行状态(JVM相关),请求响应等相关指标进行监测。

监控前操作

您需要在 ShenYu 网关开启metrics插件,暴露对应的 prometheus metrics 接口。

开启插件, 参考 官方文档

主要如下两步骤:

  1. 在网关的 pom.xml 文件中添加 metrics 的依赖。
        <dependency>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-spring-boot-starter-plugin-metrics</artifactId>
<version>${project.version}</version>
</dependency>
  1. 在网关的配置yaml文件中编辑如下内容:
shenyu:
metrics:
enabled: true #设置为 true 表示开启
name : prometheus
host: 127.0.0.1 #暴露的ip
port: 8090 #暴露的端口
jmxConfig: #jmx配置
props:
jvm_enabled: true #开启jvm的监控指标

最后重启访问网关指标接口 http://ip:8090 响应 prometheus 格式数据即可。

配置参数

参数名称参数帮助描述
监控Host被监控的对端IPV4,IPV6或域名。注意⚠️不带协议头(eg: https://, http://)。
任务名称标识此监控的名称,名称需要保证唯一性。
端口网关指标接口对外提供的端口,默认为8090。
超时时间HTTP请求响应超时时间
采集间隔监控周期性采集数据间隔时间,单位秒,可设置的最小间隔为30秒
是否探测新增监控前是否先探测检查监控可用性,探测成功才会继续新增修改操作
描述备注更多标识和描述此监控的备注信息,用户可以在这里备注信息

采集指标

指标集合:shenyu_request_total

指标名称指标单位指标帮助描述
value收集ShenYu网关的所有请求数量

指标集合:shenyu_request_throw_created

指标名称指标单位指标帮助描述
value收集ShenYu网关的异常请求数量

指标集合:process_cpu_seconds_total

指标名称指标单位指标帮助描述
value用户和系统CPU总计所用的秒数

指标集合:process_open_fds

指标名称指标单位指标帮助描述
value打开的文件描述符的数量

指标集合:process_max_fds

指标名称指标单位指标帮助描述
value打开的文件描述符的最大数量

指标集合:jvm_info

指标名称指标单位指标帮助描述
runtimeJVM 版本信息
vendorJVM 版本信息
versionJVM 版本信息

指标集合:jvm_memory_bytes_used

指标名称指标单位指标帮助描述
areaJVM 内存区域
valueMB给定 JVM 内存区域的已用大小

指标集合:jvm_memory_pool_bytes_used

指标名称指标单位指标帮助描述
poolJVM 内存池
valueMB给定 JVM 内存池的已用大小

指标集合:jvm_memory_pool_bytes_committed

指标名称指标单位指标帮助描述
poolJVM 内存池
valueMB给定 JVM 内存池的已提交大小

指标集合:jvm_memory_pool_bytes_max

指标名称指标单位指标帮助描述
poolJVM 内存池
valueMB给定 JVM 内存池的最大大小

指标集合:jvm_threads_state

指标名称指标单位指标帮助描述
state线程状态
value对应线程状态的线程数量