NAME
icinga-tui - Terminal dashboard for Icinga2 monitoring
SYNOPSIS
curl -LO https://marcp.xyz/scripts/icinga-tui chmod +x icinga-tui ./icinga-tui -H your-icinga-host
DESCRIPTION
A pure-bash TUI (no ncurses, no libraries, just ANSI escape sequences) that queries icingacli over an SSH connection and lists current Icinga2 problems with signal/noise filtering. Selected problems can be force-rechecked over the same SSH connection. No API credentials: it relies on your existing SSH access to the monitoring host.

OPTIONS
-r SECONDS Refresh interval (default: 60, min: 5)
-H HOST SSH host alias (default: icinga)
-a Show acknowledged problems
-c Show only CRITICAL
--help This help
Vim keys:
j/k move cursor down/up
h/l pan left/right (for lines wider than the screen)
0 pan back to start of line
d/u half-page down/up
g/G top/bottom
/ search (regex, n/N for next/prev, ESC clears)
Actions:
space mark/unmark service under cursor (batch recheck)
R force recheck of marked services (or cursor row if none marked);
rechecked rows show a yellow ⟳ until fresh data arrives
a toggle acknowledged problems
c toggle CRITICAL-only
r refresh now
q quit
NOTES
Requires SSH access to a host where icingacli is installed. Force-recheck writes Icinga external commands to the command pipe over the same SSH connection, so the SSH user needs write access to icinga2.cmd.
Marks and the cursor follow their service across refreshes; a failed fetch keeps the last good data on screen, flagged as stale. The command-pipe write is guarded (FIFO check + timeout), so a stopped icinga2 can't be left with a regular file shadowing its command pipe.
REPOSITORY
Development happens on GitLab, merge requests welcome:
gitlab.com/pflueder/icinga-tui
GPLv3. See gnu.org/licenses/gpl-3.0