doneil326 wrote:is there a way to query which host groups are in a service escalation policy?
CGI: Object JSON CGI
Query: serviceescalationlist
Host Group: <the hostgroup you want to query>
https://xitest.box293.local/nagios/cgi- ... _localhost
Code: Select all
{
"format_version": 0,
"result": {
"query_time": 1463631719000,
"cgi": "objectjson.cgi",
"user": "nagiosadmin",
"query": "serviceescalationlist",
"query_status": "released",
"program_start": 1463631237000,
"last_data_update": 1463631237000,
"type_code": 0,
"type_text": "Success",
"message": ""
},
"data": {
"selectors": {
"hostgroup": "hostgroup_localhost"
},
"serviceescalationlist": [
{
"host_name": "localhost",
"description": "Current Load assigned to hostgroup_localhost",
"first_notification": 1,
"last_notification": 0,
"notification_interval": 50.00,
"escalation_period": "24x7",
"escalation_options": 15,
"contact_groups": [
"admins"
],
"contacts": [
]
}
]
}
}
doneil326 wrote:is there a way to query which services are assigned to a hostgroup?
Not that I can see.
The reason behind this goes back to what Nagios does when it starts up.
It reads all the config files and creates all the "final objects". Things like services that are created using hostgroups, that information is lost as it's no longer required, it's purpose was to allow simple/complex configurations. The "final objects" reside in
/usr/local/nagios/var/objects.cache.
Here's an example:
This is in the config file:
Code: Select all
define service {
service_description Current Load assigned to hostgroup_localhost
use local-service
hostgroup_name hostgroup_localhost
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0!!!!!!
register 1
}
This is in objects.cache:
Code: Select all
define service {
host_name localhost
service_description Current Load assigned to hostgroup_localhost
check_period 24x7
check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0!!!!!!
contact_groups admins
notification_period 24x7
initial_state o
importance 0
check_interval 5.000000
retry_interval 1.000000
max_check_attempts 4
is_volatile 0
parallelize_check 1
active_checks_enabled 1
passive_checks_enabled 1
obsess 1
event_handler_enabled 1
low_flap_threshold 0.000000
high_flap_threshold 0.000000
flap_detection_enabled 1
flap_detection_options a
freshness_threshold 0
check_freshness 0
notification_options r,w,u,c
notifications_enabled 1
notification_interval 60.000000
first_notification_delay 0.000000
stalking_options n
process_perf_data 1
retain_status_information 1
retain_nonstatus_information 1
}
Not sure what the answer is apart from creating some script that Queries the configs against the running state.