Skip to content
cccskills
FreePublished on GitHub

obz-vm

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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md3.7 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

obz-vm: VictoriaMetrics Provider

Quick Reference

FieldValue
Aliasesvm, victoriametrics
SignalMetric
Query languageMetricsQL (PromQL superset)
AuthBearer token, Basic auth, or none
Provider flagsNone
Supported cmdsquery, 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.

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

Then query with just -p:

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:

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

Range query, 5m step:

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:

obz metric list -p vm --match 'http_*'

Get metadata for a metric:

obz metric info -p vm http_requests_total

List all label names:

obz metric labels -p vm

List values of a specific label:

obz metric label-values -p vm job

Find series matching a selector:

obz metric series -p vm --match '{job="api", env="prod"}'

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Multi-backend observability CLI for querying metrics, logs, and traces across 12 backends. This skill should be used when the user runs obz commands, constructs metric/log/trace queries, configures providers, parses obz JSON output, or troubleshoots obz errors. Covers all core commands (metric query/list/info/labels/label-values/series, log search, trace search/get), global flags, time formats, output modes, config files, and exit codes.

The English summary is being prepared. Showing the original description.

alibaba/obz-cli28Updated Jul 12, 2026

obz-dd

Free

Datadog provider for obz. Supports metrics (Datadog Query Language), logs (Datadog Log Query), and traces. Requires api-key and app-key configured under auth in config.yaml. Does not support metric labels, label-values, or series commands. This skill should be used when the user mentions "Datadog", "DD", "obz -p dd", Datadog Query Language, or needs to configure Datadog provider instances with regional endpoints.

The English summary is being prepared. Showing the original description.

alibaba/obz-cli28Updated Jul 12, 2026

Elasticsearch provider for obz. Supports log search and trace operations using Elasticsearch Query DSL (Lucene-based). Requires --index flag. This skill should be used when the user mentions "Elasticsearch", "obz -p es", or needs to search logs or traces from an Elasticsearch cluster.

The English summary is being prepared. Showing the original description.

alibaba/obz-cli28Updated Jul 12, 2026

GreptimeDB provider for obz. Covers PromQL metric query, labels, label-values, and series commands via GreptimeDB's Prometheus-compatible API. Use this skill when the user mentions "GreptimeDB", "Greptime", "obz metric -p greptimedb", or needs to query metrics stored in a GreptimeDB instance.

The English summary is being prepared. Showing the original description.

alibaba/obz-cli28Updated Jul 12, 2026

Jaeger provider for obz. Covers trace search, trace retrieval by ID, and extension commands for service and operation discovery. This skill should be used when the user mentions "Jaeger", "obz trace -p jg", or needs to search distributed traces from a Jaeger backend.

The English summary is being prepared. Showing the original description.

alibaba/obz-cli28Updated Jul 12, 2026

Grafana Loki provider for obz. Covers log search using LogQL, a label-based query language for log aggregation. This skill should be used when the user mentions "Loki", "Grafana Loki", "LogQL", "obz log search -p loki", or needs to search logs from a Loki instance.

The English summary is being prepared. Showing the original description.

alibaba/obz-cli28Updated Jul 12, 2026

See all skills by alibaba

Report a problem with this skill