如何使用 starlette 导出器公开的指标获取每秒请求的指标(链接此处)。我有一个 Grafana 实例,并且有类似
starlette_requests_total
的指标
和starlette_requests_in_progress
。
我的 prometheus.yaml 配置文件中的 scrape_interval
是 15 秒。但是,我只能在使用时获取数据
rate(starlette_requests_total{method="GET"}[4m])
任何小于 4m 的间隔都不会返回任何数据。
我向服务器发送了请求,但似乎对指标没有影响。我是编码和可观察性方面的新手。任何帮助将不胜感激!
创建了一个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 个样本秒,给出了每秒请求数的相对准确的近似值。