VictoriaMetrics¶
Connect HolmesGPT to VictoriaMetrics, a Prometheus-compatible time-series database, for metric queries during investigations.
When to Use This¶
- ✅ You run VictoriaMetrics as a Prometheus replacement or long-term store
- ✅ You want lighter resource usage than a full kube-prometheus-stack
- ✅ You have
vmsingleorvmclusterrunning in your cluster
Prerequisites¶
- A running VictoriaMetrics instance (
vmsingle,vmselect, orvmauth) reachable from where Holmes runs - The HTTP API endpoint (typically port 8428 for
vmsingle, 8481 forvmselect)
Configuration¶
HolmesGPT uses its built-in Prometheus toolset to query VictoriaMetrics — VM's HTTP API implements the Prometheus query API, so no separate toolset is required. Set subtype: victoriametrics so the UI shows this as a VictoriaMetrics integration (not a generic Prometheus one):
Add the following to ~/.holmes/config.yaml. Create the file if it doesn't exist:
toolsets:
prometheus/metrics:
enabled: true
subtype: victoriametrics
config:
prometheus_url: "http://vmsingle-vmsingle.monitoring.svc.cluster.local:8428"
When using the standalone Holmes Helm Chart, update your values.yaml:
toolsets:
prometheus/metrics:
enabled: true
subtype: victoriametrics
config:
prometheus_url: "http://vmsingle-vmsingle.monitoring.svc.cluster.local:8428"
Apply the configuration:
helm upgrade holmes holmes/holmes --values=values.yaml
When using the Robusta Helm Chart (which includes HolmesGPT), update your generated_values.yaml:
holmes:
toolsets:
prometheus/metrics:
enabled: true
subtype: victoriametrics
config:
prometheus_url: "http://vmsingle-vmsingle.monitoring.svc.cluster.local:8428"
Apply the configuration:
helm upgrade robusta robusta/robusta --values=generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME>
The subtype field is optional — omitting it still works, but the frontend catalog will display the integration under the generic "Prometheus" card rather than the dedicated "VictoriaMetrics" one.
For the complete list of supported configuration fields (authentication headers, timeouts, label filters, SSL verification, etc.), see the Prometheus toolset configuration reference.
Compatibility Notes¶
VictoriaMetrics implements the Prometheus query API, but a few less-common endpoints that Holmes uses have partial or no support:
| Holmes feature | VM support |
|---|---|
| PromQL instant and range queries | Full |
Label discovery (/api/v1/labels, /api/v1/label/<name>/values) |
Full |
Series queries (/api/v1/series) |
Full |
Metric metadata (/api/v1/metadata) |
Partial — fewer descriptions than Prometheus |
Alert / recording rules (/api/v1/rules) |
Requires vmalert; absent in vmsingle |
For day-to-day metric investigations, Holmes works the same as with Prometheus. Advanced metric discovery (via the metadata API) and alert-rule listing (via vmalert) may be reduced or unavailable.
Capabilities¶
Inherits every tool from the Prometheus toolset. See the Prometheus capabilities reference for the full list of tools Holmes can use against a VictoriaMetrics endpoint.