Agents & OrchestrationSûr100100/100

Obz Greptimedb (Alibaba)

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.

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-greptimedb__alibaba-obz-cli__skills-5b0bd217d8c4
Alibaba
alibaba/obz-cli
Contenu à copier
---
name: obz-greptimedb
description: >
  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.
metadata:
  origin: Alibaba
---

# obz-greptimedb: GreptimeDB Provider

## Quick Reference

| Field            | Value                                              |
|------------------|----------------------------------------------------|
| Aliases          | `greptimedb`, `greptime`                           |
| Signal           | Metric                                             |
| Query language   | PromQL                                             |
| Default port     | 4000 (HTTP)                                        |
| Auth             | Bearer token, Basic auth, or no auth               |
| Provider flags   | None                                               |
| Config           | `endpoint` root URL, required `db`                    |
| Supported cmds   | query, labels, label-values, series                |

## Supported Commands

GreptimeDB supports these metric commands:

```
obz metric query        # Run an instant or range PromQL query
obz metric labels       # List all known label names
obz metric label-values # List values for a given label (requires --match)
obz metric series       # List matching time series
```

`obz metric info` is not declared as supported because GreptimeDB does not
currently expose the Prometheus metadata endpoint used by that command.

`obz metric list` is also not declared as supported. Local E2E against
GreptimeDB v1.0.1 showed `/label/__name__/values` can return an empty list, and
GreptimeDB documentation does not guarantee reliable metric-list semantics.
Use `obz metric series --match ...` or query known metric names instead.

## Quick Start

```bash
# Instant query
obz metric query -p greptimedb --endpoint http://localhost:4000 -q 'up'

# Range query (last hour, auto step)
obz metric query -p greptimedb --endpoint http://localhost:4000 \
  -q 'rate(http_requests_total[5m])' --from now-1h

# List label names
obz metric labels -p greptimedb --endpoint http://localhost:4000

# Get label values. GreptimeDB requires an explicit series selector.
obz metric label-values -p greptimedb --endpoint http://localhost:4000 job \
  --match 'up'

# Discover matching series when you know a selector.
obz metric series -p greptimedb --endpoint http://localhost:4000 \
  --match '{__name__="up"}'
```

## Authentication

GreptimeDB supports bearer token auth, basic auth (username + password), or no
auth. Configure credentials in `~/.config/obz/config.yaml`:

```yaml
providers:
  greptime-prod:
    provider: greptimedb
    endpoint: http://localhost:4000
    db: metrics
    auth:
      username: ${env:GREPTIME_USER}
      password: ${env:GREPTIME_PASS}
```

For token-based deployments:

```yaml
providers:
  greptime-cloud:
    provider: greptimedb
    endpoint: https://greptime.example.com
    db: public
    auth:
      token: ${env:GREPTIME_TOKEN}
```

Then query with just `-p`:

```bash
obz metric query -p greptime-prod -q 'up'
```

For unauthenticated local development instances:

```yaml
providers:
  greptime-local:
    provider: greptimedb
    endpoint: http://localhost:4000
    db: public
```

## API Endpoints

GreptimeDB exposes a Prometheus-compatible HTTP API under `/v1/prometheus`.
Configure `endpoint` as the root HTTP(S) URL only. It must not include any path,
query string, or fragment; obz appends the API path and injects the `db` query
parameter automatically.

Valid:

```yaml
endpoint: http://localhost:4000
db: metrics
```

Invalid:

```yaml
endpoint: http://localhost:4000?db=metrics
endpoint: http://localhost:4000/dashboard
endpoint: http://localhost:4000/v1/prometheus
endpoint: http://localhost:4000/api/v1
```

obz routes supported commands to these paths:

| Command               | Endpoint                                          |
|-----------------------|---------------------------------------------------|
| `metric query` (instant) | `GET /v1/prometheus/api/v1/query`            |
| `metric query` (range)   | `GET /v1/prometheus/api/v1/query_range`      |
| `metric labels`          | `GET /v1/prometheus/api/v1/labels`           |
| `metric label-values`    | `GET /v1/prometheus/api/v1/label/{name}/values` |
| `metric series`          | `GET /v1/prometheus/api/v1/series`           |
| `provider check`         | `GET /v1/health`                             |

## Database Selection

GreptimeDB routes Prometheus API requests by the `db` query parameter. obz
requires `db` in the provider config and injects it into every GreptimeDB
Prometheus API request. Use `db: public` when targeting GreptimeDB's standard
public database:

```yaml
providers:
  greptime-prod:
    provider: greptimedb
    endpoint: http://localhost:4000
    db: metrics
```

## PromQL Guide

GreptimeDB supports standard PromQL. Common patterns:

```promql
# Current value of a gauge
node_memory_MemAvailable_bytes

# Per-second rate over 5 minutes
rate(http_requests_total[5m])

# Aggregation
sum by (job) (up)

# Histogram quantile
histogram_quantile(0.99, rate(http_request_duration_seconds_bucket[5m]))
```

## Provider Check

Verify connectivity:

```yaml
providers:
  greptimedb:
    provider: greptimedb
    endpoint: http://localhost:4000
    db: public
```

```bash
obz provider check greptimedb
```

This issues a `GET /v1/health` request to confirm the GreptimeDB instance
is reachable.
Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.

Ce que fait Obz Greptimedb (Alibaba)

Applique les pratiques du skill obz-greptimedb__alibaba-obz-cli__skills-5b0bd217d8c4.

Comment utiliser Obz Greptimedb (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 Greptimedb (Alibaba)

Dis simplement à ton agent quelque chose comme :

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

Skills liés à Obz Greptimedb (Alibaba)