Prerequisites
- A Bronto account and API key (how to create one)
- A Kubernetes cluster with
kubectland Helm access - Pods writing to stdout/stderr (collected from
/var/log/podson each node)
Deploy the Collector DaemonSet
Install the Collector with the OpenTelemetry Helm chart. ItslogsCollection preset wires up the filelog receiver and node log mounts; the kubernetesAttributes preset adds pod, namespace, and node metadata and the RBAC it needs:
values.yaml
<REGION> to eu or us. Use x-bronto-collection to identify the cluster; Bronto infers per-workload datasets from the Kubernetes metadata.
For receiver settings, authentication, and available measurements, see the Collector Contrib Kubelet Stats receiver.
Cluster events
The DaemonSet above collects pod logs only. To also capture Kubernetes events (scheduling, image pulls, OOMKills, evictions), run a second Collector as a single-replica Deployment with thekubernetesEvents preset — it adds the k8sobjects receiver and the RBAC to watch events. Use a Deployment, not the DaemonSet, so events are not duplicated across nodes:
events-values.yaml
k8sobjects receiver (the k8s or contrib distribution). Events arrive in Bronto as log records carrying the event reason, message, involved object, and namespace.
What you will see in Bronto
Open Search for pod logs and the Metric Explorer for kubelet metrics. Kubernetes resource attributes identify the pod, namespace, node, and container.Exponential histograms are not supported, and the Metric Explorer does not currently provide a Rate function.
Troubleshooting
- No logs? Confirm the DaemonSet is running on every node (
kubectl get pods -l app.kubernetes.io/name=opentelemetry-collector) and that nodes expose logs under/var/log/pods. - Missing pod metadata? The
kubernetesAttributespreset creates the required RBAC by default — confirm it is enabled. - Kubelet returns
403for/pods? Grantgeton thenodes/proxysubresource. - For general issues, see OTel Collector troubleshooting.
Alternative: Fluent Bit
Fluent Bit is a long-established way to collect Kubernetes pod logs and a fine choice if your organization already runs it. Deploy it as a DaemonSet via the official Helm chart:fluent-bit.conf
json_lines, not json. The kubernetes filter enriches each log with pod metadata, mirroring the kubernetesAttributes preset. Fluent Bit does not collect cluster events — use the OpenTelemetry Collector for those. See Connect Fluent Bit to Bronto for details.
