Nagios and XMPP

Table of Contents

I found that someone has written a perl script geared towards sending
alerts from Nagios to XMPP usernames.

http://www.gridpp.ac.uk/wiki/Nagios_jabber_notification

I have downloaded this, but have not yet got it working as of yet, but
it does look promising.  It took me a while to update all the
dependencies for it, but if those were in place, the installation itself
is rather simple.  That is, the notification script works, but I haven't
actually configured nagios as of yet.

This script has a shortcoming in that it only accepts the username
portion of the JID and not the domain name -- and this means that
notifications can only be sent between users of the same domain.

To illustrate, [email protected] can not send a message to
[email protected], but user1 and user2 on example.net can send to each
other.

# this command will fail:
ytjohn@monitor:/usr/local/bin$ ./notify_by_jabber.pl
[email protected] testing 
# while this one works
ytjohn@monitor:/usr/local/bin$ ./notify_by_jabber.pl yourtech
testing


And in the perl script, you have to specify the login credentials and
server you're connecting to:

## Configuration
# my $username = '[email protected]';   # does not work
my $username = 'system';
my $password = "password";
my $resource = "nagios";
## End of configuration




my $len = scalar @ARGV;
if ($len ne 2) {
   die "Usage...n $0 [jabberid] [message]n";
}
my @field=split(/,/,$ARGV[0]);
#------------------------------------




# Google Talk & Jabber parameters :

my $hostname = 'talk.google.com';
my $port = 5222;
# componentname is the second half of your JID:
my $componentname = 'example.com';
my $connectiontype = 'tcpip';
my $tls = 1;