Pre-built Grafana dashboards for visualizing metrics exported by the HoneybeePF eBPF agent via OpenTelemetry → Prometheus.
| File | Title | Panels | Focus |
|---|---|---|---|
honeybeepf-cost.json |
HoneybeePF — LLM Cost Observability | 15 | LLM API traffic, token usage, latency, cost attribution by team / pod / model |
honeybeepf-security.json |
HoneybeePF — Security & Compliance | 11 | File access monitoring, LLM ↔ file-access correlation, per-process auditing |
Two sections — External LLM API and On-Premise LLM — with:
- Requests / minute (by team, by model)
- Token usage / minute (prompt vs completion, by team, by model)
- Token share pie chart
- Latency p50 / p95 / p99
- 5-minute summary stats (total requests, total tokens, active probes)
- Per-pod token usage and p95 latency
- Top 10 pods by token usage
Template variables: $datasource, $team, $pod, $model.
Three sections:
- File Access Overview — events / minute, by namespace, top 10 accessed files
- Correlation & Hot Paths — LLM ↔ file-access correlation, file access by path
- Summary (Last 5 Minutes) — total events, unique files accessed, active probes
Template variables: $datasource, $process.
These dashboards expect the following Prometheus metrics exported by the HoneybeePF agent. The agent emits them via OTLP to an OpenTelemetry Collector, which forwards them to Prometheus.
| Metric | Type | Labels |
|---|---|---|
honeybeepf_llm_requests_total |
Counter | model, status, target_namespace, target_pod_name |
honeybeepf_llm_tokens_total |
Counter | model, status, token_type (prompt / completion), target_namespace, target_pod_name |
honeybeepf_llm_latency_seconds_bucket |
Histogram | model, status, target_namespace, target_pod_name |
| Metric | Type | Labels |
|---|---|---|
honeybeepf_file_access_events_total |
Counter | filename, flags, process, cgroup_id, target_namespace, target_pod_name |
| Metric | Type | Labels |
|---|---|---|
honeybeepf_active_probes |
Gauge | probe |
Note:
target_namespaceandtarget_pod_namelabels are only populated when the agent is built with thek8sfeature flag (the Docker image uses this by default).
- Open Grafana → Dashboards → New → Import
- Click Upload JSON file and select one of the files in this directory
- When prompted, choose your Prometheus data source (the dashboards default
to a data source named
Prometheus) - Click Import
Repeat for both dashboards.
If your Grafana is configured with the
grafana-sidecar-dashboards
pattern (as in the official Grafana Helm chart with
sidecar.dashboards.enabled=true), create a labeled ConfigMap and the
sidecar will pick up the dashboards automatically:
kubectl -n monitoring create configmap honeybeepf-dashboards \
--from-file=docs/grafana/honeybeepf-cost.json \
--from-file=docs/grafana/honeybeepf-security.json
kubectl -n monitoring label configmap honeybeepf-dashboards \
grafana_dashboard=1Within a minute the sidecar will discover the ConfigMap, and both dashboards will appear in Grafana.
See charts/honeybeepf-llm/values.yaml
for the Helm-based deployment. Dashboards can be shipped alongside the chart
by rendering a ConfigMap from these JSON files.
Both dashboards use a $datasource template variable so they work with any
Prometheus-compatible backend:
- Prometheus
- Thanos
- Mimir
- VictoriaMetrics
- Cortex
The default data source name is Prometheus. If your data source has a
different name, select it from the Datasource dropdown at the top of
the dashboard after import.
If you modify a dashboard inside Grafana and want to save the changes back:
- Open the dashboard
- Click the Share icon → Export tab
- Enable Export for sharing externally
- Click Save to file and overwrite the corresponding JSON here
- Run a quick sanity check:
jq -e . docs/grafana/honeybeepf-cost.json > /dev/null && echo ok
grep -c VictoriaMetrics docs/grafana/*.json # should be 0 for bothImportant: Before committing an updated JSON, make sure every
"uid": "..."under any"datasource"field is set to"${datasource}"— not a hardcoded data source name. Hardcoded UIDs make the dashboard unusable on anyone else's Grafana instance.
These dashboards are distributed under the Apache License 2.0, the same license as the rest of the HoneybeePF project.