mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-21 11:56:38 +00:00
35af688cd9
test(obs): add metrics dimension smoke harness Co-authored-by: heihutu <heihutu@gmail.com>
45 lines
1.7 KiB
Markdown
45 lines
1.7 KiB
Markdown
# Backlog #1649 Prometheus smoke
|
|
|
|
`scripts/prometheus_metrics_1649_smoke.py` is a read-only environment check for
|
|
the metric dimensions delivered by backlog #1649 and issues #1650-#1653. It
|
|
uses Prometheus' instant-query API and does not start, stop, reconfigure, or
|
|
load RustFS nodes.
|
|
|
|
Run the parser and selector self-test without a live environment:
|
|
|
|
```bash
|
|
python3 scripts/prometheus_metrics_1649_smoke.py --self-test
|
|
```
|
|
|
|
For a live cluster, pass a Prometheus base URL (or its `/api/v1/query`
|
|
endpoint), one or more expected server label values, and the built-in profile:
|
|
|
|
```bash
|
|
python3 scripts/prometheus_metrics_1649_smoke.py \
|
|
--query-url http://prometheus.example:9090 \
|
|
--profile backlog-1649 \
|
|
--server rustfs-node1 \
|
|
--server rustfs-node2
|
|
```
|
|
|
|
The profile checks the disk, scanner, ILM, audit, and notification series and
|
|
their required labels. It also requires the legacy aggregate audit and
|
|
notification series, so an additive label change cannot silently break
|
|
existing dashboards.
|
|
|
|
Dynamic series retirement is checked with an exact label set after the
|
|
scheduler retirement window has elapsed:
|
|
|
|
```bash
|
|
python3 scripts/prometheus_metrics_1649_smoke.py \
|
|
--query-url http://prometheus.example:9090 \
|
|
--retired 'rustfs_scanner_bucket_drive_result_total|server=node1,bucket=removed,drive=d1,result=success' \
|
|
--retired 'rustfs_audit_total_messages_by_server|server=node1,target_id=removed'
|
|
```
|
|
|
|
`--require METRIC|key=value,...` requires a matching series;
|
|
`--require-labels METRIC|key1,key2` requires every returned series to carry
|
|
the named labels. Use `--bearer` for a bearer token or `--basic` for a
|
|
`username:password` credential when Prometheus is protected. Do not put
|
|
credentials in committed commands, logs, or issue comments.
|