首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Micrometer只向GCP Monitoring发布自定义指标,而不是自动检测指标?

Micrometer只向GCP Monitoring发布自定义指标,而不是自动检测指标?
EN

Stack Overflow用户
提问于 2021-09-13 23:25:02
回答 1查看 195关注 0票数 1

我运行了这个示例https://quarkus.io/guides/micrometer (微米快速入门目录),它同时使用Quarkus和微米。该示例使用普罗米修斯作为MeterRegistry,但我将其更改为使用StackdriverMeterRegistry,希望在普罗米修斯中显示的相同自动工具将出现在Google Cloud Monitoring中。

然而,我只看到我制作的自定义指标出现在Google Cloud Monitoring中,而不是micrometer提供的自动工具。

我不确定我是否应该认为这只是微米StackdriverMeterRegistry库本身的问题,或者我做错了什么。任何指导都是值得感谢的。

代码更改:

代码语言:javascript
复制
        // Update the constructor to create the gauge
    ExampleResource(MeterRegistry registry) {
        /* Code for micrometer */
        StackdriverConfig stackdriverConfig = new StackdriverConfig() {
            @Override
            public String projectId() {
                return "projectId";
            }

            @Override
            public String get(String key) {
                return null;
            }
        };
        this.registry = StackdriverMeterRegistry.builder(stackdriverConfig).build();
        registry.config().commonTags("application", "projectId");
        registry.gaugeCollectionSize("example.list.size", Tags.empty(), list);
    }

添加到pom.xml

代码语言:javascript
复制
        <dependency>
            <groupId>io.micrometer</groupId>
            <artifactId>micrometer-registry-stackdriver</artifactId>
        </dependency>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-22 07:36:31

经过修修补补并直接与测微仪团队交谈后,我发现了问题所在。文档有点混乱,但是我错误地导入了StackDriver扩展,用于quarkus项目的默认注册表获得了所有的自动检测,而不是StackDriver。因此,需要将此默认注册表更改为StackDriver注册表。

我已经上传了一起使用Quarkus StackDriver和测微仪的基本示例,使用在测微仪Quarkus文档页面上找到的基本示例。

https://github.com/jayleenli/quarkus-micrometer-stackdriver-quickstart

更改:

添加到pom.xml

代码语言:javascript
复制
    <dependency>
      <groupId>io.quarkus</groupId>
      <artifactId>quarkus-micrometer</artifactId>
    </dependency>
    <dependency>
      <groupId>io.quarkiverse.micrometer.registry</groupId>
      <artifactId>quarkus-micrometer-registry-stackdriver</artifactId>
      <version>2.2.2</version>
    </dependency>
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-core</artifactId>
      <version>1.7.3</version>
    </dependency>

然后添加一些Quarkus属性,我使用了application.properties,但还有其他方法可以做到这一点。

application.properties

代码语言:javascript
复制
quarkus.micrometer.export.stackdriver.enabled=true
quarkus.micrometer.export.stackdriver.default-registry=true
quarkus.micrometer.export.stackdriver.project-id=fake-id
quarkus.micrometer.export.stackdriver.publish=true
quarkus.micrometer.export.stackdriver.resource-type=global
quarkus.micrometer.export.stackdriver.step=1m

在主类中

代码语言:javascript
复制
@Path("/")
public class ExampleResource {

    @ConfigProperty(name = "quarkus.micrometer.export.stackdriver.enabled")
    boolean enabled;
    @ConfigProperty(name = "quarkus.micrometer.export.stackdriver.default-registry")
    boolean export;
    @ConfigProperty(name="quarkus.micrometer.export.stackdriver.project-id")
    String projectId;
    @ConfigProperty(name="quarkus.micrometer.export.stackdriver.publish")
    boolean publish;
    @ConfigProperty(name="quarkus.micrometer.export.stackdriver.resource-type")
    String resourceType;
    @ConfigProperty(name="quarkus.micrometer.export.stackdriver.step")
    String step;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69170091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档