
Breaking siloes: How to use cross-store correlations with Grafana
Grafana is great at hopping between signals in its native backends (Grafana Loki, Grafana Mimir, Grafana Tempo). But your data doesn’t have to live there to get the same smooth workflow.
Afterall, we don’t just pay lip service to our “big tent” philosophy—we want to meet all our users’ diverse needs, regardless of what kind of data you have or where you store it.
One of the ways we help you do this is with correlations, a feature in Grafana that lets you jump from a chart to logs or traces with one click. The time range and label values are carried automatically—no copying and pasting, no new agents.
In this blog, I’ll show you how easy it is to start using them with third-party data in Grafana. And while I’ll be using VictoriaMetrics for this example, the same principle should apply for your favorite data source, too.
Why you should use correlations in Grafana
Correlations turn a multi-tool investigation into a guided hop: click a spike, land on the exact logs that matter, and keep your mental stack intact. With whatever metrics backend you already use, a tiny bit of setup delivers outsized speed when something breaks.
And because correlations are just links powered by variables and optional transformations, you can grow them over time—into traces, profiles, or runbooks—without any extra steps.
Prerequisites
Here’s what you’ll need to follow along:
- A Grafana Cloud stack: This gives you access to Grafana and Grafana Cloud Logs (powered by Loki). The forever-free tier is a good place to start if you don’t already have an account.
- A place to store metrics: As I previously mentioned, I’ll be using VictoriaMetrics in this post. I’ve deployed mine inside the k3d cluster.
- A small demo app: We’ll need an app that exposes Prometheus metrics and writes logs.
Note on connectivity: Because my Grafana Cloud UI lives on the internet and VictoriaMetrics lives in my local cluster, I need to expose VictoriaMetrics securely. For this example I’ve used a separate agent called Private Data Source Connect, which builds an SSH tunnel for that purpose. For more information check the corresponding docs.
Tools I used
1. VictoriaMetrics (metrics): Install the Kubernetes stack with vmagent and VMSingle:
helm repo add vm https://victoriametrics.github.io/helm-charts
helm repo update
helm install vmstack vm/victoria-metrics-k8s-stack \
--set grafana.enabled=false \
--set vmsingle.enabled=true \
--set vmagent.enabled=true \
--set vmagent.externalLabels.cluster=k3dThis chart deploys a working metrics pipeline (vmagent scraping Kubernetes + your apps) and stores data in VMSingle.
2. Grafana Cloud account (Grafana + Loki)
Create a free stack if you haven’t already. In the stack, you’ll use Grafana Cloud Logs (Loki) as the target for your correlation links. To ship logs from the cluster, I am using our Kubernetes Monitoring Helm chart with default settings.
3. Demo app
Any application with metrics on /metrics endpoint and logs will do. For instance, here is one of the most beloved community apps: https://github.com/stefanprodan/podinfo. It’s a tiny web application made with Go that does exactly what we need. podinfo exposes Prometheus metrics at /metrics and writes structured logs to stdout, which Promtail or Grafana Alloy scrape and forward.
4. Add VictoriaMetrics as a data source in Grafana
Grafana can query VictoriaMetrics using the built-in Prometheus data source (VictoriaMetrics is Prometheus-compatible) or the VictoriaMetrics plugin. For transparency-sake, I’m using the plugin.

Create the correlation
Now the data sources are created and we can set up the correlation rule itself. You can do this in Administration → Plugins and data → Correlations. The settings I used are:
- Correlation link name: “View logs for pod”
- Source data source: Your VictoriaMetrics data source.
- Target data source: Your Grafana Cloud Logs (Loki) data source.
- Target query (example):
{namespace="${__data.fields.namespace}"} | pod="${__data.fields.pod}"
- Actionable fields/labels: Make pod label actionable.

Try it in Explore
Now everything is set and we can give it a go in Explore mode:
- Open Explore and select your VictoriaMetrics data source.
- Query something simple, (e.g.,
nginx_http_connections). - Switch the results to Table view. You should see the pod column as a clickable link.
- Click the pod value. Grafana opens a split view: the left panel keeps your metrics; the right panel runs the Loki query using namespace and pod from the selected row.
Even though the metrics aren’t in Grafana-managed storage, you still get a clean, one-click pivot into the right logs.
And that’s it. With these simple steps, you can start finding correlations across all your critical third-party data sources—no reconfiguring needed
Grafana Cloud is the easiest way to get started with metrics, logs, traces, dashboards, and more. We have a generous forever-free tier and plans for every use case. Sign up for free now!





