Backend & APISûr100100/100

Obz Vm (Alibaba)

VictoriaMetrics provider for obz. Covers all 6 metric commands (query, list, info, labels, label-values, series) using MetricsQL, a PromQL superset with extensions like keep_metric_names and range_normalize. This skill should be used when the user mentions "VictoriaMetrics", "MetricsQL", "obz metric -p vm", or needs to query metrics from a VM backend.

ou envoie-le directement à ton agent.

Installer dans ton projet

$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs obz-vm__alibaba-obz-cli__skills-312d9086f499
Alibaba
alibaba/obz-cli
Contenu à copier
---
name: obz-vm
description: >
  VictoriaMetrics provider for obz. Covers all 6 metric commands (query, list,
  info, labels, label-values, series) using MetricsQL, a PromQL superset with
  extensions like keep_metric_names and range_normalize. This skill should be
  used when the user mentions "VictoriaMetrics", "MetricsQL", "obz metric -p vm",
  or needs to query metrics from a VM backend.
metadata:
  origin: Alibaba
---

# obz-vm: VictoriaMetrics Provider

## Quick Reference

| Field            | Value                                              |
|------------------|----------------------------------------------------|
| Aliases          | `vm`, `victoriametrics`                            |
| Signal           | Metric                                             |
| Query language   | MetricsQL (PromQL superset)                        |
| Auth             | Bearer token, Basic auth, or none                  |
| Provider flags   | None                                               |
| Supported cmds   | query, list, info, labels, label-values, series    |

## Supported Commands

All six core metric commands work with this provider:

```
obz metric query        # Run an instant or range MetricsQL query
obz metric list         # List available metric names
obz metric info         # Show metadata for a specific metric
obz metric labels       # List all known label names
obz metric label-values # List values for a given label
obz metric series       # List matching time series
```

## Authentication

Configure auth in `config.yaml` under `providers.<name>.auth`. Supports
bearer token, basic auth, or no auth.

```yaml
# config.yaml
providers:
  vm:
    endpoint: http://localhost:8428
    auth:
      token: ${env:VM_TOKEN}
```

Then query with just `-p`:
```bash
obz metric query -p vm -q 'up'
```

## MetricsQL Guide

MetricsQL is fully compatible with PromQL and adds useful extensions.

### Standard PromQL (works as-is)

```
rate(http_requests_total[5m])
sum by (job) (up)
histogram_quantile(0.99, rate(http_duration_seconds_bucket[5m]))
```

### MetricsQL Extensions

**keep_metric_names** preserves the original metric name through functions
that normally drop it:
```
rate(http_requests_total[5m]) keep_metric_names
```

**label_set** adds or overrides labels in results:
```
label_set(up, "env", "production")
```

**range_normalize** scales values to a 0..1 range across the time window:
```
range_normalize(cpu_usage_percent)
```

**default** fills gaps with a fallback value:
```
absent_over_time(up[5m]) default 0
```

**Day/week suffixes**: MetricsQL supports `d` for days and `w` for weeks,
which standard PromQL doesn't:
```
avg_over_time(cpu_idle[7d])
```

**Subquery shorthand** with trailing `[range:step]`:
```
max_over_time(rate(errors_total[5m])[1h:1m])
```

### Common Pitfalls

- MetricsQL auto-aligns `[range]` to the query step. If you see unexpected
  smoothing, set an explicit step with `--step`.
- `keep_metric_names` only works on functions returning a single series
  per input series. Aggregations like `sum()` ignore it.
- Label filters are case-sensitive. `{job="API"}` won't match `job="api"`.

## Examples

**Instant query**:
```bash
obz metric query -p vm -q 'rate(http_requests_total[5m])' --from now-1h
```

**Range query, 5m step**:
```bash
obz metric query -p vm -q 'avg by (instance) (node_cpu_seconds_total)' \
  --from now-1d --to now --step 5m
```

**List metric names matching a prefix**:
```bash
obz metric list -p vm --match 'http_*'
```

**Get metadata for a metric**:
```bash
obz metric info -p vm http_requests_total
```

**List all label names**:
```bash
obz metric labels -p vm
```

**List values of a specific label**:
```bash
obz metric label-values -p vm job
```

**Find series matching a selector**:
```bash
obz metric series -p vm --match '{job="api", env="prod"}'
```
Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.

Ce que fait Obz Vm (Alibaba)

MetricsQL auto-aligns `[range]` to the query step. If you see unexpected
`keep_metric_names` only works on functions returning a single series
Label filters are case-sensitive. `{job="API"}` won't match `job="api"`.

Comment utiliser Obz Vm (Alibaba)

1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.

Déclencheurs pour Obz Vm (Alibaba)

Dis simplement à ton agent quelque chose comme :

Applique le skill obz-vm__alibaba-obz-cli__skills-312d9086f499 à cette tâche
Utilise obz-vm__alibaba-obz-cli__skills-312d9086f499 pour améliorer cette implémentation
Passe en revue ce sujet avec obz-vm__alibaba-obz-cli__skills-312d9086f499

Skills liés à Obz Vm (Alibaba)