【问题标题】:Spring Boot/Micrometer sending metrics to GCP StackdriverSpring Boot/Micrometer 向 GCP Stackdriver 发送指标
【发布时间】:2019-07-25 15:55:34
【问题描述】:

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

在过去(单独的项目,不同的堆栈),我主要使用带有 influx 的自动配置元素。使用management.metrics.export.influx.enabled=true 和属性文件中的一些其他属性,这是一个非常简单的设置(尽管我的团队的领导很可能在我不知道的情况下做了一些繁重的工作)。 尽管引入了堆栈驱动程序依赖项,但我没有看到堆栈驱动程序的任何类型的属性。文档都是通用的,所以我不清楚如何为我的用例做到这一点。我已经搜索了示例,但没有找到。

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

有没有人知道或知道任何设置这个以使用 Stackdriver 的示例?

【问题讨论】:

  • 我应该注意,actuator/metrics/http.server.requests 端点显示了我期望从各种端点获得的测量值和标签。问题是我不知道如何在 Stackdriver 中提供这些功能

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


【解决方案1】:

启用 Stackdriver Monitoring for COS 的功能目前似乎处于 Alpha 阶段。如果您想通过代理尝试 GCE COS VM,您可以通过此form 请求访问。奇怪的是,我能够在实例创建期间安装监控代理作为测试。我使用 COS 镜像:Container-Optimized OS 75-12105.97.0 stable。

查看COS,collect d代理好像安装在这里:/etc/stackdriver/monitoring.config.d和

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

【讨论】:

    【解决方案2】:

    据我了解,您尝试监控您构建的第 3 方软件并在 GCP Stackdriver 中获取结果?如果是这样,我建议您在您的 VM 实例上实现 stackdriver 监控代理 [1],包括 Stackdriver API 输出插件。此代理收集系统和第 3 方应用程序指标并将信息推送到 Stackdriver 等监控系统。

    Stackdriver Monitoring Agent 基于开源的“collectd”守护进程,所以让我从其网站 [2] 分享一些更有价值的文档。

    【讨论】:

    • 感谢您的链接。我有点掩饰了这一点。这很有帮助,但没有解决我的问题。我在容器操作系统上使用带有 docker 映像的 GCE 实例。“监控代理目前不支持 Kubernetes Engine 集群中默认的容器优化操作系统。”所以安装说明不起作用。看来 stackdriver 日志代理已经存在并正在运行,所以我想一定有某种方法可以获取 stackdriver 监控代理。
    • GCE 和 GKE 是不同的东西
    【解决方案3】:

    在 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

    【讨论】:

      猜你喜欢
      • 2020-07-14
      • 2022-08-14
      • 1970-01-01
      • 2021-05-07
      • 2021-06-13
      • 2021-11-09
      • 2020-12-20
      • 2019-04-04
      • 1970-01-01
      相关资源
      最近更新 更多