Skip to main content

Overview

Niro can stream logs from any pod in your fleet directly to the browser. The stream is established through the agent — no inbound connectivity to the cluster is required.

Prerequisites

The log streaming capability must be enabled on the cluster. Check the cluster’s capabilities badge on the Fleet page or the cluster detail view. If logs are not enabled, re-run the installer with NIRO_ENABLE_LOGS=1:
curl -fsSL https://get.niro.cx/install.sh | NIRO_ENABLE_LOGS=1 sh
The capability appears in the dashboard within ~15 seconds. See Agent Capabilities for details on what RBAC is granted.

Viewing logs

  1. Go to Pods in the sidebar to see the cross-cluster pod inventory
  2. Find the pod you want to inspect (you can filter by cluster, namespace, or phase)
  3. Click the pod name to open the pod detail panel
  4. Click View logs — the log stream opens in an inline panel
Or from the cluster detail view:
  1. Open the cluster → Workloads
  2. Click a pod name
  3. Click View logs

How log streaming works

When you click View logs, Niro:
  1. Sends a log stream command to the agent specifying the target pod/container
  2. The agent calls kubectl logs --follow for the specified container
  3. The agent forwards log data to Niro in batches
  4. The dashboard subscribes to the stream and renders new lines in real time
Streams are coordinated through Niro, so they work reliably regardless of which backend you’re connected to.

Container selection

For pods with multiple containers, a dropdown lets you choose which container’s logs to stream. By default, the first container is selected.

Previous container logs

If a container has restarted (e.g. due to a crash loop), you can view the previous container’s logs by toggling Previous container in the log panel. This is particularly useful for diagnosing crash loops — you can see what the container logged before it exited.

Log retention

Logs are streamed live — they’re not stored in Niro. The log panel shows the tail of the live log stream since you opened it. For long-term log retention, configure a logging agent (e.g. Grafana Alloy, Fluent Bit, or Vector) in your cluster to forward logs to an external store.

Troubleshooting

The “View logs” button is grayed out

The cluster doesn’t have the log capability enabled. Re-run the installer:
curl -fsSL https://get.niro.cx/install.sh | NIRO_ENABLE_LOGS=1 sh

The stream shows “Connection error” or doesn’t start

  • Check that the agent pod is running: kubectl get pods -n niro-system
  • Check the agent logs for errors: kubectl logs -n niro-system -l app=niro-agent
  • The target pod may have been deleted or restarted between when you opened the panel and when the stream started

Logs stop flowing after a few seconds

The container may have exited. If the pod restarted, switch to Previous container to see the logs from the crashed instance.
Last modified on June 12, 2026