check_port_versions - NRPE pkg_version check

From TykWiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

check_port_versions is a nagios plugin I wrote, which checks the number of outdated ports installed on a FreeBSD system, compared to what is in /usr/ports. If the number exceeds the configured limits, WARNING or CRITICAL is returned. The plugin runs pkg_info -o and thus only needs the ports INDEX-x file to be up to date.

Download the plugin

The plugin can be downloaded to the correct place (and made executable) with the following commands:

sudo fetch -o /usr/local/libexec/nagios/check_port_versions http://www.gibfest.dk/check_port_versions
sudo chmod +x /usr/local/libexec/nagios/check_port_versions

Feel free to check the source code to see what it does, it is very simple and well commented.

Configuring NRPE

Add the following line to /usr/local/etc/nrpe.cfg:

command[check_port_versions]=/usr/local/libexec/nagios/check_port_versions

Remember to restart NRPE after changing the config:

sudo /usr/local/etc/rc.d/nrpe2 restart

Updating ports

I update ports daily from /etc/crontab with the following portsnap commands:

#update ports
0	12	*	*	*	root	/usr/sbin/portsnap cron && /usr/sbin/portsnap -I update

Note: The above /etc/crontab line will download the latest snapsnot and update the ports index files. The ports themselves will not be extracted. As explained in the portsnap manpage, it is a bad idea to automatically update /etc/ports - bad things will happen if you accidently update while installing something. This means that you should run portsnap update before installing/upgrading any ports.