Newman/postman 结果发送到 prometheus 进行自动化测试

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

我的任务是自动化邮递员冒烟测试,在 kubernetes 集群中每 x 分钟运行一次,并将结果推送到 prometheus,随后由 grafana 进行可视化,并将警报推送到最重要的通道。

我已经使用 newman 和其他软件包创建了一个基于 alpine 的自定义 docker 映像(我没有使用 newman docker 映像,因为我无法在其中添加我想要的任何内容),复制了我的所有集合和环境。文件也写入 docker 镜像中,

newman run
命令也打包到 dockerfile 中(否则如果我从 kubernetes 中的 pod 定义 yaml 调用它,它不起作用)。所需要做的就是运行容器,它会创建一个报告,放置在容器内的
/newman
文件夹中。

我创建了 kubernetes cronjob 来运行容器,它运行并进入完成状态。如果我使用一些循环命令保持容器打开,我可以登录并确保结果在那里(而且它们是)。由于这项工作是短暂的,普罗米修斯没有时间来抓取它,所以我试图将结果推送到普罗米修斯推送网关(我出于这个原因部署了它)。我正在尝试

curl
将结果放入其中(命令也在 dockerfile 中定义),例如
cat myreport.xml | curl --data-binary @- push-prometheus-pushgateway:9091/metrics/job/newman

但是问题是:我无法获得格式化的结果,以便普罗米修斯推送网关以任何有意义的方式接受它。我也没有找到任何适合此目的的自定义“记者”。目前我正在使用

junit
记者,但我没有设法
sed/awk
输出被 Pushgateway 消化并使其具有任何实际意义......

过去是否有人做过类似的事情并取得了一些成功?

提前非常感谢!

dockerfile postman prometheus newman prometheus-pushgateway
2个回答
0
投票

您可以尝试 Prometheus 的 Postman 导出器:https://github.com/hudeldudel/postman-exporter


0
投票

你解决这个问题了吗?我也有类似的情况,没找到出口商

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