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.
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.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?
Thanks for sharing! The zoom and highlight are so simple but really make your demo pop.
> Would it be helpful for you to see a HOWTO for setting up a Heroku-like K8s cluster?
Sure, I think a lot of people would appreciate that!
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.
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...)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).Otherwise check out grafana with Loki (kube-stack)