A Terminal User Interface (TUI) for Logstash 🪵
tuistash is available as a package in the AUR.
You can install it using an AUR helper (e.g. paru):
paru -S tuistashbrew tap edmocosta/homebrew-tapbrew install tuistashThe compiled versions can be downloaded from the GitHub releases page. If a version for your operating system isn't available, you can build it from the source by following these steps:
1 - Install Rust and Cargo (Linux and macOS):
curl https://sh.rustup.rs -sSf | sh2 - Clone the repository:
git clone https://github.com/edmocosta/tuistash.git3 - Build the binary (target/release/tuistash)
cd tuistashcargo build --releaseThe Logstash's monitoring API must be enabled and accessible from the client machine, unless the data is being read from a Logstash diagnostic path.
By default, the data is polled every 1 second. If you have very complex pipelines, increasing the refresh interval (--interval) might
improve the UI performance.
$ ./tuistash --helpUsage: tuistash [OPTIONS] [COMMAND]
Commands:
get Query data from the Logstash API
tui Logstash TUI
help Print this message or the help of the given subcommand(s)
Options:
--host <HOST> [default: http://localhost:9600]
--username <USERNAME>
--password <PASSWORD>
--skip-tls-verification
-p, --diagnostic-path <DIAGNOSTIC_PATH> Read the data from a Logstash diagnostic path
-h, --help Print help
-V, --version Print version
./tuistash./tuistash tui --helpLogstash TUI
Usage: tuistash tui [OPTIONS]
Options:
-i, --interval <INTERVAL> Refresh interval in seconds [default: 1]./tuistash get node --helpPrints the current node information
Usage: tuistash get node [OPTIONS] [TYPES]
Arguments:
[TYPES] Valid values are 'node', 'os', 'jvm', 'pipelines' separated by comma
Options:
-o <OUTPUT> Valid values are 'json', 'raw'Examples:
./tuistash get node pipelines,os./tuistash get node jvm -o raw