This is a very "lightweight" command line client (written in Ruby) for the MK Livestatus Nagios module.
It makes simple queries and commands against the Livestatus API and returns slightly parsed JSON responses. Filters and complex queries (beyond just requesting particular data types and columns) are not yet supported.
Install it yourself as:
$ gem install livestatus-client
Run the livestatus
executable:
$ livestatus --help
Options:
-h, --host=<s> Livestatus host
-p, --port=<s> Livestatus port
-q, --query=<s> The query string
-l, --columns=<s> Which columns to display (comma separated)
-i, --list List available columns
-c, --command=<s> Command to send
-a, --arguments=<s> Command argumenets (comma separated)
-e, --help Show this message
$ livestatus -h 10.99.0.1 -p 50000 -q hosts -l downtimes
This should return something like this:
{
"default-ubuntu-1404": {
"downtimes": [
]
},
"stage-api": {
"downtimes": [
]
},
"test-dns": {
"downtimes": [
1483559124159689
]
}
}
$ livestatus \
-h 10.99.0.1 -p 50000 \
-c SCHEDULE_HOST_DOWNTIME \
-a 'server-ubuntu-1404,1483644522,1483644523,1,0,0,yourname,Some downtime coment'
Valid Nagios external commands (Click on individual commands for the argument syntax. Note that the script replaces ,
with ;
to prevent conflicts with the shell)
$ livestatus -h 10.99.0.1 -p 50000 -q hosts --list
Bug reports and pull requests are welcome on GitHub at https://github.com/evertrue/livestatus-client.
The gem is available as open source under the terms of the MIT License.