Show HN: Kubetail – Real-time log search for Kubernetes
Kubetail is a general-purpose logging dashboard for Kubernetes, optimized for tailing logs across multi-container workloads in real-time. With Kubetail, you can view logs from all the containers in a workload (e.g. Deployment or DaemonSet) merged into a single chronological timeline, delivered to your browser or terminal.
I launched Kubetail on HN last year and at that time the top request was to add search. Now I'm happy to say we finally have search available in our latest official release (cli/v0.4.3, helm/v0.10.1). You can check it out in action here:
Kubetail normally fetches logs using the Kubernetes API, which does not have search built-in. To enable search, click the “Install” button in the GUI or run `kubetail cluster install` in the CLI to deploy a DaemonSet that places a Kubetail agent on every node. Each agent runs a custom Rust binary powered by ripgrep; it scans the node’s log files and streams only matching lines to your browser or terminal. You can think of a Kubetail search as "remote grep" for your Kubernetes logs. Now you don’t need to download an entire log file just to grep it locally.
Since last year we've also added some other neat features that users find helpful. In particular, we built a simple CLI tool that starts the web dashboard on your desktop:
# Install
brew install kubetail
# Run
kubetail serve
We also added a powerful logs sub-command to the CLI that you can use to follow container logs or even fetch all the records in a given time window to analyze them in more detail locally (quick-start): # Follow example
$ kubetail logs deployments/web \
--with-ts \
--with-pod \
--follow
# Fetch example
$ kubetail logs deployments/web \
--since 2025-04-20T00:00:00Z \
--until 2025-04-21T00:00:00Z \
--all > logs.txt
We’ve added a lot more features since last year but these are the ones I wanted to highlight.I hope you like what we're doing with Kubetail! Your feedback is very valuable so please let us know what you think in the comments here or in our Discord chat.
Andres
Anyway all that is anecdotal, what you made here is really cool!
Another alternative is https://openobserve.ai/ . It needs to run as a daemon to ingest logs (instead of opening a file), but it has a really nice UI.
It's very WIP but I would love to help you get started if you want to try it out.
Great demo video btw. Would you mind detailing which software you used to make it? I'd like to do similarly for some of my projects.
Regarding Heroku - I loved Heroku the first time I used it so I set up my Kubernetes cluster to work in a similar way (`git push` to deploy to production). I know K8s has a reputation for being useful only for large deployments/large teams but in my experience this isn't true. You can run a single node cluster and use it to host multiple projects all sharing the same load balancer, or you can scale up to thousands of machines with many microservices working together internally. Would it be helpful for you to see a HOWTO for setting up a Heroku-like K8s cluster?
https://github.com/stern/stern
https://github.com/stern/stern
"Filter" sounds more accurate.
Would be really cool to install it into k8s and just hit a hosted web endpoint with all the logs and grep/exploration capabilities kubetail has.
https://github.com/johanhaleby/kubetail
Stern is a CLI tool which more closely compares to the Kubetail CLI tool (as opposed to the Kubetail web interface). Currently, there's a lot of overlap between the two tools but Kubetail gives you more control over source filters and time. For example with the Kubetail CLI tool you can do queries like this:
I'm not too familiar with stern though so please correct me if I'm wrong. In any case, soon we're going to add more features to the Kubetail CLI tool that will be unique (e.g. remote grep, system logs).