This script written in Perl can be used as a monitor within Nagios to monitor the state of a Radius server.
#!/usr/bin/perl use Authen::Radius; my $numberargs = $#ARGV + 1; if ($numberargs ne 5) { print "Usage: check_radius \n"; exit(0); } my $hostname = $ARGV[0]; my $port = $ARGV[1]; my $radiussecret = $ARGV[2]; my $username = $ARGV[3]; my $password = $ARGV[4]; my $radius = new Authen::Radius(Host => "$hostname:$port", Secret => $radiussecret); if (!defined $radius) { print "No Response from Host\n"; exit(2); } else { my $r = $radius->check_pwd($username, $password); if($r) { print "Service OK\n"; exit(0); } else { print "Service Critical\n"; exit(2); } } exit(2);