Enviado por admin el
Hoy me dediqué a reconfigurar las notificaciones IM de Nagios de GoogleTalk a Openfire (un servidor XMPP). Para la instalación de Openfire, para la configuración de las notificaciones a través del plugin notify_via_jabber.pl
Una vez tengamos el servidor Openfire instalado creamos por lo menos dos usuario; uno recibirá las notificaciones de Nagios, el segundo las enviará.
Suponiendo que el servidor Openfire esté instalado en un servidor con dominio: openfire.org, el plugin notify_via_jabber.pl va modificado de la siguiente manera (CentOS 64bit)
nano /usr/lib64/nagios/plugins/notify_via_jabber.pl
Modificamos las siguientes líneas para que queden:
## Configuration
my $username = "voztovoice";
my $password = "sesamo";
my $resource = "nagios";
## End of configuration
- voztovoice: usuario creado en openfire que enviará las notificaciones desde Nagios
- sesamo: contraseña del usuario
- nagios: un nombre que queremos asociar a este recurso
my $hostname = 'openfire.org';
my $port = 5222;
my $componentname = 'openfire.org';
my $connectiontype = 'tcpip';
my $tls = 1;
- openfire.org: nombre de dominio donde se encuentra instalado Openfire
- 5222: puerto estándar para la conexión al servidor Openfire
- openfire.org: nombre que se asigna a este componente
- tcpip: protocolo de conexión al servidor Openfire
- 1: se utilizarán conexiones seguras.
Se guardan los datos y con el segundo usuario conectado desde otro cliente XMPP se realiza una prueba (admin es el usuario al que se quiere enviar el mensaje):
/usr/lib64/nagios/plugins/notify_via_jabber.pl admin "hola, como estás"
La primera vez me salió este error:
Can't use an undefined value as a HASH reference at /usr/share/perl5/XML/Stream.pm line 1165
Se soluciona abriendo este archivo:
nano /usr/share/perl5/XML/Stream.pm
y comentando esta línea:
delete($self->{SIDS}->{$currsid});
de modo que quede:
#delete($self->{SIDS}->{$currsid});
Volviendo a realizar una segunda prueba:
/usr/lib64/nagios/plugins/notify_via_jabber.pl admin "hola, como estás"
Esta vez me salió este error:
ERROR: Authorization failed: error - not-authorized
Se soluciona modificando este archivo:
nano /usr/share/perl5/Net/XMPP/Protocol.pm
y comentando este bloque:
if($self->{STREAM}->GetStreamFeature($self->GetStreamID(),"xmpp-sasl"))
{
return $self->AuthSASL(%args);
}
para que quede:
# if($self->{STREAM}->GetStreamFeature($self->GetStreamID(),"xmpp-sasl"))
# {
# return $self->AuthSASL(%args);
# }
Se guardan los cambios y se realiza una nueva prueba:
/usr/lib64/nagios/plugins/notify_via_jabber.pl admin "hola, como estás"
Si no aparece ningún error, debería estar funcionando. De hecho en el cliente:
Ahora nada más modificar la configuración de Nagios.
1 comentario
Buen articulo Andrea, una
Enviado por Antonio Sainz (no verificado) el
Buen articulo Andrea, una sugerencia, que cliente me recomiendas para Linux? aparte de Jitsi.