Terminal dashboard for Graylog — full-screen TUI by default, plain text when piped.
Inspired by graylog-labs/cli-dashboard, rewritten in Python with Textual.
Log tail (default — graylog-tui -H ... -s <stream-id>):
Dashboard (--gui — charts + interactive stream selector):
uv tool install git+https://github.com/CygnusNetworks/graylog-tuiOr for development:
git clone https://github.com/CygnusNetworks/graylog-tui
cd graylog-tui
uv syncCreate ~/.graylog_tui:
username: admin
password: yourpassword
host: https://graylog.example.com/api # optional, can be passed via --host# Full-screen log tail (default when in a terminal)
graylog-tui -H https://graylog.example.com/api -s <stream-id>
# Select stream by name instead of ID
graylog-tui -H https://graylog.example.com/api --stream-title Errors
# Plain text — pipe-friendly, activates automatically when not in a terminal
graylog-tui -H https://graylog.example.com/api -s <stream-id> | grep ERROR
graylog-tui -H https://graylog.example.com/api -s <stream-id> > output.log
# Full dashboard TUI with charts and interactive stream selector
graylog-tui -H https://graylog.example.com/api --gui| Mode | When | How |
|---|---|---|
| Full-screen log tail | interactive terminal | default |
| Plain text | stdout is a pipe or file | automatic |
| Dashboard TUI | explicit | --gui |
| Key | Action |
|---|---|
q / Esc |
Quit |
Space |
Pause / resume |
Text selection: Mouse capture is off by default, so you can click and drag to select text in the log output and copy it with your terminal's normal copy shortcut (e.g.
Cmd+C). Use--mouseto re-enable Textual mouse mode — required for clicking streams in--gui.
-H, --host TEXT Graylog base URL (e.g. https://graylog.example.com/api)
-s, --stream-id TEXT Stream UUID
--stream-title TEXT Select stream by title (prefix match)
-g, --gui Full dashboard TUI with charts and stream selector
--align Pad source hostnames to equal width
--poll-interval INT Poll frequency in milliseconds [default: 1000]
--insecure Skip TLS certificate verification
--mouse Enable Textual mouse capture (allows clicking in --gui;
disables native terminal text selection)
--config PATH Config file path [default: ~/.graylog_tui]
-v, --version Show version and exit
GPL-3.0-or-later