我运行了这个示例https://quarkus.io/guides/micrometer (微米快速入门目录),它同时使用Quarkus和微米。该示例使用普罗米修斯作为MeterRegistry,但我将其更改为使用StackdriverMeterRegistry,希望在普罗米修斯中显示的相同自动工具将出现在Google Cloud Monitoring中。
然而,我只看到我制作的自定义指标出现在Google Cloud Monitoring中,而不是micrometer提供的自动工具。
我不确定我是否应该认为这只是微米StackdriverMeterRegistry库本身的问题,或者我做错了什么。任何指导都是值得感谢的。
代码更改:
// 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
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-stackdriver</artifactId>
</dependency>发布于 2021-09-22 07:36:31
经过修修补补并直接与测微仪团队交谈后,我发现了问题所在。文档有点混乱,但是我错误地导入了StackDriver扩展,用于quarkus项目的默认注册表获得了所有的自动检测,而不是StackDriver。因此,需要将此默认注册表更改为StackDriver注册表。
我已经上传了一起使用Quarkus StackDriver和测微仪的基本示例,使用在测微仪Quarkus文档页面上找到的基本示例。
https://github.com/jayleenli/quarkus-micrometer-stackdriver-quickstart
更改:
添加到pom.xml
<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
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在主类中
@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;https://stackoverflow.com/questions/69170091
复制相似问题