programmatically check if Notifications are disabled

This support forum board is for support questions relating to Nagios XI, our flagship commercial network monitoring solution.
Locked
brdr
Posts: 312
Joined: Mon Jun 02, 2014 12:49 pm

programmatically check if Notifications are disabled

Post by brdr »

Hi Support team,

Is there a way to programmatically check from the back-end if Notifications have been disabled via front-end? We have more and more privileged users who at times maybe adding fair amount of new hosts and devices. When adding wholesale changes we sometimes disable notifications via front-end. When wholesale changes look good after configuration we then enable notifications (sometimes its forgotten to do this step) via front-end.

I'm familiar with nagios.cfg in /etc/ and .status file in /var/ directory. When I disable notification via front-end I can't tell from any of these files that notifications are off.

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

Re: programmatically check if Notifications are disabled

Post by tgriep »

You could use the GET system/status API to get the current status on the system and the notifications_enabled option will tell you if notifications have been globably disabled on the system.

Code: Select all

curl -XGET "https://127.0.0.1/nagiosxi/api/v1/system/status&notifications_enabled?apikey=j8hf9sss&pretty=1" -k

Code: Select all

{
    "instance_id": "1",
    "instance_name": "localhost",
    "status_update_time": "2017-07-17 14:58:01",
    "program_start_time": "2017-07-17 09:10:08",
    "program_run_time": "20875",
    "program_end_time": "0000-00-00 00:00:00",
    "is_currently_running": "1",
    "process_id": "15279",
    "daemon_mode": "1",
    "last_command_check": "1969-12-31 18:00:00",
    "last_log_rotation": "1969-12-31 18:00:00",
    "notifications_enabled": "0",
    "active_service_checks_enabled": "1",
    "passive_service_checks_enabled": "1",
    "active_host_checks_enabled": "1",
    "passive_host_checks_enabled": "1",
    "event_handlers_enabled": "1",
    "flap_detection_enabled": "0",
    "process_performance_data": "1",
    "obsess_over_hosts": "0",
    "obsess_over_services": "0",
    "modified_host_attributes": "15",
    "modified_service_attributes": "15",
    "global_host_event_handler": "xi_host_event_handler",
    "global_service_event_handler": "xi_service_event_handler"
}
To get more details on the API, login to the XI GUI and go to the Help > System Reference menu to get the API URL you would need for your server.
Be sure to check out our Knowledgebase for helpful articles and solutions!
User avatar
tacolover101
Posts: 432
Joined: Mon Apr 10, 2017 11:55 am

Re: programmatically check if Notifications are disabled

Post by tacolover101 »

brdr wrote:Hi Support team,

Is there a way to programmatically check from the back-end if Notifications have been disabled via front-end? We have more and more privileged users who at times maybe adding fair amount of new hosts and devices. When adding wholesale changes we sometimes disable notifications via front-end. When wholesale changes look good after configuration we then enable notifications (sometimes its forgotten to do this step) via front-end.

I'm familiar with nagios.cfg in /etc/ and .status file in /var/ directory. When I disable notification via front-end I can't tell from any of these files that notifications are off.

Thx
it may be worth leveraging your test license for this as you on board new servers / applications - disabling your notifications on a prod system as you mentioned seems like a disaster waiting to happen / miss.

i believe the status.dat updates when you turn them off / on, so you could probably come up with a one liner bash script to run on the XI host itself, to parse through /usr/local/nagios/var/status.dat and look for notifications_enabled.
User avatar
tgriep
Madmin
Posts: 9190
Joined: Thu Oct 30, 2014 9:02 am

Re: programmatically check if Notifications are disabled

Post by tgriep »

Yes, searching the status.dat file would be another option.
If you search for this string

Code: Select all

enable_notifications
It will tell you if the notifications are disabled globally.
A Zero means it is disabled and a One means that it is enabled.
Be sure to check out our Knowledgebase for helpful articles and solutions!
brdr
Posts: 312
Joined: Mon Jun 02, 2014 12:49 pm

Re: programmatically check if Notifications are disabled

Post by brdr »

Hi tgriep,

The status.dat and retention.dat didn't change from 1 to 0 after disabling via front-end. This is the first place I went to look.

Your first option was spot on with regards to curl and API key. I just have to tighten up my script a little bit to notify the team when it is 0.

I can try to test license mentioned below too.

But, you can close this one.... thanks again!
u guys rock.
bolson

Re: programmatically check if Notifications are disabled

Post by bolson »

Closing this topic as resolved.

Thank you for using the Nagios Support Forum!
Locked