【问题标题】:How to log custom metrics in Google Container Engine to Stackdriver?如何将 Google Container Engine 中的自定义指标记录到 Stackdriver?
【发布时间】:2017-09-13 04:42:22
【问题描述】:

我目前正在探索越来越多的 Google Cloud Platform,并尝试评估如何更改我的默认堆栈。我喜欢使用所有内置工具而不是使用各种 Saas 产品的想法。比较开放的问题之一是如何使用 Stackdriver Monitoring。我了解内置监控将 Heapster 与 Google Cloud Sink 结合使用。但是,如何将自己的自定义指标公开给 Stackdriver 以供使用?我指的不是基于日志的指标,而是真实的指标?

我知道我总是可以自己将代理安装到集群上,但在我看来,作为 Google Container Engine 的一部分,它已经在运行,那么我该如何向它推送指标?

【问题讨论】:

    标签: kubernetes google-cloud-platform monitoring google-kubernetes-engine stackdriver


    【解决方案1】:

    GKE 中预装的 fluentd pod 位于 kube-system 命名空间中,由 k8s 管理,所以你不应该乱用它。目前似乎只是将 stdout/stderr 代理到 Stackdriver。但根据this post 的说法,k8s 团队正在努力提供开箱即用的可访问节点范围的 fluentd 端口。

    This document 提供有关设置自定义日志记录的详细信息。

    【讨论】:

    • 正如我在另一个问题stackoverflow.com/questions/43451973/… 中所问的那样,Stackdriver 错误报告确实已经可以通过 fluent-d 的内置集成来监听标准输出。但是,我不清楚 Stackdriver Monitoring 是否可以做到这一点。除非我误解了您关于 fluentd 可访问性的评论
    • 我的意思是目前不支持对预安装的 pod 进行更改,因此添加自定义指标是不切实际的。预装的 fluentd 配置为将 stdout/stderr 流式传输到 stackdriver 错误报告,因此当您输出到 stdout/stderr 时,它将转到 stackdriver。但监控指标是不同的东西。
    • 是的,我担心是这样。我想我对开箱即用集成的唯一希望是让 Kubernetes 以某种方式公开监控并让 stackdriver 自动将其用于应用程序指标
    【解决方案2】:

    回答我自己的问题,目前最好的策略似乎是使用https://github.com/GoogleCloudPlatform/k8s-stackdriver/tree/master/prometheus-to-sd

    【讨论】:

      【解决方案3】:

      我认为 GCP 已经为我们提供了相关文档,请参阅 Using Custom Metrics

      【讨论】:

      • Crazykev,你能详细说明一下吗?我不确定如何在不自己安装代理的情况下记录自定义指标。理想情况下,我想重用 GKE 提供的机制,但据我所知,这是不可能的?
      猜你喜欢
      • 1970-01-01
      • 2018-09-06
      • 1970-01-01
      • 2017-12-14
      • 2020-01-25
      • 2018-07-09
      • 2018-08-23
      • 1970-01-01
      • 2015-08-01
      相关资源
      最近更新 更多