Check port versions - NRPE pkg version check: Difference between revisions

From TykWiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{DISPLAYTITLE:check_portmaster - NRPE portmaster check}}
{{DISPLAYTITLE:check_port_versions - NRPE pkg_version check}}
[[category:nagios]]
[[category:nagios]]
[[category:Ports_Management]]
[[category:Ports_Management]]
A nagios plugin I wrote, which checks the number of outdated ports on a system. If the number exceeds the configured limits, WARNING or CRITICAL is returned. The plugin runs <code>pkg_info -o</code> and thus only needs the ports INDEX-x file to be up to date.
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 <code>/usr/ports</code>. If the number exceeds the configured limits, WARNING or CRITICAL is returned. The plugin runs <code>pkg_info -o</code> and thus only needs the ports INDEX-x file to be up to date.


== Download the plugin ==
== Download the plugin ==
Line 25: Line 25:


== Updating ports ==
== Updating ports ==
I add the following line to <code>/etc/crontab</code> to create an hourly updated <code>/tmp/check_portmaster.tmp</code> file:
I update ports daily from <code>/etc/crontab</code> with the following <code>portsnap</code> commands:
<pre>
<pre>
0 * * * * root /usr/local/sbin/portmaster -L > /tmp/check_portmaster.tmp
#update ports
0 12 * * * root /usr/sbin/portsnap cron && /usr/sbin/portsnap -I update
</pre>
</pre>


To make the NRPE check work right away, run the following command manually:
'''Note:''' The above <code>/etc/crontab</code> 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 <code>portsnap update</code> before installing/upgrading any ports.
<pre>
/usr/local/sbin/portmaster -L > /tmp/check_portmaster.tmp
</pre>

Latest revision as of 23:38, 9 March 2010

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.