DB Maintenance Overview
This DB Maintenance cron job of Nagios xi is responsible for optimizing and truncating database tables based on the user defined settings located in Admin -> Performance Settings -> Database Tab.
Architecture Components And Execution Flow
The general flow of execution of the Event Manager subsystem works as follows:
-
A user defines the amount of time they would like to keep certain types of data in Admin -> Performance Settings -> Database tab
-
The settings are saved in the xi_options table of the nagiosxi mysql database (mariadb on cent/rhel 7 and postgresql on xi versions less than 5)
-
The dbmaint.php script runs as a background process and grabs the settings from xi_options. The dbmaint.php script is located at /usr/local/nagiosxi/cron/dbmaint.php and runs under cron every 5 minutes. The cron job is defined in /etc/cron.d/nagiosxi
-
The dbmaint.php script truncates entries from tables that are older than the time specified in
-
The dbmaint.php script updates the last run time in the xi_meta table of the nagiosxi database
Troubleshooting Problems
Some potential problems with the Event Manager subsystem, as well as troubleshooting information are listed below:
Problem: Admin -> System Status displays a red X next to Database Maintenance
Potential Causes:
- 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/dbmaint.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: