我有一个应用程序,我必须每5分钟监视一次。但是,该应用程序没有/ metrics端口供Prometheus直接抓取,而且我对该应用程序没有任何控制权。
作为一种解决方法,我编写了一个python程序来手动抓取数据,并将这些数据转换为我自己的指标,例如仪表和计数器。然后,我将这些指标推向了Prometheus的门户。
在本地,一切都很好。现在,我想更进一步,通过使用AWS Lambda函数提取数据并每5分钟为我生成指标(因此,我不必使python程序始终在笔记本电脑上运行)。
我的问题是,而不是使用:
push_to_gateway(gateway='localhost:9091', job="Monitor", registry=registry)
要将指标推送到pushgateway,lambda函数将包含什么?此外,我认为应该将Pushgateway托管在某个地方以供AWS访问。我们如何实现这一目标?
答案 0 :(得分:1)
您可以创建lambda并使用cloudwatch规则每5分钟运行一次。在lambda中,您可以仅卷曲pushgateway,而无需调用push_to_gateway。参见示例here。 确保从lambda可以访问网关-在公共ELB后面或将它们放在同一vpc中。