Show HN: Kubetail – Real-time log search for Kubernetes

54 andres 20 5/1/2025, 9:11:38 PM github.com ↗
Hi Everyone!

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:

https://www.kubetail.com/demo

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

Comments (20)

corytheboyd · 3h ago
Damn, if you took out the “Kubernetes” part, and made it generalized, it looks like you built something that I have wanted to see for a long time. I think log explorers work best as a GUI, and that they need deep integration with structured logs. Basically I just want the DataDog log explorer but locally, and able to simply intake from some files. Some have tried, but they are always too simple, not parsing out properties of structured logs and building good filtering on top of that. I think setting up Grafana/Loki/Whatever is way too heavy for such a simple ask.

Anyway all that is anecdotal, what you made here is really cool!

andres · 3h ago
Thanks! Part of what enables us to make a helpful lightweight solution is that we're leveraging the Kubernetes API to give logs context without requiring extra configuration. It'd be great to generalize Kubetail but a lot of that depends on how cloud platforms evolve over the next few years. Do you use Kubernetes?
AYBABTME · 1h ago
Sorry for bringing up my own side-project on a "Show HN", but I'm making humanlog.io which does exactly what you want. Local-first log query engine (and tracing too, soon). You feed it your logs and you can search them, aggregate them, and soon make some graphs and dashboards with them. It started as just a CLI tool to parse and make structured logs pretty, and now I'm turning it into a full observability tool on your machine.

It's very WIP but I would love to help you get started if you want to try it out.

carlgreene · 3h ago
Wow, this is exactly what I’ve been missing—juggling a dozen kubectl logs windows and still losing context. Seeing all container logs merged in real time is a game-changer for debugging multi-pod workloads. Love that it runs locally against the API—no more sending sensitive logs offsite. Big thanks to the author for saving my sanity here!
biot · 35m ago
While the search offered is handy, I watch logs on multi-pod workloads via:

    kubectl logs -f -l app=api --max-log-requests=50
This follows along all pods with the given label (app: api) for up to 50 pods or however many you want. Quite useful when I'm looking for specific output such as ERROR logs to just pipe it to grep like this:

    kubectl logs -f -l app=api --max-log-requests=50 | grep ERROR
and get realtime filtering of all log output without having to tail individual pods by name.
andres · 3h ago
Thanks! Your comment made my day! It sounds like your use-case is similar to mine when I started working on the project. Now we have a community of contributors working on Kubetail so if you have time, stop by our Discord and let us know what else we can do to help (https://discord.gg/CmsmWAVkvX).
otterley · 48m ago
"Search" feels like a bit of a stretch to me--that suggests that it plays in the same space as OpenSearch or Splunk. There's no index here that I can tell.

"Filter" sounds more accurate.

andres · 24m ago
Yes, there's no index. It uses grep (powered by ripgrep) under the hood.
glitchcrab · 3h ago
My personal preference for log tailing is Stern. It doesn't have a web UI but then I've never felt like I needed one.

https://github.com/stern/stern

rc00 · 39m ago
+1 for Stern especially since it only has Go dependencies whereas Kubetail does not. Ease of integration with an existing stack is a bigger addition than the lack of a web UI is a subtraction.
andres · 3h ago
If you get a chance to try out the Kubetail CLI, I'd love to hear your thoughts! There's a lot of overlap with stern at the moment but we're planning on adding new features soon that will be unique (e.g. remote grep, system logs).
LetMeLogin · 3h ago
Stern is the best!
badmonster · 1h ago
How does it compare to tools like Loki/Grafana or Stern?
andres · 27m ago
Kubetail is more lightweight than Loki/Grafana. It fetches logs using the Kubernetes API which means you can only see the current state of the cluster but you can use it without installing any additional software or provisioning storage. Our new search feature greps container log files on the nodes themselves as compared to Loki/Grafana that builds a full-text index in the background and queries that at search time (I think).

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:

    kubetail logs deployments/web \
      --since 2025-05-01T00:00:00Z \
      --until 2025-05-02T00:00:00Z \
      --zone us-east-1a \
      --with-ts \
      --with-node \
      --with-pod \
      --tail=100
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).
ai-christianson · 2h ago
This looks awesome --do you cache or store the logs, or is that left up to k8s?
andres · 2h ago
Thanks! Kubetail doesn't cache or store logs itself. By default, it uses the Kubernetes API to fetch logs from your cluster and send them directly to your client (browser or terminal). If the "Kubetail Cluster API" is installed then it uses Kubetail's custom agent to do the same.
ai-christianson · 2h ago
Presumably I can install this (the web frontend) into k8s itself. Is there a helm chart or kustomize?

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.

andres · 2h ago
Yep! You can use Kubetail on your desktop (using the CLI tool) or you can install it directly in your cluster using helm:

    helm repo add kubetail https://kubetail-org.github.io/helm-charts/
    helm install kubetail kubetail/kubetail --namespace kubetail-system --create-namespace
Then you can access it using `kubectl proxy` or `kubectl port-forward`:

    kubectl port-forward -n kubetail-system svc/kubetail-dashboard 8080:8080
You can also configure an ingress using the values.yaml file (https://github.com/kubetail-org/helm-charts/blob/main/charts...)
hnlub · 2h ago
Not to be confused with the other kubetail that also does kube log things.

https://github.com/johanhaleby/kubetail

andres · 2h ago
Thanks for posting a link to Johan's project. I'm in touch with him to figure out the best way to avoid confusing users.