grafatui 0.1.9

A Grafana-like TUI for Prometheus
grafatui-0.1.9 is not a library.

Grafatui

CI Crates.io License: Apache 2.0 Rust Version docs.rs

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.

asciicast

Quick Start

Install from crates.io:

cargo install grafatui

Run against a Prometheus instance:

grafatui --prometheus-url http://localhost:9090

Or 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

Features

  • Prometheus range and instant queries with async fetching.
  • Grafana dashboard 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.
  • 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.

Documentation

Rust API documentation is available on docs.rs.

Common Commands

# 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

# Generate shell completions or a man page
grafatui completions zsh
grafatui man

Contributing

Contributions are welcome. See CONTRIBUTING.md for contribution guidelines and DEVELOPMENT.md for local development notes.

License

Licensed under the Apache License, Version 2.0. See LICENSE for details.

Copyright 2025 Federico D'Ambrosio