Grafatui is a terminal user interface for Prometheus, inspired by Grafana. It lets you inspect time-series dashboards from a fast, keyboard-driven TUI that works well over SSH and in minimal environments.
Install with Homebrew on macOS or Linux:
brew install fedexist/grafatui/grafatuiOr install the latest prebuilt binary:
bash -o pipefail -c 'curl --proto =https --tlsv1.2 -LsSf https://raw.githubusercontent.com/fedexist/grafatui/main/install.sh | bash'Or install from crates.io:
cargo install grafatuiRun against a Prometheus instance:
grafatui --prometheus-url http://localhost:9090Or try the included demo:
git clone https://github.com/fedexist/grafatui.git
cd grafatui
cd examples/demo && docker-compose up -d && sleep 5 && cd ../..
cargo run -- --grafana-json examples/dashboards/prometheus_demo.json --prometheus-url http://localhost:19090- Prometheus range and instant queries with async fetching.
- Grafana Classic and fixed-grid V2 Resource JSON import for graph, timeseries, stat, gauge, bar gauge, table, and heatmap panels.
- Template variables, Grafana built-in PromQL variables, legend formatting, thresholds, and grid layout support.
- Grafana timeseries draw styles for lines, points, bars, area fill, hidden axes, and per-panel grid visibility.
- Keyboard-first navigation, panel search, fullscreen mode, mouse selection, and value inspection.
- SVG/PNG export and changed-frame recording bundles.
- TOML configuration and built-in themes.
- Read-only external file or command-backed JSONL point annotations with panel targeting, tag filtering, and navigable cluster details.
- User guide
- Installation
- Quick start
- Configuration
- External annotations
- Grafana dashboard import
- Grafana compatibility matrix
- Examples
Rust API documentation is available on docs.rs.
# Import a Grafana dashboard
grafatui --prometheus-url http://localhost:9090 --grafana-json ./dashboard.json
# Override Grafana template variables
grafatui --grafana-json ./dash.json --var job=node --var instance=server-01
# Use a theme
grafatui --theme tokyo-night
# Overlay read-only JSONL point events
grafatui --grafana-json ./dashboard.json --annotations-file ./events.jsonl
# Query read-only annotations through a command provider
grafatui --grafana-json ./dashboard.json --annotations-command ./target/debug/examples/git_annotation_provider --annotations-command-arg=.
# Generate shell completions or a man page
grafatui completions zsh
grafatui manGrafana 13 users can import an exact dashboard.grafana.app/v2 JSON resource
with a GridLayout. For advanced V2 dashboards, export Model: Classic
under Export as code β Advanced options instead. See the
dashboard import guide
for the current format requirements.
Contributions are welcome. See CONTRIBUTING.md for contribution guidelines and DEVELOPMENT.md for local development notes.
Licensed under the Apache License, Version 2.0. See LICENSE for details.
Copyright 2025 Federico D'Ambrosio