Can’t connect to dynupdate.no-ip.com (Connection timed out)

Este error aparece cuando el agente no-ip no es capaz de conectarse a los servidores para actualizar la dirección IP. Podemos ver los logs en el fichero /var/log/syslog :

fecha server noip2[nproc]: Can’t connect to dynupdate.no-ip.com (Connection timed out)
fecha server noip2[nproc]: Can’t get our visible IP address from ip1.dynupdate.no-ip.com

En mi caso ha sucedido al configurar el firewall (iptables) en DROP por defecto, iptables esta en el propio servidor. El agente no abre ningún puerto, sino que se conecta al puerto 8245/tcp del host dynupdate.no-ip.com. Para comprobarlo, podemos realizar un telnet a dicha maquina:

root@server:/usr/local/scripts# telnet dynupdate.no-ip.com 8245
Trying 204.16.252.79…
telnet: Unable to connect to remote host: Connection timed out

No podemos acceder al puerto 8245 de dynupdate.no-ip.com, introducimos las siguientes reglas en iptables:

iptables -A INPUT -s dynupdate.no-ip.com -p tcp –sport 8245 -j ACCEPT
iptables -A OUTPUT -d dynupdate.no-ip.com -p tcp –dport 8245 -j ACCEPT

Y ahora volvemos a probar con telnet:

root@server:/usr/local/scripts# telnet dynupdate.no-ip.com 8245
Trying 204.16.252.79…
Connected to dynupdate.no-ip.com.
Escape character is ‘^]’.
^]
Connection closed by foreign host.
root@nicotine:/usr/local/scripts

Una vez vemos que tenemos acceso, reiniciamos el agente:

root@nicotine:/usr/local/scripts# /etc/init.d/noipd stop
Apagando noip2…
root@nicotine:/usr/local/scripts# /etc/init.d/noipd start
Iniciando noip2…
Recovering dead process 32685 shmem slot

Ahora podemos comprobar en el fichero /var/log/syslog que el agente puede conectarse correctamente:


fecha server noip2[nproc]: v2.1.9 daemon started with NAT enabled
fecha server noip2[nproc]: boiiod.no-ip.org was already set to xxx.xxx.xxx.xxx.

;)

Posted in Linux | Leave a comment

Nagios + NDOUtils + PNP4Nagios

PROCEDIMIENTO PROVISIONAL!! NO TERMINADO!!

INSTALACIÓN APACHE+MYSQL+PHP:

apt-get install apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql libmysqlclient15-dev php5-gd rrdtool build-essential traceroute

INSTALACIÓN DE NAGIOS:

/usr/sbin/useradd -m nagios
/usr/sbin/groupadd nagios
/usr/sbin/usermod -G nagios nagios
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd www-data
cd /usr/local/src/
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
tar zxvf nagios-3.2.1.tar.gz
cd nagios-3.2.1
./configure –with-command-group=nagcmd –prefix=/usr/local/nagios
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
chmod 770 /usr/local/nagios/var/rw/nagios.cmd
chgrp nagcmd /usr/local/nagios/var/rw/nagios.cmd

INSTALACIÓN NAGIOS PLUGINS:

cd /usr/local/src
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
tar zxvf nagios-plugins-1.4.14.tar.gz
cd nagios-plugins-1.4.14
./configure –with-nagios-user=nagios –with-nagios-group=nagios
make
make install

INSTALACIÓN NAGIOS NRPE:

*Podemos usar ssl para cifrar los datos que circulan por el agente nrpe, para eso instalamos los siguientes paquetes:
apt-get install openssl libssl-dev
*Continuamos con la instalación:
cd /usr/local/src
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config

CONFIGURAMOS AGENTE NRPE Y ARRANCAMOS COMO DEMONIO:

El fichero de configuración del agente nrpe se encuentra en /usr/local/nagios/etc/nrpe.cfg. Una vez configurado, arrancamos el agente:
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
El flag “-c” indica el fichero de configuración, y el flag “-d” indica que queremos arrancar el agente como demonio.

