Skip to main content
Nebius Observability Agent for Kubernetes is a Helm chart developed and maintained by Nebius AI Cloud, specifically designed for Managed Service for Kubernetes® clusters. Nebius Observability Agent for Kubernetes provides:
  • Out-of-the-box metrics collection with minimal configuration
  • Built-in metric enrichment (e.g., adds cluster ID and other metadata)
  • High reliability and tight integration with Nebius AI Cloud
  • Unified observability agent that can collect logs, metrics and traces

Installation

Basic installation

  1. Connect to your Managed Service for Kubernetes cluster.
  2. Install the Nebius Observability Agent for Kubernetes Helm chart:
    helm install nebius-o11y-agent oci://cr.nebius.cloud/observability/public/nebius-o11y-agent-helm \
      --version $(curl https://nebius-o11y-agent.storage.eu-north1.nebius.cloud/nebius-o11y-agent-helm/latest-release) \
      --namespace observability --create-namespace
    
    To use a specific agent version, change the --version value, for example:
    helm install nebius-o11y-agent oci://cr.nebius.cloud/observability/public/nebius-o11y-agent-helm \
      --version 1.0.1 \
      --namespace observability --create-namespace
    
  3. Check the installation:
    kubectl get pods --namespace observability
    

Installation with custom configuration

To customize the agent configuration, create a values.yaml file and install the agent with custom settings:
helm install nebius-o11y-agent oci://cr.nebius.cloud/observability/public/nebius-o11y-agent-helm \
  --version $(curl https://nebius-o11y-agent.storage.eu-north1.nebius.cloud/nebius-o11y-agent-helm/latest-release) \
  --namespace observability --create-namespace \
  --values values.yaml

Configuration

Basic configuration

You can customize the Nebius Observability Agent for Kubernetes behavior by creating a values.yaml file:
config:
  logs:
    enabled: true
    collectAgentLogs: false
    excludedNamespaces:
      - kube-system

  metrics:
    enabled: true
    collectAgentMetrics: false
    collectK8sClusterMetrics: false

Configuration options

Log collection settings

  • config.logs.enabled: Enable or disable log collection. Default: true.
  • config.logs.collectAgentLogs: An option to collect logs from the Nebius Observability Agent for Kubernetes itself. Default: false.
  • config.logs.excludedNamespaces: List of namespaces to exclude from log collection.

Metrics collection settings

  • config.metrics.enabled: Enable or disable metrics collection. Default: true.
  • config.metrics.collectAgentMetrics: An option to collect metrics from the Nebius Observability Agent for Kubernetes itself. Default: false.
  • config.metrics.collectK8sClusterMetrics: An option to collect Kubernetes cluster-level metrics. Default: false.
  • config.metrics.excludedNamespaces: List of namespaces to exclude from metrics collection.

Traces collection settings

  • config.traces.enabled: Enable or disable trace collection. Default: true.
When traces are enabled, the agent exposes an OTLP endpoint for receiving traces from your applications:
nebius-observability-agent.<namespace>.svc.cluster.local:4317
Where <namespace> is the namespace where the agent is installed (e.g., observability).

Logs-only configuration

To collect only logs, configure the values.yaml file in the following way:
config:
  logs:
    enabled: true
    collectAgentLogs: false
    excludedNamespaces:
      - kube-system

  metrics:
    enabled: false

Metrics-only configuration

To collect only metrics, configure the values.yaml file in the following way:
config:
  logs:
    enabled: false

  metrics:
    enabled: true
    collectAgentMetrics: false
    collectK8sClusterMetrics: false

Combined logs and metrics configuration

To collect both logs and metrics, configure the values.yaml file in the following way:
config:
  logs:
    enabled: true
    collectAgentLogs: false
    excludedNamespaces:
      - kube-system

  metrics:
    enabled: true
    collectAgentMetrics: false
    collectK8sClusterMetrics: false

Traces-only configuration

To collect only traces, configure the values.yaml file in the following way:
config:
  logs:
    enabled: false

  metrics:
    enabled: false

  traces:
    enabled: true

Full observability configuration

To collect logs, metrics and traces, configure the values.yaml file in the following way:
config:
  logs:
    enabled: true
    collectAgentLogs: false
    excludedNamespaces:
      - kube-system

  metrics:
    enabled: true
    collectAgentMetrics: false
    collectK8sClusterMetrics: false

  traces:
    enabled: true

Namespace exclusions

By default, the agent excludes the kube-system namespace to avoid collecting system-level logs and metrics. You can exclude additional namespaces by adding them to the excludedNamespaces list:
config:
  logs:
    excludedNamespaces:
      - kube-system
      - monitoring
      - cert-manager
      - istio-system

  metrics:
    excludedNamespaces:
      - kube-system
      - monitoring
      - cert-manager
      - istio-system

Updating the agent

To update the Nebius Observability Agent for Kubernetes to a newer version, use the following command:
helm upgrade nebius-o11y-agent oci://cr.nebius.cloud/observability/public/nebius-o11y-agent-helm \
  --version $(curl https://nebius-o11y-agent.storage.eu-north1.nebius.cloud/nebius-o11y-agent-helm/latest-release) \
  --namespace observability \
  --values values.yaml

Uninstalling the agent

To remove the Nebius Observability Agent for Kubernetes, use the following command:
helm uninstall nebius-o11y-agent --namespace observability

Troubleshooting

If you encounter issues with the agent:
  1. Check the agent pod status:
    kubectl get pods --namespace observability
    kubectl describe pod <Pod_name> --namespace observability
    
  2. View agent logs:
    kubectl logs <Pod_name> --namespace observability
    
  3. Verify the configuration:
    helm get values nebius-o11y-agent --namespace observability
    

See also