本文最后更新于 2024-08-30,文章内容已经超过7天没更新了。

对于某些不复杂的监控需求,我们可以简单的进行配置来达到定制化监控的效果,一共有两种方式

  1. 配置文件

  2. 插件配置

第一种方法在服务重启之后需要重新配置,第二种方法是自动配置,但是需要做额外的代码开发

一、配置文件

以配置文件形式配置简单的监控

一共有两种方式:

  • Add new:可以按照固定的配置提示,手动输入添加监控

  • import:通过导入json格式的配置,更加灵活

导入之后重启应用或者使用热部署生效

二、插件配置

相对于第一中配置的方法,通过嵌入插件配置来添加监控的方法可以做到自动部署,不用在服务重启的时候手动配置,这种方法是打包在glowroot jar包中,可以做到自动加载,自动监控

首先,打开源码,进入 agent/plugins目录下,新建一个模块

glowroot.plugin.json内容配置如下

{
  "name": "Example Plugin",
  "id": "example",
  "instrumentation": [
    {
      "className": "com.example.glowrootdemo1.demo.ExampleClass",
      "methodName": "run",
      "methodParameterTypes": [
        ".."
      ],
      "captureKind": "transaction",
      "transactionType": "Web",
      "transactionNameTemplate": "ExampleClass",
      "timerName": "ExampleClass Execute",
      "traceEntryMessageTemplate": "{{methodName}}"
    }
  ]
}

instrumentation的配置和手动配置的一样

最后在dist目录的pom.xml引入这个模块

<dependency>
    <groupId>org.glowroot</groupId>
    <artifactId>glowroot-agent-example-plugin</artifactId>
    <version>${project.version}</version>
</dependency>

重新打包,部署即可