【问题标题】:Push metrics to Prometheus Pushgateway from AWS lambda function从 AWS lambda 函数将指标推送到 Prometheus Pushgateway
【发布时间】:2018-10-10 16:05:37
【问题描述】:

我有一个应用程序,我必须每 5 分钟监控一次。但是,该应用程序没有 /metrics 端口可供 Prometheus 直接从中抓取,我对该应用程序没有任何控制权。

作为一种解决方法,我编写了一个 python 程序来手动抓取数据,并将这些数据转换为我自己的指标,例如仪表和计数器。然后我将这些指标推送到推送网关,让 Prometheus 从中获取数据。

在本地一切正常。现在,我想更进一步,使用 AWS Lambda 函数每 5 分钟提取一次数据并为我生成指标(这样我就不必让 python 程序在我的笔记本电脑上运行)。

我的问题是,而不是使用:

push_to_gateway(gateway='localhost:9091', job="Monitor", registry=registry)

要将我的指标推送到 pushgateway,在 lambda 函数中会是什么?另外,我认为推送网关应该托管在某个地方供 AWS 访问。我们如何做到这一点?

【问题讨论】:

  • 我不确定我是否正确理解了您的用例,但您可能想考虑使用 Prometheus 的 node_exporter 中的 text_collector。存储库包含a simple example

标签: amazon-web-services aws-lambda prometheus


【解决方案1】:

您可以使用 cloudwatch 规则创建 lambda 并每 5 分钟运行一次。在 lambda 内部,您可以卷曲 pushgateway,而不是调用 push_to_gateway。参见示例here。 确保可以从 lambda 访问网关 - 在公共 ELB 之后或将它们都放在同一个 vpc 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 2016-09-22
    • 2016-11-13
    • 1970-01-01
    相关资源
    最近更新 更多