Importing from export files
wtctl import <source> --alerts <file> --dashboards <file> [--alertmanager <file>] [--apply] [--report <prefix>]
These importers read export files, so no vendor credentials are sent anywhere. A run is a dry run unless --apply is given and always writes the skip report.
Source |
|
| Mapped to |
|---|---|---|---|
| NerdGraph policies with NRQL conditions | dashboard JSON array |
|
|
| none |
|
| Prometheus rule file | none |
|
|
| none |
|
| triggers array | boards array (listed only) |
|
| Settings 2.0 metric events | dashboards array |
|
| none | saved-objects NDJSON | logs panels via the KQL translator; ingest pipelines listed |
Log pipelines are reported, never imported. Everything not mapped appears under Unsupported with its reason.
Sunset and acquired vendors
Opsgenie (end of sale), Splunk On-Call and Grafana OnCall OSS: see oncall.md.
Chronosphere: Prometheus rules and Grafana dashboards import as above.
Helicone (maintenance mode): export with
npx @helicone/export --format jsonl, thenwtctl import helicone --file export.jsonl --endpoint <gateway> --key <ingestion key>replays each request as agen_aispan (model, tokens, cost, latency, user, properties;--dry-runcounts only). Ids come from the Helicone response id, so a rerun is deduplicated. For new traffic, point the OpenLLMetry or OTLP exporter at the gateway.Traceloop (ServiceNow), Galileo (Splunk Agent Observability): OTLP or OpenLLMetry instrumentation; change the exporter endpoint and key to the Watchtower gateway. OpenLLMetry spans are ingested as is (
crates/wt-llm/src/openllmetry.rs).