Hi,
How to I get REST API to get all the services status for a particular host or service?
Thanks
REST API Query
REST API Query
5 x Nagios 5.6.9 Enterprise Edition
RHEL 6 & 7
rrdcached & ramdisk optimisation
RHEL 6 & 7
rrdcached & ramdisk optimisation
Re: REST API Query
In the Nagios XI GUI, if you go to the Help menu and click on the Objects Reference link, it shows examples on how to get status information for hosts and Services.
If you want to get the status for one host, you would add the host_name= and then the name of the host. The example below displays the status for the localhost.
You would use the following example to get the service status of one service called HTTP for the localhost host.
Try them out and see if they work for your needs.
If you want to get the status for one host, you would add the host_name= and then the name of the host. The example below displays the status for the localhost.
Code: Select all
curl -XGET "https://xxx.xxx.xxx.xxx/nagiosxi/api/v1/objects/hoststatus?apikey=<APIKEY>&pretty=1&host_name=localhost"Code: Select all
curl -XGET "https://xxx.xxx.xxx.xxx/nagiosxi/api/v1/objects/servicestatus?apikey=<APIKEY>&host_name=localhost&name=HTTP&pretty=1" -kBe sure to check out our Knowledgebase for helpful articles and solutions!
Re: REST API Query
Thanks works well.tgriep wrote:In the Nagios XI GUI, if you go to the Help menu and click on the Objects Reference link, it shows examples on how to get status information for hosts and Services.
If you want to get the status for one host, you would add the host_name= and then the name of the host. The example below displays the status for the localhost.You would use the following example to get the service status of one service called HTTP for the localhost host.Code: Select all
curl -XGET "https://xxx.xxx.xxx.xxx/nagiosxi/api/v1/objects/hoststatus?apikey=<APIKEY>&pretty=1&host_name=localhost"Try them out and see if they work for your needs.Code: Select all
curl -XGET "https://xxx.xxx.xxx.xxx/nagiosxi/api/v1/objects/servicestatus?apikey=<APIKEY>&host_name=localhost&name=HTTP&pretty=1" -k
Code: Select all
{
"recordcount": "1",
"servicestatus": {
"@attributes": {
"id": "75918978"
},
"instance_id": "1",
"service_id": "20165",
"host_id": "7063",
"host_name": "nagiosprodxi1",
"host_alias": "Nagios App Server",
"name": "CPU Load",
"host_display_name": {
},
"host_address": "17.17.17.17",
"display_name": "CPU Load",
"status_update_time": "2019-05-30 08:46:36",
"status_text": "OK - load average per CPU: 0.26, 0.27, 0.25",
"status_text_long": {
},
"current_state": "0",
"performance_data": "load1=0.259;3.000;5.000;0; load5=0.265;3.000;5.000;0; load15=0.254;3.000;5.000;0;",
"should_be_scheduled": "1",
"check_type": "0",
"last_state_change": "2019-04-19 17:33:42",
"last_hard_state_change": "2019-04-19 17:33:42",
"last_hard_state": "0",
"last_time_ok": "2019-05-30 08:46:34",
"last_time_warning": "2019-04-19 17:33:42",
"last_time_critical": "2019-03-17 00:47:30",
"last_time_unknown": "2019-03-05 18:32:50",
"last_notification": "1970-01-01 07:30:00",
"next_notification": "1970-01-01 07:30:00",
"no_more_notifications": "0",
"acknowledgement_type": "0",
"current_notification_number": "0",
"process_performance_data": "1",
"obsess_over_service": "1",
"event_handler_enabled": "1",
"modified_service_attributes": "0",
"event_handler": {
},
"check_command": "rs_fping_check_nrpe_unix_alt!check_load!$_HOSTLIMIT_UNIX_CPU_LOAD_WARN$!$_HOSTLIMIT_UNIX_CPU_LOAD_CRIT$!!!!!",
"normal_check_interval": "5",
"retry_check_interval": "5",
"check_timeperiod_id": "109",
"icon_image": {
},
"icon_image_alt": {
},
"has_been_checked": "1",
"current_check_attempt": "1",
"max_check_attempts": "6",
"last_check": "2019-05-30 08:46:34",
"next_check": "2019-05-30 08:51:34",
"state_type": "1",
"notifications_enabled": "1",
"problem_acknowledged": "0",
"flap_detection_enabled": "1",
"is_flapping": "0",
"percent_state_change": "0",
"latency": "0",
"execution_time": "2.07546",
"scheduled_downtime_depth": "0",
"passive_checks_enabled": "1",
"active_checks_enabled": "1",
"notes_url": {
},
"action_url": {
}
}
}
1) "status_text": "OK - load average per CPU: 0.26, 0.27, 0.25",
2) "current_state": "0",
3) "performance_data": "load1=0.259;3.000;5.000;0; load5=0.265;3.000;5.000;0; load15=0.254;3.000;5.000;0;",
5 x Nagios 5.6.9 Enterprise Edition
RHEL 6 & 7
rrdcached & ramdisk optimisation
RHEL 6 & 7
rrdcached & ramdisk optimisation
-
scottwilkerson
- DevOps Engineer
- Posts: 19396
- Joined: Tue Nov 15, 2011 3:11 pm
- Location: Nagios Enterprises
- Contact:
Re: REST API Query
There isn't any automatic filtering, so you would need to extract them in your script that is getting the JSON
Re: REST API Query
Thanks. Please close this thread.scottwilkerson wrote:There isn't any automatic filtering, so you would need to extract them in your script that is getting the JSON
5 x Nagios 5.6.9 Enterprise Edition
RHEL 6 & 7
rrdcached & ramdisk optimisation
RHEL 6 & 7
rrdcached & ramdisk optimisation
-
scottwilkerson
- DevOps Engineer
- Posts: 19396
- Joined: Tue Nov 15, 2011 3:11 pm
- Location: Nagios Enterprises
- Contact:
Re: REST API Query
Great!rajasegar wrote:Thanks. Please close this thread.scottwilkerson wrote:There isn't any automatic filtering, so you would need to extract them in your script that is getting the JSON
Closing