Event Manager Subsystem Overview
This Event Manager subsystem of Nagios xi is responsible for processing callback functions for each event that are initiated from the Nagios or other connected systems. Events can be items like state change for a host or service, a notification being triggered to send out or other timed events. These callbacks are executed by the Event Manager subsystem, which passes the information from the event to the callback for further processing.
Architecture Components And Execution Flow
The diagram below shows the different parts of the Event Manager subsystem and how they relate to each other. Each part of the subsystem is explained in greater detail below.
The general flow of execution of the Event Manager subsystem works as follows:
-
An event is initiated from Nagios Core or another attached system (e.g. state changed for a host or service)
-
The added event is saved in the xi_events table of the nagiosxi postgresql (mysql in xi 5+) database
-
The eventman.php script runs as a background process and watches for new events added to the database. The eventman.php script is located at /usr/local/nagiosxi/cron/eventman.php and runs under cron every minute. The cron job is defined in /etc/cron.d/nagiosxi. While the cron job itself runs every minute, the script enters into a loop that lasts 59 seconds - this ensures that the processing is done constantly as opposed to only once every 60 seconds.
-
The eventman.php script executes the callbacks created targeting specific event types
-
The eventman.php script saves the results of the event processing in the xi_events table of the nagiosxi postgresql database
Builtin Components that use Event Manager
The following are all processed through the Event Manager Subsystem:
-
Notifications for xi users
-
Global Event Handlers
-
Global Notification Handlers
-
SNMP Trap Sender
-
Nagios Reactor Component
-
Nagios Incident Manager Component
Troubleshooting Problems
Some potential problems with the Event Manager subsystem, as well as troubleshooting information are listed below:
Problem: Notifications for xi users are not being received, however Core contacts receive their messages
Potential Causes:
-
The eventman.php scripts may not be running. Run the following command to see if the script is running:
-
ps axuw | grep eventman.php
-
-
There may be a problem with the cron job. Check the cron file /etc/cron.d/nagiosxi to ensure the job is not commented out.
-
Check the /usr/local/nagiosxi/var/eventman.log log file for errors
-
The nagios user account is expired causing the cron to not run.
Final Thoughts
For any support related questions please visit the Nagios Support Forums at: