Spring Boot / Micrometer将指标发送到GCP Stackdriver

时间:2019-07-25 15:55:34

标签: google-compute-engine stackdriver google-cloud-stackdriver micrometer spring-micrometer

我正在尝试实现一个简单的解决方案,以从托管在计算引擎实例中的API将http请求指标发送到GCP中的Stackdriver。 使用最新版本的Spring Boot(2.1.5)。我还插入了执行器和microreg-registry-stackdriver程序包,执行器目前可用于健康端点,但是尚不清楚如何实现此指标。

过去(单独的项目,使用不同的堆栈),我大多将自动配置的元素用于大量涌入。使用management.metrics.export.influx.enabled=true和属性文件中的其他属性,这是一个非常简单的设置(尽管很可能我团队的负责人在我不知情的情况下做了一些繁重的工作)。 尽管引入了stackdriver依赖关系,但我看不到stackdriver的任何类型的属性。文档都是通用的,因此我不清楚在我的用例中该如何做。我已经搜索了示例,但找不到。

从文档中:Having a dependency on micrometer-registry-{system} in your runtime classpath is enough for Spring Boot to configure the registry. 我有点菜鸟,所以我不确定要使它正常工作需要做什么。我真的不需要任何自定义指标,只需尝试显示一些指标数据即可。

在将其设置为与Stackdriver配合使用时,是否有人知道或知道任何示例?

3 个答案:

答案 0 :(得分:0)

根据我的理解,您尝试监视构建的第三方软件并在GCP Stackdriver中获得结果?如果是正确的话,我建议您在VM实例上实施Stackdriver Monitoring Agent [1],包括Stackdriver API输出插件。该代理收集系统和第三方应用程序度量,并将信息推送到诸如Stackdriver的监视系统。

Stackdriver Monitoring Agent基于开源的“收集”守护程序,因此,让我从其网站上共享一些更有价值的文档[2]。

[1] https://cloud.google.com/monitoring/agent/

[2] https://collectd.org/documentation.shtml

答案 1 :(得分:0)

Alpha中似乎已启用用于启用COS的Stackdriver Monitoring的功能。如果您不能尝试通过代理使用GCE COS VM,则可以通过此form请求访问。奇怪的是,我能够在实例创建期间安装监视代理作为测试。我使用COS映像:容器优化的OS 75-12105.97.0稳定。

检查COS,收集d代理似乎安装在这里:/etc/stackdriver/monitoring.config.d和

检查我的监视代理程序仪表板,可以看到来自VM的活动(CPU使用率等)。我不确定这是否是您要实现的目标,但希望它能为您指明正确的方向。

答案 2 :(得分:0)

在Spring-boot 2.3之前,不支持立即使用StackDriver,但是要使其正常工作,配置不多。

@Bean
StackdriverConfig stackdriverConfig() {
    return new StackdriverConfig() {
        @Override
        public String projectId() {
            return MY_PROJECT_ID;
        }

        @Override
        public String get(String key) {
            return null;
        }
    }
}

@Bean
StackdriverMeterRegistry meterRegistry(StackdriverConfig stackdriverConfig) {
    return StackdriverMeterRegistry.builder(stackdriverConfig).build();
}

https://micrometer.io/docs/registry/stackdriver