Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- # Script to monitor NetASQ UTM v9 internal temperature from Nagios
- # 15/06/2013 Made by Securizame (www.securizame.com)
- # info@securizame.com
- use Getopt::Std;
- #USAGE $0 -H $donde -w $warntemp -c $crittemp
- my $user='admin';
- my $pass='la_password';
- my $internal_ip='aaa.bbb.ccc.ddd';
- my $temp;
- getopts('H:w:c:');
- my $host=$opt_H;
- my $warn=$opt_w;
- my $crit=$opt_c;
- #Populate "/tmp/comando" file with "MONITOR STAT" command
- system ("sshpass -p $pass ssh $user\@$host -o StrictHostKeyChecking=no \"echo MONITOR STAT > /tmp/comando\"");
- #Remote MONITOR STAT execution
- system ("sshpass -p $pass ssh $user\@$host -o StrictHostKeyChecking=no \"nsrpc -c /tmp/comando $user:$pass\@$internal_ip > /tmp/output\"");
- #Get output to local machine
- my $devuelve=`sshpass -p $pass ssh $user\@$host -o StrictHostKeyChecking=no \"cat /tmp/output\"`;
- #Delete remote tracks
- system ("sshpass -p $pass ssh $user\@$host -o StrictHostKeyChecking=no \"rm -rf /tmp/output /tmp/comando\"");
- #Extract temperature value from retrieved output
- my @cachos=split(/temperature\=/,$devuelve);
- my @trozos=split(/\n/,$cachos[1]);
- $temp=$trozos[0];
- if ($temp >= $crit)
- {
- print ("CRITICAL, Temperature $temp\n");
- exit 2;
- }
- elsif ($temp >= $warn)
- {
- print ("WARNING, Temperature $temp\n");
- exit 1;
- }
- else
- {
- print ("OK, Temperature $temp\n");
- exit 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement