如何使用starlette导出器获取每秒请求数

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

如何使用 starlette 导出器公开的指标获取每秒请求的指标(链接此处)。我有一个 Grafana 实例,并且有类似

starlette_requests_total
的指标 和
starlette_requests_in_progress

我的 prometheus.yaml 配置文件中的

scrape_interval

 是 15 秒。但是,我只能在使用时获取数据

rate(starlette_requests_total{method="GET"}[4m])
任何小于 4m 的间隔都不会返回任何数据。
我向服务器发送了请求,但似乎对指标没有影响。

我是编码和可观察性方面的新手。任何帮助将不胜感激!

prometheus grafana rules starlette observability
1个回答
0
投票
根据@markalex关于需要多个样本的建议,以下是最终对我有用的方法。绝对欢迎提出改进配置和/或删除不必要的配置的建议。

创建了一个rules.yaml文件:

groups: - name: starlette interval: 5s rules: - record: starlette_requests_per_second expr: | rate(starlette_requests_total{method=~"GET"}[5s])
在 prometheus.yaml 文件中:

rule_files: - rules.yaml scrape_config: - job_name: myapp_name scrape_interval: 1s static_configs: - targets: ['<endpoint that I send the GET request to>']
我的理由 - 我非常感谢确认我的理解是否准确 - 是因为需要多个样本,如果我的 

scrape_interval

 是 1 秒并且我的记录规则以 5 秒的间隔计算查询,那么我将为每 5 个样本获得 5 个样本秒,给出了每秒请求数的相对准确的近似值。

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