Skip to main content
Version: Next

Custom Metrics Monitor

Explanation#

  • Before custom development, please customize and build the gateway environment first, please refer to: custom deployment

  • This article describes how to customize the extension of org.apache.shenyu.plugin.metrics.spi.MetricsService.

Extension#

  • Create a new project and introduce the following dependencies:
<dependencies>    <dependency>        <groupId>org.apache.shenyu</groupId>        <artifactId>shenyu-plugin-base</artifactId>        <version>${project.version}</version>    </dependency></dependencies>
  • Create a new class ${you class},implements org.apache.shenyu.plugin.metrics.spi.MetricsService
public class ${you class} implements MetricsService {       /**     * Start metrics tracker.     *     * @param metricsConfig metrics config     * @param metricsRegister the metrics register     */    public void start(MetricsConfig metricsConfig, MetricsRegister metricsRegister){                //your code    }        /**     * Stop metrics tracker.     */    public void stop() {        //your code    }}
  • In the project resources directory,Create a new META-INF/shenyu directory, and the new file name is : org.apache.shenyu.plugin.metrics.spi.MetricsService. add ${you spi name} = ${you class path}:
${you spi name} = ${you class path}
  • Package the project and copy it to the lib or ext-lib directory of the gateway (bootstrap-bin).

  • In the Admin service ---> BasicConfig ---> Plugin , Find the Monitor plugin, edit config, pay attention to the metricsName name: ${you spi name}.