Агрегация с сохранением всех меток кроме instance prometheus
without() сохраняет все метки кроме instance; чище, чем перечислять много меток в by()
sum without(instance) (rate(http_requests_total{code=~"5.."}[5m]))
more prometheus
all 30 commands →
Recording rule для дорогого отношения
groups:
- name: slo
rules:
- record: job:request_errors:ratio5m
expr: sum by(job)(rate(http_requests_total{code=~"5.."}[5m])) / sum by(job)(rate(http_requests_total[5m]))
Проверка правил и конфига через promtool
promtool check rules rules.yml && promtool check config prometheus.yml
Мгновенный запрос из CLI
promtool query instant http://localhost:9090 'topk(5, sum by(pod)(rate(container_cpu_usage_seconds_total[5m])))'
Поиск виновников кардинальности в TSDB
promtool tsdb analyze /prometheus --limit 20
Запрос к Prometheus через curl
curl -sG 'http://prometheus:9090/api/v1/query' --data-urlencode 'query=up' | jq .