Tuesday, May 27, 2014

Windows ProTip: SlimDrivers Free to update your devices.


Ran across this sweet app that will scan all of the devices on your PC and search out the latest drivers and update your machine.  I am in disbelief that driver management has been centralized.  I remember having to look up model numbers, then go to websites and download them by hand, dozens just to get a new computer build (or rebuild) functional.  After a scan on my gaming machine:


WOW, I didn't know had 36 things on my computer that would even warrant drivers.  Amazing job.

https://www.slimwareutilities.com/slimdrivers.php

Saturday, May 24, 2014

Nagios: No output returned from plugin

I set up a small Nagios environment to monitor a few VM's for disk space and other things. I have experience with Nagios and love it, this time I used YUM to install (Nagios v 3.5.1) to make it easier on me and ran into the following error:


The nagios host is CentOS 6.2 and the VM's I am monitoring are different versions of 6.x. Here are my configurations:

On the Nagios server server_name.cfg includes the service to check:
 define service{  
   use                     generic-service  
   host_name               LB3  
   service_description     Primary Partition Free Space  
   check_command           check_nrpe!check_disk  
   }       

On the VM client in the nrpe.conf:
 command[check_disk]=/usr/lib64/nagios/plugins/check_disk --units GB -M -w 20% -c 10% -p /dev/mapper/vg_LB3-lv_root  

Some of you already know what is going on, but I was confused because I was able to pass check_nrpe from the server to the client manually just fine:


And get a reply back from checks, so its not a plugin or firewall issue, for example:

(I do have check_total_procs defined in nrpe.cfg on the client)

So although "No output returned from plugin" is pretty generic, in my case the Nagios server is having an issue passing check_nrpe to the client.  It wasn't until I combed through the ALL of my config files and ran across the check_nrpe command definition in commands.cfg:
 # NRPE command definition  
 define command{  
      command_name      check_nrpe  
      command_line      /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -t $ARG2$  
 }  
 define command{  
      command_name      check_nrpe_1arg  
      command_line      /usr/lib64/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$  
 }  

Ah-ha! check_nrpe is expecting two arguments, -c and -t, yet when I define the service, I am only passing ARG1 (check_disk in my example above).  So I had two options, add an ARG2 to the service definitions or change it to pass check_nrpe_1arg.  I decided to pass the -t (timeout) so I updated the all of service definitions like so:
 define service{  
   use                    generic-service  
   host_name              LB3  
   service_description    Primary Partition Free Space  
   check_command          check_nrpe!check_disk!60  
   }       

And now after a service nagios restart and force re-check the checks are working now:

Monday, May 5, 2014

Pro Tip: Cisco DPC3939B, open all ports so that you can actually use your NATed services.

The Cisco DPC3939B is a DOCSIS 3.0 device offered by Comcast for business internet.  A typical business larger than 5 users will have a firewall/router in place behind the modem to protect the LAN.  In order to pass the WAN IP over to your firewall/router there is something called "bridging mode".  This essentially turns the modem into a dumb device so your firewall can work as intended, without having to NAT twice, once through the modem and once through the firewall.  The DPC3939B bridges just fine, but I was taken back by a default (factory reset) setting hidden in the admin panel that blocks ALL ports, so no more public servers!

Go to Advanced -> Port Management and check "Disable all rules and allow all inbound traffic through" and for good measure select "Open all ports but block exceptions below".  Reference:


Now your public NATed services should be working again, joyous day!