INSTALAR NDOUTILS:

cd /usr/local/src
wget http://downloads.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz?use_mirror=heanet
tar zxvf ndoutils-1.4b9.tar.gz
cd ndoutils-1.4b9
./configure –with-mysql
make
mysqladmin -p create nagios
mysql -u root -p
GRANT ALL PRIVILEGES ON nagios.* TO nagios@localhost IDENTIFIED BY ‘password’;
exit
cd db
./installdb -u root -p “password” -d nagios
cd ..
cp -pr src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp -pr config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg
vi /usr/local/nagios/etc/nagios.cfg
event_broker_options=-1
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
cp src/ndo2db-3x /usr/local/nagios/bin/ndo2db
cp config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
chown -R nagios:nagios /usr/local/nagios/bin/*
vi /usr/local/nagios/etc/ndo2db.cfg
db_user=nagios
db_pass=passwordb
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
/etc/init.d/nagios restart
(REVISAR /usr/local/nagios/var/nagios.log)

INSTALACIÓN PNP4NAGIOS (GRAFICAS MRTG):

cd /usr/local/src/
wget http://downloads.sourceforge.net/project/pnp4nagios/PNP-0.6/pnp4nagios-0.6.4.tar.gz?use_mirror=ignum
tar zxvf pnp4nagios-0.6.4.tar.gz
cd pnp4nagios-0.6.4
./configure
make all
make install
make install-config
make install-init
vi /usr/local/nagios/etc/nagios.cfg
process_performance_data=1
enable_environment_macros=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata
vi /usr/local/nagios/etc/objects/commands.cfg
comentamos process-service-perfdata y process-host-perfdata y agregamos los siguientes:
define command {
command_name    process-service-perfdata
command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
}
define command {
command_name    process-host-perfdata
command_line    /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
}
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
cp -pr /usr/local/src/pnp4nagios-0.6.4/sample-config/httpd.conf /etc/apache2/conf.d/pnp4nagios.conf
/etc/init.d/apache2 reload/restart
cp -pr /usr/local/src/pnp4nagios-0.6.4/contrib/ssi/status-header.ssi /usr/local/nagios/share/ssi
mv /usr/local/pnp4nagios/etc/npcd.cfg-sample /usr/local/pnp4nagios/etc/npcd.cfg
/etc/init.d/npcd start
*Ahora podemos comprobar si pnp4nagios puede funcionar correctamente accediendo a http://servernagios/pnp4nagios      . Nos tendría que aparecer un test de dependencias, si todo sale correcto aparecerá el siguiente mensaje:
“Your environment passed all requirements. Remove or rename the install.php file now.”
mv /usr/local/pnp4nagios/share/install.php /usr/local/pnp4nagios/share/install.php.old
*Volvemos a acceder a http://servernagios/pnp4nagios y nos tendría que aparecer el panel de pnp4nagios con todas las gráficas.
INTEGRACIÓN PNP4NAGIOS CON PANEL NAGIOS:

Vamos a definir 2 plantillas para nagios, estas plantillas se van a definir en /usr/local/nagios/etc/objects/templates.cfg :
define host {
name       host-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_&srv=_HOST_’ class=’tips’ rel=’/pnp4nagios/popup?host=$HOSTNAME$&srv=_HOST_
register   0
}
define service {
name       srv-pnp
action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$’ class=’tips’ rel=’/pnp4nagios/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register   0
}
Ahora vamos a añadir la plantilla para la definición de equipo y servicio en nagios, vamos a configurar esto en el fichero “/usr/local/nagios/etc/objects/localhost.cfg”  quedando de la siguiente manera:

define host{

use                              linux-server,host-pnp
host_name               localhost
alias                           localhost
address                      127.0.0.1
}
define service{
use                                      local-service,srv-pnp
host_name                       localhost
service_description        PING
check_command            check_ping!100.0,20%!500.0,60%
}
Posted in Linux, Nagios | Leave a comment