Kubetail is a logging dashboard for Kubernetes that lets you view multiple log streams simultaneously, in real-time (runs on desktop or in cluster)
Demo: https://www.kubetail.com/demo
Viewing application logs in a containerized environment can be challenging. Typically, an application consists of several services, each deployed across multiple containers which are load balanced to ensure an even consumption of resources. Although viewing individual container logs is easy using tools such as kubectl
or the Kubernetes Dashboard, simultaneously monitoring logs from all the containers that constitute an application is more difficult. This is made even more difficult by the ephemeral nature of containers, which constantly cycle in and out of existence.
Kubetail solves this problem by providing an easy-to-use, web-based interface that allows you to view all the logs for a set of Kubernetes workloads (e.g. Deployment, CronJob, StatefulSet) simultaneously, in real-time. Under the hood, it uses your cluster's Kubernetes API to monitor your workloads and detect when a new workload container gets created or an old one deleted so it can keep your messages up-to-date in one stream. This allows you to follow your application logs easily as user requests move from one ephemeral container to another across services. Kubetail can also help you to debug application issues by allowing you to filter your logs by node properties such as availability zone, CPU architecture or node ID. This can be useful to find problems that are specific to a given environment that an application instance is running in.
The main entry point for Kubetail is a CLI tool called kubetail
that you can use to run a web dashboard locally on your desktop. The web dashboard uses your local kube config file to detect your clusters and lets you switch between them easily. In addition, you can run the web dashboard inside an individual cluster if you want to enable cluster users to use it without installing the CLI tool. Internally, Kubetail uses your Kubernetes API to request logs, so your log messages always stay in your possession and Kubetail is private by default. In addition, you can install the Kubetail Cluster API to provide extra information about your logs such as file size and last event timestamp.
Our goal is to build a powerful cloud-native logging platform designed from the ground up for a containerized environment and this project is a work-in-progress. If you notice a bug or have a suggestion please create a GitHub Issue or send us an email (hello@kubetail.com)!
- Clean, easy-to-use interface
- View log messages in real-time
- Filter logs by:
- Workload (e.g. Deployment, CronJob, StatefulSet)
- Absolute or relative time range
- Node properties (e.g. availability zone, CPU architecture, node ID)
- Uses your Kubernetes API to retrieve log messages so data never leaves your possession (private by default)
- Web dashboard can be installed on desktop or in cluster
- Switch between multiple clusters (Desktop-only)
First, install the Kubetail CLI tool (kubetail
) via homebrew:
brew install kubetail
Next, start the web dashboard using the serve
subcommand:
kubetail serve
This command will open http://localhost:7500/ in your default browser. Have fun viewing your Kubernetes logs in realtime!
First, download and run the install.sh script:
curl -sS https://www.kubetail.com/install.sh | bash
Next, start the web dashboard using the serve
subcommand:
kubetail serve
This command will open http://localhost:7500/ in your default browser.
Download the binary for your OS/Arch (from the latest release binaries):
Rename the file and make it executable:
mv <filename> kubetail
chmod a+x kubetail
Next, start the web dashboard using the serve
subcommand:
kubetail serve
This command will open http://localhost:7500/ in your default browser.
First, add the Kubetail org's chart repository, then install the "kubetail" chart:
helm repo add kubetail https://kubetail-org.github.io/helm-charts/
helm install kubetail kubetail/kubetail --namespace kubetail-system --create-namespace
For more information on how to configure the helm chart, see the chart's values.yaml file.
To access the web dashboard you can expose it as an ingress using the chart or you can use your usual access methods such as kubectl port-forward
:
kubectl port-forward -n kubetail-system svc/kubetail-dashboard 8080:8080
Visit http://localhost:8080. Have fun viewing your Kubernetes logs in realtime!
First, create a namespace for the Kubetail resources:
kubectl create namespace kubetail-system
Next, choose your authentication mode (cluster
or token
) and apply the latest manifest file:
# For cluster-based authentication use kubetail-clusterauth.yaml:
kubectl apply -f https://github.com/kubetail-org/helm-charts/releases/latest/download/kubetail-clusterauth.yaml
# For token-based authentication use kubetail-tokenauth.yaml:
kubectl apply -f https://github.com/kubetail-org/helm-charts/releases/latest/download/kubetail-tokenauth.yaml
To access the web dashboard you can use your usual access methods such as kubectl port-forward
:
kubectl port-forward -n kubetail-system svc/kubetail-dashboard 8080:8080
Visit http://localhost:8080. Have fun viewing your Kubernetes logs in realtime!
To install Kubetail using Glasskube, you can select "Kubetail" from the "ClusterPackages" tab in the Glasskube GUI then click "install" or you can run the following command:
glasskube install kubetail
Once Kubetail is installed you can use it by clicking "open" in the Glasskube GUI or by using the open
command:
glasskube open kubetail
Have fun viewing your Kubernetes logs in realtime!
Visit the Kubetail documentation
This monorepo contains the following modules:
- Kubetail CLI (modules/cli)
- Kubetail Cluster API (modules/cluster-api)
- Kubetail Cluster Agent (modules/cluster-agent)
- Kubetail Dashboard (modules/dashboard)
It also contains the source code for the Kubetail Dashboard's frontend:
- Dashboard UI (dashboard-ui)
- Create a Kubernetes dev cluster:
ctlptl apply -f hack/ctlptl/minikube.yaml
You can use any type of cluster that works with Tilt.
- Start the dev environment:
tilt up
- Run the Dashboard UI locally:
cd dashboard-ui
pnpm install
pnpm dev
Now access the dashboard at http://localhost:5173.
To build the Kubetail CLI tool executable (kubetail
), run the following command:
make
When the build process finishes you can find the executable in the local bin/
directory.
To build a docker image for a production deployment of the Kubetail Dashboard server, run the following command:
docker build -f build/package/Dockerfile.dashboard -t kubetail-dashboard:latest .
To build a docker image for a production deployment of the Kubetail Cluster API server, run the following command:
docker build -f build/package/Dockerfile.cluster-api -t kubetail-cluster-api:latest .
To build a docker image for a production deployment of the Kubetail Cluster Agent, run the following command:
docker build -f build/package/Dockerfile.cluster-agent -t kubetail-cluster-agent:latest .
We're building a cloud-native logging platform and would love your contributions! Here's how you can help:
- UI/UX design
- React frontend development
- Reporting issues and suggesting features
Reach us at hello@kubetail.com, or join our Discord server or Slack channel.