icli - Icinga Command Line Interface
icli [-v|-vv] [-z filter] [-h hosts] [-g hostgroups] [-s services] [-c config] [-C] [-f status-file] [-F rw-file] [-r|-u|-lh|-ls|-lq|-ld] [host/service ...]
version 0.47
icli is a command line interface to Icinga. By default it lists all services and their states.
Note that when supplying custom config and status file paths, icli also works with Nagios. 100% compatibility is not guaranteed, however.
icli only works when executed on the host running the Icinga daemon. To use it on another host, shell aliases (like alias icli='ssh $icingahost icli') or similar are recommended.
alias icli='ssh $icingahost icli'
You can narrow down the list of services you want displayed either using filters (like icli -z!o), the -h/-s arguments (icli -h aneurysm -s Libraries,Websites) or commandline args (icli aneurysm/{Libraries,Websites} with shell expansion).
icli -z!o
icli -h aneurysm -s Libraries,Websites
icli aneurysm/{Libraries,Websites}
Acknowledge all matching services with string comment. This creates a sticky acknwoledgment with notification and no expire time. The comment will not be persistent.
Note: Acknowledgement of host problems is not yet supported.
Read config from file
Disable colours in output
Read the status from file
Use file as external commands file.
Limit selection to hosts in hostgroup (comma separated list)
Limit selection to hosts (comma separated list)
List either services (the default) or hosts. Note that only the first character of the argument is checked, so icli -lh, icli -ls etc. are also fine.
icli -lh
icli -ls
Limit selection to hosts/services whose plugin output matches regex (perl regular expression, case insensitive. see perlre).
Display "tactical overview"-style overview. By default (or when used with -ls) the number of all hosts and services (both total and divided by their state) is shown.
-ls
When used with -lh, lists all hosts with the number of ok / warning / ... checks on each host.
-lh
Schedule an immediate recheck of all selected services
Schedule a forced, immediate recheck of all selected services
Only operate on service visible to name. Doesn't work for -lh yet, most useful for -ls.
NOTE: This is meant to help find out which services a user has access to. It is NOT intended as a way to restrict access and should never be used that way.
Limit selection to services (comma separated lists). Can be combined with -h/-g to further narrow down the selection, but may also be used stand-alone.
Increase output verbosity. Can be combined up to -vvv
Show version information
What to do with lines which are too long for the terminal: nothing, cut off, line break (with proper indentation). The default is line breaks
Limit selection to hosts/services passing the filter. expression is a comma separated list of filters, only hosts/services to which all filters apply are selected. See also "FILTER EXPRESSIONS"
This is the standard output method. It contains the following:
Service description
-v: Service Flags (Acknowledged, Flapping, Passive, !no checks)
Service state (ok / warning / critical / unknown)
-v: Current attempt / Max attempts
Plugin output
Enabled with -ld
Host name
Host state (ok / down / unreachable)
Enabled with -lq
Service name
Last check
Next check
Each expression can be negated with an exclamation mark, e.g. "!A" for all non-acknowledged services.
Check state has been acknowledged
The host this service belongs to is Down or Unreachable
Service is flapping between states
Notifications for this service are disabled
Only passive checks are enabled. Note that !P simply means that active checks are enabled, no matter the status of passive checks
Check state is soft. For instance, it used to be OK and is now critical, but has not reached its maximum number and caused a notification yet. Good to find (or ignore) service problems which might just be temporary, non-critical glitches.
Host/Service state is OK
Service state is Warning
Service state is Critical
Service state is Unknown
Host or service state is Pending
Host state is Down
Host state is Unreachable
Zero, unless errors occured.
None.
autodie (included with perl >= 5.10.1)
Term::Size
This software is in early development stages. So there will probably be quite a lot.
Either via mail to <derf@finalrewind.org> or on <http://github.com/derf/icinga-cli/issues>.
icli -r -s 'APT Updates'
Schedule a check of the "APT Updates" service on all hosts having it
icli -lq -h aneurysm -g chaosdorf-hosts
List check queue for all hosts in the hostgroup "chaosdorf-hosts", plus the host aneurysm
icli -z!o,!A,!S,!D
Show all service problems which are already hard states and have not yet been acknowledged. Also weed out problem services on hosts which are down anyways
Copyright (C) 2010 by Daniel Friesel <derf@finalrewind.org>
0. You just DO WHAT THE FUCK YOU WANT TO.
To install App::Icli, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::Icli
CPAN shell
perl -MCPAN -e shell install App::Icli
For more information on module installation, please visit the detailed CPAN module installation guide.