HowTo: Monitoring RED Device State with Nagios

Hi folks,

in normal Site2Site VPN setups you could monitor the tunnel state by pinging the remote end of the vpn. If it doesn't respond it's down! Wink With the REDs being a local interface on the ASG it's no longer possible to check the tunnel state with ping.

We wrote a nagiosplugin which checks the link state of a given RED ID and returns OK when online and CRITICAL when offline. There are also some other values we report, on-/offline time and IP were it is connected from.

I'll give you a short description how to setup the plugin, expecting that you've got a running nagios environment:

1. Copy the check_asg_red_state.pl to your nagios plugn directory (normally /usr/local/nagios/libexec) and make it executable

2. Create a new check_command looking like this:
# 'check_' command definition

define command{
command_name check_asg_red_state
command_line $USER1$/check_asg_red_state.pl -H $HOSTADDRESS$ -R $ARG1$
}

3. You need to gennerate a key pair for the nagios user in order to use the passwordless authentication with the host. This can be done by running 
ssh-keygen -t rsa -N ""

as nagios user or
su - nagios -c 'ssh-keygen -t rsa -N "" '

4. Install your public key on your Astaro for passwordless login of loginuser.

5. Now you can test your setup:

nagios@debian:/usr/local/nagios/libexec$ ./check_asl_red_state.pl -H my.firewall.net -R A300001234567890
RED STATE OK - RED connected from 1.2.3.4, uptime 22h 15min | Uptime=1335min;;


Now you can start adding the REDs to your nagios configuration.

There maybe BUGs, please let me know if you found something unusual or if it doesn't work.

I hope this is helpful for other people, if you have questions feel free to ask!

Regards,
Cobotec GmbH

Mario Techel

Version 1.1:
- minor bugfixes, changed default value for StrictHostKeyChecking to no
check_asg_red_state_v1.1.zip
  • We finally got our RED appliance and I'm trying to get this to work. We don't use strictly Nagios, we use Groundwork which basically makes Nagios much easier to program. I have followed your directions and I also had to change the perl file so it was calling perl where Groundwork puts it. I've done this before and it's worked quite well. But with this plugin I am getting an error. 

    ls: /tmp//red_state_A31002DCC848693: No such file or directory
    
    Use of uninitialized value in split at /usr/local/groundwork/nagios/libexec/check_asg_red_state.pl line 145.
    Use of uninitialized value in split at /usr/local/groundwork/nagios/libexec/check_asg_red_state.pl line 146.
    Use of uninitialized value in subtraction (-) at /usr/local/groundwork/nagios/libexec/check_asg_red_state.pl line 147.
    Use of uninitialized value in subtraction (-) at /usr/local/groundwork/nagios/libexec/check_asg_red_state.pl line 147.
    Month '-1' out of range 0..11 at /usr/local/groundwork/nagios/libexec/check_asg_red_state.pl line 147


    Any ideas?
  • @quasar3c279:Thx for the great plugin. Vote for Sticky!!!

    @safesax2002: Try to run the plugin with option "-c no". This fixed the error for me. If it is not working after that, try to take the Hostname without the Domain-Suffix and not the IP for option "-H".
  • In reply to argi:

    New Version 1.1 released with some minor bugfixes and StrictHostKeyChecking deafulting to "NO" now!

    Regrds,
    Mario
  • Hello,

    After having replaced my ASG V7 by an ASG V8, i have an issue executing the plugin. 

    $  /data/nagios/libexec/check_asg_red_state.pl -H 10.16.7.254 -R A30001713060BC5
    Storable binary image v2.7 more recent than I am (v2.6) at ../../lib/Storable.pm (autosplit into ../../lib/auto/Storable/_retrieve.al) line 328, at /data/nagios/libexec/check_asg_red_state.pl line 163

    Any ideas ?
  • Did you upload any modules (.pm files) with the script?

    Do any of them match those names?

    Barry
  • In reply to BarryG:

    I didn't.

    Here is the result of a search for 'Storable.pm'

    # locate Storable.pm
    /usr/lib/perl5/5.8.5/i386-linux-thread-multi/Storable.pm
    /usr/lib/perl5/5.8.5/Memoize/Storable.pm

    Moreover, the scripts used to work for months before I upgraded my ASG  from 7 to 8.

    For the moment, I can bypass the problem by modifying the check_asg_red_state.pl script at line 163 as the following :

             #$hashref = retrieve("$tmpdir/red_state_$red_id");
             #$red_ip = $hashref->{'peer'};
            $red_ip = 0.0.0.0;

    Thanks for your help.
  • In reply to Lowouik:

    I think Astaro V8 uses a newer Perl Version, can you upgrade your perl on your nagios machine? This should fix the error.

    Regards, Mario
  • Does anyone know if the nagios check also works with Sophos UTM 9?
  • Good question. I will try somewhere next week.

    Thanks for the script btw. quasar.
  • Hi,

    yes it still works with the utm 9.
  • Stopped working since UTM-9.101
    Output:
    "RED STATE CRITICAL - unable to connect to firewall or file not found"
  • I've an updated version witch works with the 9.1 update. 
    On monday morning I'll post it here.