Comandos frecuentes Nagios
Comandos frecuentes Nagios
-- Archivo principal de configuración Nagios vi /usr/local/nagios/etc/nagios.cfg
-- Archivo de comandos, envío de correos, cada cuando checa un servicio, etc. /usr/local/nagios/etc/objects/commands.cfg
-- Archivo donde se guarda la contraseña/password para el cliente de windows. (el password de nsclient esta especificado en la línea que especifica el comando check_net, despues de -s)
/usr/local/nagios/etc/objects/commands.cfg
-- Archivo de configuración de clientes windows
/usr/local/nagios/etc/objects/windows.cfg
-- crear un usuario adicional para la interfaz web
htpasswd /usr/local/nagios/etc/htpasswd.users <username>
Ejemplo: htpasswd /usr/local/nagios/etc/htpasswd.users alicia.dominguez Y tecleamos el password
-- Permisos en interfaz web
/usr/local/nagios/etc/cgi.cfg
por ejemplo para darle permisos al usuariorecien creado de solo ver los hosts buscar este patron y agregar al usuario separados por comas.
- GLOBAL HOST/SERVICE VIEW ACCESS
- These two options are comma-delimited lists of all usernames that
- can view information for all hosts and services that are being
- monitored. By default, users can only view information
- for hosts or services that they are contacts for (unless you
- you choose to not use authorization). You may use an asterisk (*)
- to authorize any user who has authenticated to the web server.
authorized_for_all_services=nagiosadmin,alicia.dominquez
authorized_for_all_hosts=nagiosadmin,alicia.dominguez
-- Una vez modificado el archivo reiniciar el servicio para que tome los cambios con el comando:
/etc/rc.d/init.d/nagios reload
-- Cambio de correo electrónico para alarmas
/usr/local/nagios/etc/objects/contacts.cfg
-- Logs de Nagios /var/log/messages - General system error log /var/log/maillog - Mail server log /var/spool/nagios/nagios.log - The Nagios log
-- notification methods metodos de notificación Nagios /usr/local/nagios/etc/objects/commands.cfg
-- Para eliminar el error: Mar 29 17:11:02 nagios sendmail[14216]: p2TNB2Cq014216: from=nagios, size=273, class=0, nrcpts=1, msgid=<201103292311.p2TNB2Cq014216@nagios.local>, relay=nagios@localhost Mar 29 17:11:02 nagios sendmail[14217]: p2TNB2xB014217: from=<nagios@nagios.local>, size=547, class=0, nrcpts=1, msgid=<201103292311.p2TNB2Cq014216@nagios.local>, proto=ESMTP, daemon=MTA, relay=nagios.local [127.0.0.1] Mar 29 17:11:02 nagios sendmail[14216]: p2TNB2Cq014216: to=infosec@dsmexico10.local., ctladdr=nagios (501/501), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30273, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p2TNB2xB014217 Message accepted for delivery) Mar 29 17:11:02 nagios sendmail[14219]: STARTTLS=client, relay=dsmexico10.local., version=TLSv1/SSLv3, verify=FAIL, cipher=RC4-MD5, bits=128/128
En el archivo /etc/mail/access agregar la siguiente línea: Try_TLS:broken.server NO Ejemplo: Try_TLS:100.10.65.31 NO Try_TLS:dsmexico10.local NO
-- Al querer programar un downtime, observamos el error:
Error: Could not stat() command file '/usr/local/nagios/var/rw/nagios.cmd'! The external command file may be missing, Nagios may not be running, and/or Nagios may not be checking external commands. An error occurred while attempting to commit your command for processing. Return from whence you came
El error es debido a que el usuario que ejecuta el servicio httpd no tiene permisos para escribir en el folder /usr/local/nagios/var/rw/ Para resolverlo es necesario ver cual es el usuario que ejecuta el servicio httpd con el comando:
ps aux | grep httpd
La salida será algo como: apache 5157 0.0 0.1 17892 5068 ? S Sep18 0:01 /usr/sbin/httpd apache 5158 0.0 0.1 17892 5040 ? S Sep18 0:01 /usr/sbin/httpd apache 5159 0.0 0.1 17892 5052 ? S Sep18 0:01 /usr/sbin/httpd apache 5161 0.0 0.1 17888 5072 ? S Sep18 0:01 /usr/sbin/httpd apache 5162 0.0 0.1 17896 4872 ? S Sep18 0:01 /usr/sbin/httpd apache 5163 0.0 0.1 17896 4888 ? S Sep18 0:01 /usr/sbin/httpd apache 5164 0.0 0.1 17884 4900 ? S Sep18 0:01 /usr/sbin/httpd apache 5165 0.0 0.0 17884 4700 ? S Sep18 0:01 /usr/sbin/httpd root 15862 0.0 0.0 4004 684 pts/0 S+ 13:25 0:00 grep httpd apache 22187 0.0 0.0 17760 4072 ? S Sep19 0:00 /usr/sbin/httpd Aquí observamos que el usuario es apache Paso dos es crear un grupo llamado nagiocmd, donde estaran los usuarios que ejecutan el servicio de nagios y el servicio de httpd, en este caso son: nagios y apache Para redhat el comando sería:
/usr/sbin/groupadd nagiocmd
Ahora agregaremos el usuario apache y nagios al nuevo grupo, con los comandos:
/usr/sbin/usermod -G nagiocmd nagios /usr/sbin/usermod -G nagiocmd apache
Ahora establecer los permisos al folder Cambiar el propietario del folder
chown nagios.nagiocmd /usr/local/nagios/var/rw
Asegurarse que el usuario tiene permisos full en el directorio
chmod u+rwx /usr/local/nagios/var/rw
Asegurarse que el grupo tiene todos los permisos en el directorio
chmod g+rwx /usr/local/nagios/var/rw
Para forzar que los archivos creados hereden los permisos de grupo en el directorio, necesitamos habilitar el sticky bit de grupo
chmod g+s /usr/local/nagios/var/rw
Ahora agregaremos el usuario apache y nagios al nuevo grupo, con los comandos:
/usr/sbin/usermod -G nagiocmd nagios /usr/sbin/usermod -G nagiocmd apache
Ahora establecer los permisos al folder Cambiar el propietario del folder
chown nagios.nagiocmd /usr/local/nagios/var/rw
Asegurarse que el usuario tiene permisos full en el directorio
chmod u+rwx /usr/local/nagios/var/rw
Asegurarse que el grupo tiene todos los permisos en el directorio
chmod g+rwx /usr/local/nagios/var/rw
Para forzar que los archivos creados hereden los permisos de grupo en el directorio, necesitamos habilitar el sticky bit de grupo
chmod g+s /usr/local/nagios/var/rw
-- Verificar los permisos del folder
ls -al /usr/local/nagios/var
Busca la linea parecida a la siguiente:
drwxrwsr-x 2 nagios nagiocmd 4096 Aug 16 19:40 rw
Ahora se debe reiniciar el servicio web con el comando similar a:
service httpd restart
Notas adicionales: Si empleas el parametro “--with-command-grp=algungroupo” cuando ejecutes el script de configuración, puedes crear el directorio y establecer los permisos apropiados automáticamente ejecutando “make install-commandmode”