{"id":13596807,"url":"https://github.com/kubetail-org/kubetail","last_synced_at":"2026-01-17T21:31:59.866Z","repository":{"id":222132098,"uuid":"756293439","full_name":"kubetail-org/kubetail","owner":"kubetail-org","description":"Real-time logging dashboard for Kubernetes (browser/terminal)","archived":false,"fork":false,"pushed_at":"2025-05-15T12:39:47.000Z","size":2802,"stargazers_count":1082,"open_issues_count":19,"forks_count":41,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-15T13:45:39.524Z","etag":null,"topics":["dashboard","kubernetes","logging","monitoring","private","real-time"],"latest_commit_sha":null,"homepage":"https://www.kubetail.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubetail-org.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"kubetail-org"}},"created_at":"2024-02-12T11:32:32.000Z","updated_at":"2025-05-15T12:39:51.000Z","dependencies_parsed_at":"2024-02-12T15:40:18.722Z","dependency_job_id":"2fb6db08-21f4-4f97-ad91-9e9f416a7028","html_url":"https://github.com/kubetail-org/kubetail","commit_stats":{"total_commits":159,"total_committers":4,"mean_commits":39.75,"dds":0.05660377358490565,"last_synced_commit":"60373fff00738b4a2aefe77e2c9e59c508cf441c"},"previous_names":["kubetail-org/kubetail"],"tags_count":155,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubetail-org%2Fkubetail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubetail-org%2Fkubetail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubetail-org%2Fkubetail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubetail-org%2Fkubetail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubetail-org","download_url":"https://codeload.github.com/kubetail-org/kubetail/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254478186,"owners_count":22077675,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","kubernetes","logging","monitoring","private","real-time"],"created_at":"2024-08-01T16:02:49.084Z","updated_at":"2026-01-17T21:31:59.850Z","avatar_url":"https://github.com/kubetail-org.png","language":"Go","funding_links":["https://github.com/sponsors/kubetail-org"],"categories":["Go","语音识别与合成_其他","K8S-Tools"],"sub_categories":["资源传输下载"],"readme":"# Kubetail\n\n_Kubetail is a real-time logging dashboard for Kubernetes (browser/terminal)_ \n\n\u003ca href=\"https://youtu.be/q9rV9gHQb4Q\"\u003e\n  \u003cimg width=\"350\" alt=\"demo-thumbnail\" src=\"https://github.com/user-attachments/assets/3b528e7e-5f8a-4bfd-86a1-0b70691b8a4c\"\u003e\n\u003c/a\u003e\n\nDemo: [https://www.kubetail.com/demo](https://www.kubetail.com/demo)\n\n\u003ca href=\"https://discord.gg/CmsmWAVkvX\"\u003e\u003cimg src=\"https://img.shields.io/discord/1212031524216770650?logo=Discord\u0026style=flat-square\u0026logoColor=FFFFFF\u0026labelColor=5B65F0\u0026label=Discord\u0026color=64B73A\"\u003e\u003c/a\u003e\n[![Slack](https://img.shields.io/badge/Slack-kubetail-364954?logo=slack\u0026labelColor=4D1C51)](https://kubernetes.slack.com/archives/C08SHG1GR37)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)\n[![Contributor Resources](https://img.shields.io/badge/Contributor%20Resources-purple?style=flat-square)](https://github.com/kubetail-org)\n\n## Introduction\n\n\u003cimg src=\"https://github.com/user-attachments/assets/3713a774-1b3a-41f9-8e9d-9331bbf8acac\" width=\"300\" title=\"Kubetail\"\u003e\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n**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.\n\nThe primary entry point for Kubetail is the `kubetail` CLI tool, which can launch a local web dashboard on your desktop or stream raw logs directly to your terminal. Behind the scenes, Kubetail uses your cluster's Kubernetes API to fetch logs directly from your cluster, so it works out of the box without needing to forward your logs to an external service first. Kubetail also uses your Kubernetes API to track container lifecycle events in order to keep your log timeline in sync as containers start, stop or get replaced. This makes it easy to follow logs seamlessly as user requests move from one ephemeral container to another across services.\n\nOur goal is to build the most powerful, user-friendly logging platform for Kubernetes and we'd love your input. If you notice a bug or have a suggestion please create a GitHub Issue or send us an email (hello@kubetail.com)!\n\n## Features\n\n* Clean, easy-to-use interface\n* View log messages in real-time\n* Filter logs by:\n  * Workload (e.g. Deployment, CronJob, StatefulSet)\n  * Absolute or relative time range\n  * Node properties (e.g. availability zone, CPU architecture, node ID)\n  * Grep \n* Uses your Kubernetes API to retrieve log messages so data never leaves your possession (private by default)\n* Web dashboard can be installed on desktop or in cluster\n* Switch between multiple clusters (Desktop-only)\n\n## Quickstart (Desktop)\n\n### Option 1: Package Managers\n\nFirst, install the Kubetail CLI tool (`kubetail`) via your favorite package manager:\n\n```console\n# Homebrew\nbrew install kubetail\n\n# Krew\nkubectl krew install kubetail\n\n# Snap\nsudo snap install kubetail\n\n# Winget\nwinget install kubetail\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003eSee 10 more options (Ubuntu/Mint, Arch, Fedora/CentOS/RHEL, SUSE, Gentoo, Chocolatey, Scoop, MacPorts, Nix, asdf)\u003c/summary\u003e\n  \n  ```console\n  # Ubuntu/Mint (apt)\n  sudo add-apt-repository ppa:kubetail/kubetail\n  sudo apt update \u0026\u0026 sudo apt install kubetail-cli\n\n  # Arch Linux (AUR)\n  yay -S --noconfirm kubetail-cli\n\n  # Fedora/CentOS/RHEL/Amazonlinux/Mageia (copr)\n  dnf copr enable kubetail/kubetail\n  dnf install kubetail\n\n  # SUSE (zypper)\n  zypper addrepo 'https://download.opensuse.org/repositories/home:/kubetail/$releasever/' kubetail\n  zypper refresh \u0026\u0026 zypper install kubetail-cli\n\n  # Gentoo (GURU)\n  ACCEPT_KEYWORDS=\"~$(portageq envvar ARCH)\" emerge dev-util/kubetail\n\n  # Chocolatey\n  choco install kubetail\n\n  # Scoop\n  scoop install kubetail\n\n  # MacPorts\n  sudo port install kubetail\n\n  # Nix (Flake)\n  nix profile add github:kubetail-org/kubetail-nix\n\n  # Nix (Classic)\n  nix-env -i -f https://github.com/kubetail-org/kubetail-nix/archive/refs/heads/main.tar.gz\n\n  # asdf\n  asdf plugin add kubetail https://github.com/kubetail-org/asdf-kubetail.git\n  asdf install kubetail latest\n  ```\n\u003c/details\u003e\n\nNext, start the web dashboard using the `serve` subcommand:\n\n```console\nkubetail serve\n```\n\nThis command will open [http://localhost:7500/](http://localhost:7500/) in your default browser. Have fun tailing your logs!\n\n### Option 2: Shell script\n\nFirst, download and run the install script:\n\n```console\ncurl -sS https://www.kubetail.com/install.sh | bash\n```\n\nNext, start the web dashboard using the `serve` subcommand:\n\n```console\nkubetail serve\n```\n\nThis command will open [http://localhost:7500/](http://localhost:7500/) in your default browser. Have fun tailing your logs!\n\n### Option 3: Binaries\n\nDownload the binary for your OS/Arch (from the latest [release binaries](https://github.com/kubetail-org/kubetail/releases/latest)):\n\n* Darwin ([amd64](https://github.com/kubetail-org/kubetail/releases/latest/download/kubetail-darwin-amd64), [arm64](https://github.com/kubetail-org/kubetail/releases/latest/download/kubetail-darwin-arm64))\n* Linux ([amd64](https://github.com/kubetail-org/kubetail/releases/latest/download/kubetail-linux-amd64), [arm64](https://github.com/kubetail-org/kubetail/releases/latest/download/kubetail-linux-arm64))\n* Windows ([amd64](https://github.com/kubetail-org/kubetail/releases/latest/download/kubetail-windows-amd64), [arm64](https://github.com/kubetail-org/kubetail/releases/latest/download/kubetail-windows-arm64))\n\nRename the file and make it executable:\n\n```console\nmv \u003cfilename\u003e kubetail\nchmod a+x kubetail\n```\n\nNext, start the web dashboard using the `serve` subcommand:\n\n```console\nkubetail serve\n```\n\nThis command will open [http://localhost:7500/](http://localhost:7500/) in your default browser. Have fun tailing your logs!\n\n## Quickstart (Cluster)\n\n### Option 1: Helm\n\nFirst, add the Kubetail org's chart repository, then install the \"kubetail\" chart:\n\n```console\nhelm repo add kubetail https://kubetail-org.github.io/helm-charts/\nhelm install kubetail kubetail/kubetail --namespace kubetail-system --create-namespace\n```\n\nFor more information on how to configure the helm chart, see the chart's [values.yaml](https://github.com/kubetail-org/helm-charts/blob/main/charts/kubetail/values.yaml) file.\n\nTo 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`:\n\n```console\nkubectl port-forward -n kubetail-system svc/kubetail-dashboard 8080:8080\n```\n\nVisit [http://localhost:8080](http://localhost:8080). Have fun tailing your logs!\n\n### Option 2: YAML Manifest\n\nFirst, create a namespace for the Kubetail resources:\n\n```console\nkubectl create namespace kubetail-system\n```\n\nNext, choose your authentication mode (`cluster` or `token`) and apply the latest manifest file:\n\n```console\n# For cluster-based authentication use kubetail-clusterauth.yaml:\nkubectl apply -f https://github.com/kubetail-org/helm-charts/releases/latest/download/kubetail-clusterauth.yaml\n\n# For token-based authentication use kubetail-tokenauth.yaml:\nkubectl apply -f https://github.com/kubetail-org/helm-charts/releases/latest/download/kubetail-tokenauth.yaml\n```\n\nTo access the web dashboard you can use your usual access methods such as `kubectl port-forward`:\n\n```console\nkubectl port-forward -n kubetail-system svc/kubetail-dashboard 8080:8080\n```\n\nVisit [http://localhost:8080](http://localhost:8080). Have fun tailing your logs!\n\n### Option 3: minikube\n\nAs of minikube v1.36.0, you can install Kubetail easily as an addon:\n\n```console\nminikube addons enable kubetail\n```\n\nOnce the Kubetail pods are running in the cluster you can access it via a service:\n\n```console\nminikube service -n kubetail-system kubetail-dashboard\n```\n\n## Documentation\n\nVisit the [Kubetail documentation](https://www.kubetail.com/)\n\n## Roadmap and Status\n\nThis is our high-level plan for the Kubetail project, in order:\n\n|   | Step                                                  | Status |\n| - | ----------------------------------------------------- | ------ |\n| 1 | Real-time container logs                              | ✅     |\n| 2 | Real-time search and polished user experience         | 🛠️     |\n| 3 | Real-time system logs (e.g. systemd, k8s events)      | 🔲     |\n| 4 | Basic customizability (e.g. colors, time formats)     | 🔲     |\n| 5 | Message parsing and metrics                           | 🔲     |\n| 6 | Historic data (e.g. log archives, metrics timeseries) | 🔲     |\n| 7 | Kubetail API and developer-facing client libraries    | 🔲     |\n| N | World Peace                                           | 🔲     |\n\nAnd here are some additional details:\n\n**Real-time container logs**\n\nUsers can view the container logs from the pods currently running inside their clusters quickly and easily using a web dashboard. Users can view container logs organized by workloads and follow log messages as ephemeral containers get created and deleted. They can also narrow their viewing window by timestamp and filter logs by source properties such as region, zone and node.\n\n**Real-time search and polished user experience**\n\nUsers can install Kubetail easily on their desktops and in their clusters. By default, Kubetail will use only the Kubernetes API to fetch basic data such as running workloads and container logs. If a user wants more advanced functionality they can install Kubetail custom services in their cluster (i.e. \"Kubetail Cluster API\" and \"Kubetail Cluster Agent\", collectively known as the \"Kubetail API\") and gain access to features such as log search, log file sizes and last event timestamps. The entire experience of installing, upgrading and uninstalling the Kubetail API is very polished and users are able to view their logs with equally powerful tools in the browser and the terminal using the Kubetail web dashboard and CLI tool.\n\n**Real-time system logs**\n\nUsers who install the Kubetail API gain immediate access to their node-level logs (e.g. systemd) and cluster-level logs (e.g. kubernetes events) and view them in an integrated interface that shows their container logs in context with other system information such as CPU utilization, memory usage and disk space. System logs are viewable in real-time, in the same merged timeline with other logs. Users can filter system logs by timestamp and source properties.\n\n**Basic customizability**\n\nUsers can fully customize their Kubetail experience when using the web dashboard and CLI tool by modifying their user settings. The user settings are modifiable by hand using a config file or via the dashboard UI. The experience is very polished and works seamlessly across upgrades that may add/remove/modify user settings. Users have the option to sync their settings across multiple devices.\n\n## Development\n\n### Repository Structure\n\nThis monorepo contains the following modules:\n\n* Kubetail CLI ([modules/cli](modules/cli))\n* Kubetail Cluster API ([modules/cluster-api](modules/cluster-api))\n* Kubetail Cluster Agent ([crates/cluster_agent](crates/cluster_agent))\n* Kubetail Dashboard ([modules/dashboard](modules/dashboard))\n\nIt also contains the source code for the Kubetail Dashboard's frontend:\n\n* Dashboard UI ([dashboard-ui](dashboard-ui))\n\n### Setting up the Development Environment\n\n#### Dependencies\n\n* [Go](https://go.dev/)\n* [pnpm](https://pnpm.io/)\n* [Tilt](https://tilt.dev/)\n* [Tilt-compatible cluster](https://docs.tilt.dev/choosing_clusters.html) (e.g. [minikube](https://minikube.sigs.k8s.io/docs/), [kind](https://kind.sigs.k8s.io/docs/user/quick-start/), [docker-desktop](https://docs.tilt.dev/choosing_clusters.html#docker-for-desktop))\n* [ctlptl](https://github.com/tilt-dev/ctlptl) (optional)\n\n#### Next steps\n\n1. Create a [Tilt-compatible](https://docs.tilt.dev/choosing_clusters.html) Kubernetes Dev Cluster:\n\n```console\n# minikube\nctlptl apply -f hack/ctlptl/minikube.yaml\n\n# kind\nctlptl apply -f hack/ctlptl/kind.yaml\n\n# docker-desktop\nctlptl apply -f hack/ctlptl/docker-desktop.yaml\n```\n\n2. Start the dev environment:\n\n```console\ntilt up\n```\n\n3. Start the Dashboard server:\n\n```console\ncd modules/dashboard\ngo run cmd/main.go -c hack/config.yaml\n```\n\n4. Run the Dashboard UI locally:\n\n```console\ncd dashboard-ui\npnpm install\npnpm dev\n```\n\nNow access the dashboard at [http://localhost:5173](http://localhost:5173).\n\n### Optimize Development Environment for Rust (Optional)\n\nBy default, the dev environment compiles \"release\" builds of the Rust components when you run run `tilt up`. If you want to iterate more quickly, you can have Tilt compile the rust code locally using \"debug\" builds instead.\n\n#### Dependencies\n\n* [rustup](https://rustup.rs)\n* [protobuf](https://protobuf.dev/installation/)\n\n#### Next steps\n\nFirst, install the Rust target required for your architecture:\n\n```console\n# x86_64\nrustup target add x86_64-unknown-linux-musl\n\n# aarch64\nrustup target add aarch64-unknown-linux-musl\n```\n\nNext, install the tools required by Rust cross compiler:\n\n```console\n# macOS (Homebrew)\nbrew install FiloSottile/musl-cross/musl-cross\n\n# Linux (Ubuntu)\napt-get install musl-tools\n```\n\nOn macOS, add this to your `~/.cargo/config.toml` file:\n\n```\n[target.x86_64-unknown-linux-musl]\nlinker = \"x86_64-linux-musl-gcc\"\n\n[target.aarch64-unknown-linux-musl]\nlinker = \"aarch64-linux-musl-gcc\"\n```\n\nFinally, to use the local compiler, just run Tilt using using the `KUBETAIL_DEV_RUST_LOCAL` env flag:\n\n```console\nKUBETAIL_DEV_RUST_LOCAL=true tilt up\n```\n\n## Build\n\n### CLI Tool\n\nTo build the Kubetail CLI tool executable (`kubetail`), run the following command:\n\n```console\nmake\n```\n\nWhen the build process finishes you can find the executable in the local `bin/` directory.\n\n### Dashboard\n\nTo build a docker image for a production deployment of the Kubetail Dashboard server, run the following command:\n\n```console\ndocker build -f build/package/Dockerfile.dashboard -t kubetail-dashboard:latest .\n```\n\n### Cluster API\n\nTo build a docker image for a production deployment of the Kubetail Cluster API server, run the following command:\n\n```console\ndocker build -f build/package/Dockerfile.cluster-api -t kubetail-cluster-api:latest .\n```\n\n### Cluster Agent\n\nTo build a docker image for a production deployment of the Kubetail Cluster Agent, run the following command:\n\n```console\ndocker build -f build/package/Dockerfile.cluster-agent -t kubetail-cluster-agent:latest .\n```\n\n## Get Involved\n\nWe're building the most **user-friendly**, **cost-effective**, and **secure** logging platform for Kubernetes and we'd love your contributions! Here's how you can help:\n\n* UI/UX design\n* React frontend development\n* Reporting issues and suggesting features\n\nReach us at hello@kubetail.com, or join our [Discord server](https://discord.gg/CmsmWAVkvX) or [Slack channel](https://join.slack.com/t/kubetail/shared_invite/zt-2cq01cbm8-e1kbLT3EmcLPpHSeoFYm1w).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubetail-org%2Fkubetail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubetail-org%2Fkubetail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubetail-org%2Fkubetail/lists"}