nview is a local monitoring tool for a Cardano node
10K+
nview is a local monitoring tool for Cardano nodes, supporting multiple implementations including cardano-node, Dingo, and Amaru. It's designed to complement remote monitoring tools by providing a local command-line view of running nodes. The TUI (terminal user interface) is built to fit most screens and provides real-time metrics and status information.
The goal with nview is to provide an alternative to the Guild LiveView (gLiveView.sh) shell scripts which is shipped as a single binary with all of the functionality included natively. This allows the tool to be more portable to non-Linux systems by using Go standard library functionality.
The design is more in line with a 12-factor application, with no config files or other on-disk requirements. Functionality is controlled via environment variables within the application's context. This prevents the application from being a drop-in replacement for gLiveView for Cardano Node administrators, but unlocks the ability to add functionality beyond that easily attainable with a shell script.
nview automatically detects and supports multiple Cardano node implementations:
The tool automatically detects the running node type based on Prometheus metrics and adjusts its display accordingly. No configuration changes are needed - just run nview against any supported Cardano node.
Running nview against a running Cardano Node will work out of the box with a default Cardano Node configuration, which exposes metrics in Prometheus data format on a specific port. nview automatically detects the node implementation (cardano-node, Dingo, or Amaru) and adjusts its display accordingly.
./nview
Or, from source:
go run .
Configuration can be controlled by either a configuration file or environment variables. In cases where both are present, the environment variable takes precedence.
The following environment variables control the behavior of the application.
NODE_NAME - Changes the name displayed by nview, default is "Cardano
Node", maximum 19 charactersNETWORK - Short-cut environment variable to use a default configuration
for the given known named network. Overrides CARDANO_NETWORK, default ""CARDANO_NETWORK - Named network configured on the Cardano Node, default
is "mainnet"CARDANO_NODE_BINARY - Specifies the node binary type
(cardano-node, dingo, or amaru). If not set, nview will attempt to
auto-detect based on metricsPROM_HOST - Sets the host address used to fetch Prometheus metrics from a
Cardano Node, default is "127.0.0.1"PROM_PORT - Sets the host port used to fetch Prometheus metrics from a
Cardano Node, default is 12798PROM_TIMEOUT - Sets the maximum number of seconds to wait for response
when polling a Cardano Node for Prometheus metrics, default is 3NVIEW_VISUAL_MODE - Controls optional terminal glyphs for the TUI:
auto, unicode, plain, or nerd. The default is auto.NVIEW_IMAGE_PROTOCOL - Controls terminal image protocol detection for
future enhanced visuals: auto, none, kitty, iterm2, or sixel.
The default is auto.To use a configuration file, run nview with a command line flag to set the
file to load as a configuration.
./nview -config /path/to/config.yml
config.yaml:
app:
nodeName: Cardano Node
network:
node:
binary: cardano-node # or 'dingo' or 'amaru'
network: mainnet
port: 3001
prometheus:
host: 127.0.0.1
port: 12798
timeout: 3
An example configuration is provided at config.yaml.example.
# Auto-detection (recommended)
./nview
# Or explicitly set
CARDANO_NODE_BINARY=dingo ./nview
# Auto-detection (recommended)
./nview
# Or explicitly set
CARDANO_NODE_BINARY=amaru ./nview
PROM_PORT=9090 ./nview
PROM_HOST=192.168.1.100 PROM_PORT=12798 ./nview
If nview shows "Cardano Node" instead of the expected implementation:
PROM_HOST and PROM_PORT are setCARDANO_NODE_BINARY environment variablecurl http://127.0.0.1:12798/metricsPROM_TIMEOUT=10 ./nviewWe embed free GeoLite2 city data created by MaxMind, available from https://www.maxmind.com and licensed under CC BY-SA 4.0 https://creativecommons.org/licenses/by-sa/4.0/
Content type
Image
Digest
sha256:2c00f8542…
Size
38.8 MB
Last updated
5 days ago
docker pull blinklabs/nview