query-metrics

安装量: 119
排名: #7215

安装

npx skills add https://github.com/axiomhq/skills --skill query-metrics
CRITICAL:
ALL script paths are relative to this skill's folder. Run them with full path (e.g.,
scripts/metrics-query
).
Querying Axiom Metrics
Query OpenTelemetry metrics stored in Axiom's MetricsDB.
Setup
Run
scripts/setup
to check requirements (curl, jq, ~/.axiom.toml).
Config in
~/.axiom.toml
(shared with axiom-sre):
[
deployments.prod
]
url
=
"https://api.axiom.co"
token
=
"xaat-your-token"
org_id
=
"your-org-id"
The target dataset must be of kind
otel:metrics:v1
.
Discovering Datasets
List all datasets in a deployment:
scripts/datasets
<
deployment
>
Filter to only metrics datasets:
scripts/datasets
<
deployment
>
--kind
otel:metrics:v1
This returns each dataset's
name
,
region
, and
kind
. Use the dataset name in subsequent
metrics-info
and
metrics-query
calls.
Region Resolution
Datasets can live in different regions (e.g.,
us-east-1
vs
eu-central-1
). The scripts
automatically resolve
the correct regional edge URL before querying. No manual configuration is needed —
metrics-info
and
metrics-query
detect the dataset's region and route requests to the right endpoint.
Dataset Region
Edge Endpoint
cloud.us-east-1.aws
https://us-east-1.aws.edge.axiom.co
cloud.eu-central-1.aws
https://eu-central-1.aws.edge.axiom.co
If resolution fails or the region is unknown, requests fall back to the deployment URL in
~/.axiom.toml
.
Learning the Metrics Query Syntax
The query endpoint is self-describing. Before writing any query, fetch the full specification:
scripts/metrics-spec
<
deployment
>
<
dataset
>
This returns the complete metrics query specification with syntax, operators, and examples. Read it to understand query structure before composing queries.
Workflow
List datasets
Run
scripts/datasets
to see available datasets and their regions
Learn the language
Run
scripts/metrics-spec
to read the metrics query spec
Discover metrics
If possible use the find-metrics command, otherwise list available metrics via the info scripts
Explore tags
List tags and tag values to understand filtering options
Write and execute query
Compose a metrics query and run it via
scripts/metrics-query
Iterate
Refine filters, aggregations, and groupings based on results If you are unsure what to query, start by searching for metrics that match a relevant tag value: scripts/metrics-info < deployment

< dataset

find-metrics "frontend" This finds metrics associated with a known value (e.g., a service name or host), giving you a starting point for building queries. Query Metrics Execute a metrics query against a dataset: scripts/metrics-query < deployment

'' '' '' Example: scripts/metrics-query prod \ 'my-dataset:http.server.duration | align to 5m using avg' \ '2025-06-01T00:00:00Z' \ '2025-06-02T00:00:00Z' Parameter Required Description deployment Yes Name from ~/.axiom.toml (e.g., prod ) mpl Yes Metrics query string. Dataset is extracted from the query itself. startTime Yes RFC3339 (e.g., 2025-01-01T00:00:00Z ) or relative expression (e.g., now-1h , now-1d ) endTime Yes RFC3339 (e.g., 2025-01-02T00:00:00Z ) or relative expression (e.g., now ) Discovery (Info Endpoints) Use scripts/metrics-info to explore what metrics, tags, and values exist in a dataset before writing queries. Time range defaults to the last 24 hours; override with --start and --end . List metrics in a dataset scripts/metrics-info < deployment

< dataset

metrics List tags in a dataset scripts/metrics-info < deployment

< dataset

tags List values for a specific tag scripts/metrics-info < deployment

< dataset

tags < tag

values List tags for a specific metric scripts/metrics-info < deployment

< dataset

metrics < metric

tags List tag values for a specific metric and tag scripts/metrics-info < deployment

< dataset

metrics < metric

tags < tag

values Find metrics matching a tag value scripts/metrics-info < deployment

< dataset

find-metrics "" Custom time range All info commands accept --start and --end for custom time ranges: scripts/metrics-info prod my-dataset metrics \ --start 2025 -06-01T00:00:00Z \ --end 2025 -06-02T00:00:00Z Error Handling HTTP errors return JSON with message , code , and optional detail fields: { "message" : "description" , "code" : 400 , "detail" : { "errorType" : 1 , "message" : "raw error" } } Common status codes: 400 — Invalid query syntax or bad dataset name 401 — Missing or invalid authentication 403 — No permission to query/ingest this dataset 404 — Dataset not found 429 — Rate limited 500 — Internal server error On a 500 error , re-run the failing script call with curl -v flags to capture response headers, then report the traceparent or x-axiom-trace-id header value to the user. This trace ID is essential for debugging the failure with the backend team. Scripts Script Usage scripts/setup Check requirements and config scripts/datasets [--kind ] List datasets (with region info) scripts/metrics-spec Fetch metrics query specification scripts/metrics-query Execute a metrics query scripts/metrics-info ... Discover metrics, tags, and values scripts/axiom-api [body] Low-level API calls scripts/resolve-url Resolve dataset to regional edge URL Run any script without arguments to see full usage.

返回排行榜