【问题标题】:StackDriver: Collecting metrics from outside GCP and AWSStackDriver:从 GCP 和 AWS 外部收集指标
【发布时间】:2017-05-03 18:10:19
【问题描述】:

我的问题是关于 Google Cloud 的 StackDriver。我已经尝试了很多小时从 GCP 和 AWS 之外配置服务器以收集指标,但我无法使其工作。

StackDriver 能够从外部收集指标还是我正在浪费时间?

如果有能力,有人知道一本好手册吗?

谢谢!!!和问候!!!

【问题讨论】:

    标签: google-cloud-platform stackdriver


    【解决方案1】:

    Adam 是正确的,Stackdriver(在撰写本文时)不支持 GCP/AWS 之外的代理指标收集。因此,您尝试做的事情并未得到官方支持。

    不过,Stackdriver 产品由 API 组成,因此您在技术上可以从 GCP 和 AWS 外部的指标中收集数据。这在技术上是可行的,但是这样做的客户端工具和文档并不存在,这将使其非常具有挑战性。

    一般而言,AWS 文档最接近您想要查看的内容,因为就 Stackdriver 而言,AWS 是公共互联网。

    对于身份验证,您需要使用服务帐户,类似于 AWS 设置。

    如果您只有几个指标,您总是可以使用其中一个客户端库编写 custom metrics。如果您只想编写几个指标,这可能是最简单的做法。

    文档指导您安装的 collectd 代理只是从各种日志中收集指标并将它们发送到 API。您可以在Github 上查看。但由于目前仅支持 GCP 和 AWS,因此您正在冒险进入必须了解代理代码并自行修改以使其在 GCP/AWS 之外工作的领域。

    我会在未来密切关注 Stackdriver 以改进这一领域。

    【讨论】:

    • 感谢您的帮助。这正是我的想法,但我在 GCP 世界中很新,我想问问有更多经验的人。问候!!
    【解决方案2】:

    现在可以使用了。谷歌有一些他们提供的代理,用于在不同的环境中执行此操作。

    但是,这些现在似乎已被弃用,并已被 Google 文档中的第三方(Google 合作伙伴)取代: https://cloud.google.com/stackdriver/docs/deprecations/third-party-apps

    看起来没有使用许可费(Marketplace 免费)只需支付进入 Stackdriver 的数据使用费。

    【讨论】:

      【解决方案3】:

      基于 StackDriver 代理 documentation page,这似乎不是一个选项。

      它适用于 AWS,但您需要将您的 AWS 账户与他们的账户相关联。

      编辑:我假设从外部授权云提供商访问 StackDriver 后端。不准确。

      【讨论】:

      • 这个答案不太正确,因为服务暴露在“开放的互联网”中,它们受到身份验证的保护。您可以在 GCP/AWS 之外使用 Stackdriver,这只是工具和文档目前尚未完善的问题。
      • 你想学习哪个教程,来源?
      • 您是正确的,因为文档/工具尚未准备好,因此不受支持。我只是注意到您可以在 GCP/AWS 之外使用 Stackdriver,目前,您对“开放互联网”的评论是不正确的(就 GCP 而言,AWS 已经是“开放互联网”被关注到)。但是今天要尝试使用它,您将不得不自己弄清楚很多。
      • 感谢您的帮助。问候!!
      【解决方案4】:

      我设法使这个用例工作,尽管它不受“支持”,因此对于代理的配置,除了 stackdriver-agent 的 c source 之外,我没有真正找到任何关于它的文档。

      我的用例,我假设问题是,我在 GCP 上有一个项目,可能有一些计算虚拟机,启用了堆栈驱动程序,但我也有一台 GCP 之外的机器,它以某种方式与项目的其余部分集成我想监控的(现在只是磁盘/cpu/内存)。

      在机器(要监控的 GCP 之外)install 代理上,添加服务帐户密钥,描述为 here

      通过编辑/etc/stackdriver/collectd.conf 配置代理 - 添加

        CloudProvider "gcp"
        Instance "name_for_machine_outside_gcp"
        Zone "europe-west3-c"
        Region "europe-west3"
      

      <Plugin "write_gcm"> 标记,其中name_for_machine_outside_gcp 是用于识别指标的机器的名称。据我所知,Zone 和 Region 无关紧要,但必须是有效的 zone(GCP 中的 VM 可以在的地方)——因为代理旨在在 GCP 中的 VM 中运行。

      重启代理sudo service stackdriver-agent restart,代理应该开始向stackdrive发送指标,所有这些都以agent.googleapis.com为前缀。

      这意味着该指标将与 GCP 中 VM 上的 stackdriver-agent 相同,无需将“我的机器”中的指标分离为一些自定义指标。

      这有点棘手,因为 Instance 字段应该引用 GCP 中的现有 VM,如果不小心可能会发生冲突,但我还没有发现任何问题。

      其他解决方案是 AlphaPapa 的回答中提到的 BindPlane,我没有尝试过,因为它对于我的简单操作系统指标来说似乎有点重量级,但如果他们支持的许多应用程序中的一些应用程序的指标看起来确实是一个解决方案,是需要的。它发送自定义指标,因此来自 GPC VM 和其他机器的指标是分开的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-02-24
        • 2020-07-12
        • 1970-01-01
        • 1970-01-01
        • 2017-05-29
        相关资源
        最近更新 更多