Nagios empieza a tener mucha carga, y queremos usar otros poller desde otras subredes. Por ello, nos hace falta crear nuevas máquinas, y añadirlas para gestionarlas de forma unificada desde Centreon.
Vamos a seguir la arquitectura distribuida de centreon, basándonos en este tutorial de linux.org
AVISO: Aún no lo hemos logrado configurar.
Os recomiendo seguir el foro de centreon, para lograr configurar esto. Y, por supuesto, los comentarios están abiertos para que nos enviéis sugerencias y correcciones.
Configuración en el Satélite (debian 7). Acceso vía SSH
En el nuevo poller, damos un home a los usuarios nagios y centreon, y capacidad de bash
root@poller:~# grep nagios /etc/passwd
nagios:x:102:121::/var/lib/nagios:/bin/bash
Creamos un usuario centreon con grupo nagios. Es el usuario que
centreon:x:1001:1001:,,,:/home/centreon:/bin/bash
Configuramos SUDO para nagios y centreon
visudo:
User_Alias CENTREON=nagios,centreon CENTREON ALL=NOPASSWD: /etc/init.d/nagios restart CENTREON ALL=NOPASSWD: /etc/init.d/nagios stop CENTREON ALL=NOPASSWD: /etc/init.d/nagios start CENTREON ALL=NOPASSWD: /etc/init.d/nagios reload CENTREON ALL=NOPASSWD: /usr/bin/nagiostats CENTREON ALL=NOPASSWD: /usr/local/etc/bin/nagios *
Si no creamos este usuario, sale repetitivamente siguiente error de autenticación en /var/log/auth. Según el manual de centreon, es suficiente con tener un usuario nagios en los poller, pero, nuestra experiencia, dice que necesita también el usuario centreon:
Dec 13 08:19:15 poller sshd[14233]: Connection closed by centreon_ip [preauth]
Dec 13 08:21:02 poller sshd[14242]: Invalid user centreon from centreon_ip
Dec 13 08:21:02 poller sshd[14242]: input_userauth_request: invalid user centreon [preauth]
Instalamos centreon broker en el poller, para la comunicación desde Centreon. La instalación del broker, está mucho más detallada en la web de centreon.
apt-get install build-essential cmake
apt-get install librrd-dev
apt-get install libqt4-dev libqt4-sql-mysql
apt-get install libgnutls-dev libgnutls26
cd centreon-broker/build
cmake \
-DWITH_DAEMONS='central-broker;central-rrd' \
-DWITH_GROUP=centreon-broker \
-DWITH_PREFIX=/usr \
-DWITH_PREFIX_BIN=/usr/sbin \
-DWITH_PREFIX_CONF=/etc/centreon-broker \
-DWITH_PREFIX_INC=/usr/include/centreon-broker \
-DWITH_PREFIX_LIB=/usr/lib/nagios3 \
-DWITH_PREFIX_MODULES=/usr/share/centreon/lib/centreon-broker \
-DWITH_STARTUP_DIR=/etc/init.d \
-DWITH_STARTUP_SCRIPT=auto \
-DWITH_TESTING=0 \
-DWITH_USER=centreon-broker
make install
# Start service:
adduser centreon-broker
service cbd start
Tenemos que agregar el usuario centreon-broker para evitar esto:
service cbd start
[....] Starting cbd_central-broker: cbdstart-stop-daemon: user 'centreon-broker' not found
start-stop-daemon: user 'centreon-broker' not found
failed!
Tiene que iniciar:
root@poller:~/src/centreon-broker/build# service cbd start
[ ok ] Starting cbd_central-broker: cbd.
[ ok ] Starting cbd_central-rrd: cbd.
Verificamos las rutas de centreon broker, para asegurar que está bien instalado:
Como nuestro satélite es debian, y por problemas con nagvis, vamos a usar mklivestatus, en vez de ndomod. Recomendamos leer <a href=”http://mathias-kettner.de/checkmk_livestatus.html”>este artículo </a>de Matthias Kettner.
Instalamos mklive y su socket (en nuestra instalación no se creó de forma automática).
apt-get install check-mk-livestatus
mkfifo /var/log/nagios3/rw/live
chown nagios:nagios /var/log/nagios3/rw/live
Probamos desde nagios, la comunicación con mklivestatus
root@poller:~# grep broker /etc/nagios3/nagios.cfg
broker_module=/usr/lib/check_mk/livestatus.o /var/log/nagios3/rw/live
event_broker_options=-1
En nagios.log
Sin embargo, sí vamos a instalar ndoutils
Centreon. SSH
Creamos para nagios una clave asimétrica y se la pasamos al nuevo poller o satélite:
nagios@centreon:~#
ssh-keygen
nagios@centreon:~# chmod 600 id_rsa
# Copiamos para nagios y para usuario centreon:
nagios
@centreon:~# ssh-copy-id -i id_rsa.pub nagios@poller
nagios
@centreon:~# ssh-copy-id -i id_rsa.pub centreon@poller
# Prueba de la conexión:
nagios
@centreon:~# ssh nagios@poller
nagios
@centreon:~# ssh centreon@poller
Pasamos todos los plugins al satélite:
scp /usr/local/nagios/libexec/* nagios@{IP_ADDRESS}:/usr/local/nagios/libexec/
Centreon GUI
Creamos el poller
Esta es la configuración del poller para debian 7.1
Creamos el ndomod, con su ip, y habilitado
Creamos el nuevo nagios.cfg
Es importante verificar todas las rutas de archivos.
En nuestro caso, al ser el satélite Debian 7, necesitamos que todas las rutas hagan referencia a nagios3.
Además, configuramos el broker, para usar mklive.
Cambiamos los permisos de /var/nagios/spool/checkresults, para evitar el errorde permisos durante “Run monitoring engine debug (-v)”
Error Unable to write to check_result_path (‘/var/nagios/spool/checkresults’) – Permission denied.
root@central# chmod 777 /var/nagios/spool/checkresults