Prometheus端点组织和管理

问题描述 投票:0回答:1

我的任务是使用Prometheus进行监控。接下来是整个想法:每次普罗米修斯从终点(即发出GET请求)进行刮擦,在网络服务器上(现在只是Tornado)启动适当的处理程序(Python脚本),即做工作并返回指标,其中Prometheus收集。

一切似乎都没问题,但问题是我使用Tornado是因为它异步,并且它会导致问题(错误,难以处理异常等),而且没有太多的库可以很好地与asyncio配合使用,所以更常见我的hanlders不能异步工作,他们只是在线程中运行代码。

所以,我想要的。我想设置我的Web服务器来管理不是异步的Prometheus请求,而是使用多处理之类的东西。我想普罗米修斯的每个请求都与用户分开连接,我希望除了其他连接之外处理它(理想情况下 - 在单独的解释器进程中)。我假设这可以通过使用一堆webserver(nginx),Python应用程序服务器(uWSGI)和Web框架(Flask,或其他)来实现。看起来如何:

  1. qmetxswpoi说,普罗米修斯提出GET请求
  2. nginx将其路由到适当的端点
  3. 应用程序服务器和Web框架完成工作并返回指标

优点:每个请求单独处理(它分开Python解释器进程),我们有很多扩展的可能性,快速查询不等慢,Python代码是同步的。

这对我来说是个好主意,还是可以更好?也许我错过了什么?对不起,如果他在那里,感谢您的建议。

python nginx tornado uwsgi prometheus
1个回答
0
投票

找到一个很好的答案http://localhost/something_i_watch/metrics(uWSGI,nginx)

© www.soinside.com 2019 - 2024. All rights reserved.