首页 > 解决方案 > 无头运行时将蝗虫指标导出到普罗米修斯

问题描述

我想在无头运行 locust 时将指标从 locust 导出到 prometheus。我找到了这个出口商:

containersol/locust_exporter

当我用它的烧瓶 gui 开始蝗虫时它工作正常。导出器正在默认端口 8089 上从 /stats/requests 读取数据。但是,当我无头运行 locust 时,该端口上没有任何运行,因此导出器无法使用数据。我可以将聚合或原子数据发送到 csv 文件,但是有没有一种好方法可以在无头运行 locust 时将数据直接导入 prometheus?我想避免将大量数据写入csv文件然后读取它以将其放入prometheus。

标签: prometheuslocust

解决方案


听起来您可能有两个主要选择。

  1. 不要无头运行 Locust 并让它containersol/locust_exporter做它的事情。你如何做到这一点取决于你需要什么。即使不使用 Locust Web UI,您也可以通过多种方式控制负载测试。您可以POST向 Locust Web 服务器端点发出请求,可以创建负载形状,或者以其他方式在代码中告诉 Locust 更改用户计数和生成率。

  2. 直接从 Locust 内部将您的统计数据推送到 Prometheus,而不是从 Locust 外部拉取它们。您可以编写自己的函数以使用事件将数据推送到 Prometheus (很可能在报告之间休眠worker_report或您自己的 greenlet 产生init),或者您可以使用locust-plugins可以检查其中一个侦听器是否可以直接使用或作为如何制作自己的灵感。


推荐阅读