API to get Host current_state

This support forum board is for support questions relating to Nagios XI, our flagship commercial network monitoring solution.
Locked
nagwindmon
Posts: 92
Joined: Mon Dec 01, 2014 3:39 pm

API to get Host current_state

Post by nagwindmon »

Nagios team,
Is there an API I could utilize to retrieve host's current_state instead of query MySQL table directly?

Thanks!
User avatar
tgriep
Madmin
Posts: 9190
Joined: Thu Oct 30, 2014 9:02 am

Re: API to get Host current_state

Post by tgriep »

If you are running a newer 5.x.x version of XI, there is an API you can use to check the status of a host.
To view the API instructions , go to the Help > Objects Reference menu. There you will see the example on getting the host status.
The default example if ran, will give you the status of all of the hosts on the server

Ig you want to get the status for one host, you would ass 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://192.168.112.129/nagiosxi/api/v1/objects/hoststatus?apikey=j8hf9ss5&pretty=1&host_name=localhost"
This is the output that is generated.

Code: Select all

{
    "hoststatuslist": {
        "recordcount": "1",
        "hoststatus": {
            "@attributes": {
                "id": "182754"
            },
            "instance_id": "1",
            "host_id": "135",
            "name": "localhost",
            "display_name": "localhost",
            "address": "localhost",
            "alias": "localhost alias",
            "status_update_time": "2017-05-17 15:35:48",
            "status_text": "OK - localhost: rta 0.008ms, lost 0%",
            "status_text_long": "",
            "current_state": "0",
            "icon_image": "",
            "icon_image_alt": "",
            "performance_data": "rta=0.008ms;3000.000;5000.000;0; pl=0%;80;100;; rtmax=0.019ms;;;; rtmin=0.005ms;;;;",
            "should_be_scheduled": "1",
            "check_type": "0",
            "last_state_change": "2016-10-25 07:40:36",
            "last_hard_state_change": "2016-06-09 01:23:56",
            "last_hard_state": "0",
            "last_time_up": "2017-05-17 15:35:48",
            "last_time_down": "2016-10-24 15:16:57",
            "last_time_unreachable": "1969-12-31 18:00:00",
            "last_notification": "1969-12-31 18:00:00",
            "next_notification": "1969-12-31 18:00:00",
            "no_more_notifications": "0",
            "acknowledgement_type": "0",
            "current_notification_number": "0",
            "event_handler_enabled": "1",
            "process_performance_data": "1",
            "obsess_over_host": "1",
            "modified_host_attributes": "1",
            "event_handler": "",
            "check_command": "check-host-alive",
            "normal_check_interval": "5",
            "retry_check_interval": "1",
            "check_timeperiod_id": "117",
            "has_been_checked": "1",
            "current_check_attempt": "1",
            "max_check_attempts": "10",
            "last_check": "2017-05-17 15:35:39",
            "next_check": "2017-05-17 15:40:48",
            "state_type": "1",
            "notifications_enabled": "1",
            "problem_acknowledged": "0",
            "passive_checks_enabled": "1",
            "active_checks_enabled": "1",
            "flap_detection_enabled": "1",
            "is_flapping": "0",
            "percent_state_change": "0",
            "latency": "0.0588",
            "execution_time": "0.01204",
            "scheduled_downtime_depth": "0"
        }
    }
}
Be sure to check out our Knowledgebase for helpful articles and solutions!
nagwindmon
Posts: 92
Joined: Mon Dec 01, 2014 3:39 pm

Re: API to get Host current_state

Post by nagwindmon »

Excellent! In process installing 5.x.x version but in meantime is it possible to get what I only need and not entire output from API call?
For example if I only needed these 2 values:
"current_state": "0",
"last_time_up": "2017-03-24 02:05:51",
User avatar
tgriep
Madmin
Posts: 9190
Joined: Thu Oct 30, 2014 9:02 am

Re: API to get Host current_state

Post by tgriep »

No, the API call outputs all of the data for the object so you would have to parse out the information on your own.
Be sure to check out our Knowledgebase for helpful articles and solutions!
Locked