Repolode
control-theory

control-theory/gonzo

A Go terminal UI for real-time log analysis, with live charts, severity breakdowns, regex filtering, and optional AI-powered insights.

Stars
2,787
Forks
116
Open issues
17
Last commit
28 days ago

What is it?

Gonzo is a terminal UI for analyzing log streams as they arrive, inspired by k9s. It reads logs from stdin, files (including glob patterns and follow mode), Kubernetes pods, or an OTLP receiver that accepts logs over gRPC and HTTP. Format detection covers JSON, logfmt, and plain text, and custom formats can be defined in YAML.

The dashboard uses a 2x2 grid with charts for word frequency, attributes, severity distribution, and time series, plus a heatmap of severity over the last 60 minutes. Users can filter with regular expressions, filter by severity or Kubernetes namespace and pod, and open log details. AI analysis can run against OpenAI-compatible APIs, Ollama, LM Studio, or the Claude Code CLI.

A built-in web dashboard called Dstl8 Lite, served from the same binary on port 5718, shows the same log streams in a browser with workspaces, pattern detection, and searchable logs. It can be opened from the TUI by pressing d.

Key features

  • 01Live analysis of logs from stdin, files, and Kubernetes pods
  • 02Built-in OTLP receiver over gRPC and HTTP
  • 03Automatic detection of JSON, logfmt, and plain text formats, with custom YAML formats
  • 04Regex filtering, severity filtering, and Kubernetes namespace and pod filters
  • 05Severity heatmap and time-series charts in the terminal
  • 06Optional AI analysis with OpenAI-compatible APIs, Ollama, LM Studio, or Claude Code

Use cases

  • Tailing application logs on a server or in a container during debugging
  • Watching live Kubernetes pod logs, either directly or via k9s
  • Receiving OpenTelemetry logs from a local application or collector during development
  • Asking a local or hosted LLM to summarize recurring errors in a log stream

Quick start

  1. 1

    Install with Go

    go install github.com/control-theory/gonzo/cmd/gonzo@latest
  2. 2

    Or install with Homebrew (macOS/Linux)

    brew install gonzo
  3. 3

    Analyze a log file

    gonzo -f application.log

Things to know

  • Requires a Go toolchain for the go install route, or a Homebrew or release binary install.
  • AI insights need an API key or a locally running model such as Ollama or LM Studio.

Topics

FAQ

What is gonzo?
A Go terminal UI for real-time log analysis, with live charts, severity breakdowns, regex filtering, and optional AI-powered insights. Gonzo is a terminal UI for analyzing log streams as they arrive, inspired by k9s. It reads logs from stdin, files (including glob patterns and follow mode), Kubernetes pods, or an OTLP receiver that accepts logs over gRPC and HTTP. Format detection covers JSON, logfmt, and plain text, and custom formats can be defined in YAML.
Is gonzo free to use? What license does it have?
gonzo is open source under the MIT license. Check the license terms before using it in commercial products.
Is gonzo still maintained?
Actively maintained. The last commit to gonzo was on Sep 23, 2026.
What can I use gonzo for?
Tailing application logs on a server or in a container during debugging Watching live Kubernetes pod logs, either directly or via k9s Receiving OpenTelemetry logs from a local application or collector during development Asking a local or hosted LLM to summarize recurring errors in a log stream
How do I install gonzo?
Install with Go: go install github.com/control-theory/gonzo/cmd/gonzo@latest Or install with Homebrew (macOS/Linux): brew install gonzo Analyze a log file: gonzo -f application.log
Where can I get gonzo?
The source code and installation instructions are on GitHub: https://github.com/control-theory/gonzo

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects