Skip to main content

obz-sls

Alibaba Cloud SLS (Simple Log Service) provider for obz. Supports metrics (PromQL), logs (SLS Query), and traces across project/store pairs. Requires AccessKey auth and provider-specific flags like --project, --logstore, --metricstore, and --trace-logstore. This skill should be used when the user mentions "SLS", "Alibaba Cloud", "obz -p sls", or needs to configure SLS provider instances.

Informations de source

Dépôt
alibaba/obz-cli
Dernière activité de la source
29 avril 2026 à 07:18
Langue détectée de SKILL.md
anglais
Étoiles
27
Forks
9

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
name
obz-sls
description
Alibaba Cloud SLS (Simple Log Service) provider for obz. Supports metrics (PromQL), logs (SLS Query), and traces across project/store pairs. Requires AccessKey auth and provider-specific flags like --project, --logstore, --metricstore, and --trace-logstore. This skill should be used when the user mentions "SLS", "Alibaba Cloud", "obz -p sls", or needs to configure SLS provider instances.
# obz-sls: Alibaba Cloud SLS Provider ## Quick Reference | Field | Value | |------------------|----------------------------------------------------| | Aliases | `sls` | | Signals | Metric, Log, Trace | | Metric query | PromQL | | Log query | SLS Query | | Auth | AccessKey (access-key-id + access-key-secret) | | Endpoint format | `https://<project>.<region>.log.aliyuncs.com` | ## Supported Commands | Signal | Commands | |---------|-------------------------------------------------------------| | Metric | query, list, labels, label-values, series | | Log | search | | Trace | search, get | `metric info` is not supported by SLS. ## Authentication SLS always requires AccessKey credentials. Configure them in `config.yaml` under `providers.<name>.auth`: ```yaml # config.yaml providers: sls: endpoint: http://cn-hangzhou.log.aliyuncs.com project: my-project logstore: my-logs metricstore: my-metrics auth: access-key-id: ${env:SLS_AK} access-key-secret: ${env:SLS_SK} ``` Then query with just `-p`: ```bash obz metric query -p sls -q 'up' ``` ## Provider-Specific Flags | Flag | Type | Required For | Description | |---------------------|--------|------------------|-------------------------------| | `--project` | String | All commands | SLS project name | | `--metricstore` | String | Metric commands | Metric store within project | | `--logstore` | String | Log commands | Log store within project | | `--trace-logstore` | String | Trace commands | Trace log store within project| These flags are declared `required: false` at the CLI level (so other providers don't error), but SLS validates them at runtime. Missing a required flag produces a clear error message. All flags can be pre-configured in `config.yaml` — when configured, the CLI flag can be omitted. ## Config File Setup Pre-configuring SLS avoids repeating long flag lists: ```yaml # ~/.config/obz/config.yaml providers: sls-prod: provider: sls endpoint: https://my-proj.cn-hangzhou.log.aliyuncs.com project: my-proj metricstore: prom-store logstore: nginx-access trace-logstore: trace-store auth: access-key-id: ${env:SLS_AK} access-key-secret: ${env:SLS_SK} ``` Then query with just a name: ```bash obz metric query -p sls-prod -q 'up' obz log search -p sls-prod -q 'error' --from now-1h obz trace search -p sls-prod -q '*' --from now-1h ``` ## SLS Query Language (Logs) SLS Query supports full-text search, field filters, and boolean logic. ### Full-text Search ``` error "connection refused" ``` ### Field Filters ``` status:500 host:web-01 request_method:POST ``` ### Boolean Operators ``` error AND status:500 error OR warn error NOT "health check" ``` ### Wildcards ``` host:web-* status:5?? ``` ### Combining Patterns ``` error AND status:500 AND request_method:POST NOT uri:/health ``` ### Common Pitfalls - Field names are case-sensitive and must match the indexed field exactly. - Bare words search across all text fields. Use `field:value` to target a specific field. - Wildcards work only in field filters, not in quoted phrases. - SLS Query is NOT the same as LogsQL or Datadog Log Query. Each provider has its own syntax. ## PromQL (Metrics) SLS metric stores support standard PromQL. MetricsQL extensions like `keep_metric_names` are not available here. ``` rate(http_requests_total[5m]) sum by (job) (up) histogram_quantile(0.99, rate(http_duration_seconds_bucket[5m])) ``` ## Examples **Metric query**: ```bash obz metric query -p sls-prod -q 'rate(http_requests_total[5m])' --from now-1h ``` **Log search**: ```bash obz log search -p sls-prod -q 'error AND status:500' --from now-1h ``` **Trace search**: ```bash obz trace search -p sls-prod -q '*' --from now-1h ``` **Trace get by ID**: ```bash obz trace get -p sls-prod abc123def456 ``` **List metric names**: ```bash obz metric list -p sls-prod ``` **List label values**: ```bash obz metric label-values -p sls-prod job ```
Voir sur GitHub