Enable Advanced Metrics in Retina with Existing Hubble/Cilium Setup
- Dominant language
- Go
- Stars
- 3.2k
- Forks
- 304
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 78
Description
**Is your feature request related to a problem? Please describe.**
I'm trying to enable advanced metrics ("advance" mode) in Retina on top of an already existing Hubble/Cilium setup. I’m unable to get the detailed metrics exposed, and it's unclear how to properly integrate Retina into a pre-existing Cilium + Hubble deployment. I’m particularly frustrated because although the Helm chart appears to support disabling Hubble, doing so seems to prevent Retina from functioning as expected.
**Describe the solution you'd like**
Clear documentation or guidance on how to deploy Retina in “advance” mode in an environment where Cilium and Hubble are already installed and configured independently. Specifically, I want to understand:
- How to configure Retina to leverage the existing Hubble metrics pipeline
- Whether I need Hubble components within the Retina chart enabled, or if I can rely solely on the existing ones
- What configuration is needed to expose the detailed metrics Retina is capable of
**Describe alternatives you've considered**
I tried:
1. Deploying the retina-hubble Helm chart with all internal Hubble components disabled:
```yaml
hubble:
enabled: false
ui:
enabled: false
tls:
enabled: false
auto:
enabled: false
relay:
enabled: false
tls:
server:
enabled: false
```
2. Pointing the existing Hubble deployment to expose these metrics:
```yaml
hubble:
metrics:
enabled:
- 'flow:sourceEgressContext=pod;destinationIngressContext=pod'
- 'tcp:sourceEgressContext=pod;destinationIngressContext=pod'
- 'dns:query;sourceEgressContext=pod;destinationIngressContext=pod'
- 'drop:sourceEgressContext=pod;destinationIngressContext=pod'
```
However, even after these attempts, when I port-forward a `retina-agent` pod, I still only see the default metrics (like DNS stats, TCP connection stats), and none of the advanced flow-level metrics seem to be present.
**Additional context**
Here is the full `values.yaml` used with the chart:
```yaml
os:
windows: false
linux: true
operator:
enabled: true
repository: ghcr.io/microsoft/retina/retina-operator
tag: v0.0.33
agent:
enabled: true
repository: ghcr.io/microsoft/retina/retina-agent
tag: v0.0.33
init:
enabled: true
repository: ghcr.io/microsoft/retina/retina-init
tag: v0.0.33
enablePodLevel: true
remoteContext: true
logLevel: info
hubble:
enabled: false
ui:
enabled: false
tls:
enabled: false
auto:
enabled: false
relay:
enabled: false
tls:
server:
enabled: false
```
Command used:
```bash
$ helm upgrade --install retina oci://ghcr.io/microsoft/retina/charts/retina-hubble \
--version v0.0.33 \
--namespace kube-system \
-f values-hubble.yaml
```
**Questions**:
- Does Retina require Hubble components to be deployed via its Helm chart?
- Can Retina work with an existing Cilium/Hubble setup?
- How can I confirm it's working?
Contributor guide
Research direction
Review the retina-hubble Helm chart configuration alongside the supplied values-hubble.yaml and the existing Cilium/Hubble deployment. Document whether external Hubble components are supported, the required settings for advanced metrics, and how to verify the resulting metrics from a retina-agent pod.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, helm, kubernetes
- Domain
- documentation, networking, observability
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100