Usando Linux para muchas cosas y disfrutando de videojuegos, en dispositivos moviles, consolas y pc. Using Linux for many things and enjoying video games, mobile devices, consoles and pc

Mostrando entradas con la etiqueta snmp. Mostrar todas las entradas
Mostrando entradas con la etiqueta snmp. Mostrar todas las entradas

Como instalar Nagios en Centos 6.4 paso a paso

DriveMeca instalando Nagios en un servidor Linux Centos 6.x / 7.x paso a paso
Tienes muchos equipos, servidores, dispositivos, etc, que quieres monitorear su uso, servicios? Para eso hoy te mostrare como instalar Nagios en Centos 6.4 / Centos 7 paso a paso. Nagios es un sistema de monitoreo usado ampliamente y un referente en cuanto a estos desarrollos; cuando se habla de monitoreo encontramos a Nagios como lider. Ahora, con esta herramienta podrás por medio de una interfaz web saber el status de los equipos o dispositivos que ingreses.
También genera reportes, alarmas visuales y auditivas entre otras posibilidades para que ese fallo no te coja por sorpresa.

Requerimientos


Preparamos Linux Centos para instalar Nagios

-Instalamos dependencias
yum install gd gd-devel gcc glibc glibc-common wget unzip net-snmp*

-Creamos el usuario nagios y le colocamos contraseña
useradd -m nagios
passwd nagios

-Creamos un grupo para ejecutar comandos via web
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd apache

-Descargamos Nagios Core y Nagios Plugins. En este momento la ultima version es 4.3.1 para Nagios Core y 2.1.4 para Nagios Plugins; recomiendo descargar la ultima version existente
wget -c https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.1.tar.gz
wget -c http://www.nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz

                                         Como actualizar nagios 3 paso a paso
                                         Como crear un usuario de solo lectura en Nagios
                                         Como instalar snmp trap en Nagios
                                         Como instalar PNP4Nagios

Instalamos Nagios en Linux Centos

-Descomprimimos el archivo y entramos a su directorio
tar xzvf nagios-4.3.1.tar.gz
cd nagios-4.3.1

-Compilamos e instalamos nagios bajo el grupo nagcmd
./configure --with-command-group=nagcmd
make all
make install

-Creamos los scripts de inicio
make install-init

-Creamos ficheros de configuracion de ejemplo
make install-config

-Activamos permisos
make install-commandmode

-Instalamos la consola web
make install-webconf

-Creamos un usuario administrador para la interfaz web y le colocamos contraseña
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Instalamos plugins de Nagios en Linux Centos

-Salimos del directorio de compilación de Nagios, descomprimimos el tgz de plugins y entramos a su directorio
cd ..
tar xzvf nagios-plugins-2.1.4.tar.gz
cd nagios-plugins-2.1.4

-Comenzamos a compilar e instalamos, esta vez como usuario y grupo nagios
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install

Configuramos Nagios en Linux Centos

-Hacemos una copia de seguridad y editamos contactos
cp /usr/local/nagios/etc/objects/contacts.cfg /usr/local/nagios/etc/objects/contacts.cfg.old
vi /usr/local/nagios/etc/objects/contacts.cfg
define contact{
 contact_name    nagiosadmin           ; El usuario administrador creado en pasos anteriores
 use             generic-contact               ; Hereda valores de la plantilla generic-contact
 alias           Nagios Admin                ; Nombre completo

 email         nagios@localhost       ; <<***** Email del administrador, debe ser uno real y que funcione ******
        }

define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 nagiosadmin   ;Aquí podemos agregar usuarios administrativos
        }

-Reiniciamos el servicio de apache
Linux Centos 6.x
service httpd restart

Linux Centos 7.x
systemctl restart httpd

-Verificamos este la configuracion de nagios hasta el momento correcta. Debe decirnos que 0 Warnings y 0 Errors

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Nagios Core 4.1.1
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 08-19-2015
License: GPL

Website: https://www.nagios.org
Reading configuration data...
   Read main config file okay...
   Read object config files okay...

Running pre-flight check on configuration data...

Checking objects...
 Checked 8 services.
 Checked 1 hosts.
 Checked 1 host groups.
 Checked 0 service groups.
 Checked 1 contacts.
 Checked 1 contact groups.
 Checked 24 commands.
 Checked 5 time periods.
 Checked 0 host escalations.
 Checked 0 service escalations.
Checking for circular paths...
 Checked 1 hosts
 Checked 0 service dependencies
 Checked 0 host dependencies
 Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

-Activamos el servicio de nagios para que se ejecute cada vez que haga boot el servidor y lo iniciamos

Centos 6.x
chkconfig --add nagios
chkconfig nagios on
service nagios start

Centos 7.x
systemctl enable nagios
systemctl start nagios

-Abrimos un browser y navegamos a http://IP-Servidor/nagios Ingresamos con el usuario nagiosadmin y su contraseña creado en pasos anteriores. En la pagina siguiente nos mostrara un menu vertical a la izquierda y dependiendo de donde demos click, los resultados en el centro de la pantalla
DriveMeca instalando Nagios en un servidor Linux Centos 6.x / 7.x paso a paso

-Una opción muy recomendable en Nagios es usar Tactical Overview, mas que todo cuando tenemos muchos dispositivos y servicios en monitoreo. De un vistazo podemos ver todo
DriveMeca instalando Nagios en un servidor Linux Centos 6.x / 7.x paso a paso

-Aunque podemos ir mas al detalle y mirar los servicios de un dispositivo (servidor en este caso) en que estado están y allí por un sencillo sistema de colores veremos como están (verde=ok, amarillo=prestar atención y rojo=error)
DriveMeca instalando Nagios en un servidor Linux Centos 6.x / 7.x paso a paso

-En un momento dado podemos filtrar y solo ver los servicios que presenten warning o error en Nagios
DriveMeca instalando Nagios en un servidor Linux Centos 6.x / 7.x paso a paso

-También podemos mirar mas de cerca a un dispositivo y activar chequeo, desactivarlo, ver reportes sobre su estado, etc
DriveMeca instalando Nagios en un servidor Linux Centos 6.x / 7.x paso a paso


Actualizar Nagios en Linux Centos

-El tiempo pasa y tu instalación nagios puede requerir actualizarse a la ultima versión por seguridad, para corregir errores o agregar mejoras. Primero, como sabemos si necesitamos actualizar nagios? Sencillo. Navegamos a en la consola web a General - Home y allí nos aparecerá el aviso de si estamos o no con la ultima versión
DriveMeca instalando Nagios en un servidor Linux Centos 6.x / 7.x paso a paso

-Una buena política (indispensable diría yo) es tener un backup
cd /root
tar czvf nagios-backup.tgz /usr/local/nagios/

-Es posible que ya no los tengas, pero por si acaso, borramos antiguos archivos html. En las nuevas versiones de nagios son en php
rm /usr/local/nagios/share/{main,side,index}.html

-Descargamos la ultima versión. Siempre la encontraras en el siguiente URL (recuerda que la gratuita es Core). Para este articulo la mas actual es 4.2.1
wget -c  https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.1.tar.gz

-Descomprimimos el paquete y entramos a su directorio
tar xzvf nagios-4.2.1.tar.gz
cd nagios-4.2.1

-Compilamos teniendo cuidado de que usar el mismo grupo que original usamos al instalar
./configure --with-command-group=nagcmd
make all
make install

-Verificamos todo este ok con 0 errores o warnings en nuestra configuracion nagios en linux centos
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 4.2.1
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 09-06-2016
License: GPL

Website: https://www.nagios.org
Reading configuration data...
   Read main config file okay...
   Read object config files okay...

Running pre-flight check on configuration data...

Checking objects...
Checked 36 services.
Checked 4 hosts.
Checked 2 host groups.
Checked 0 service groups.
Checked 1 contacts.
Checked 1 contact groups.
Checked 28 commands.
Checked 5 time periods.
Checked 0 host escalations.
Checked 0 service escalations.
Checking for circular paths...
Checked 4 hosts
Checked 0 service dependencies
Checked 0 host dependencies
Checked 5 timeperiods
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Things look okay - No serious problems were detected during the pre-flight check

-Reiniciamos y verificamos que el servicio nagios quede ejecutando correctamente
systemctl restart nagios
systemctl status nagios

-Volvemos a nuestro navegador y vamos al menú General - Home. Ya debe aparecernos que estamos en la ultima versión de Nagios Core instalado en nuestro Linux Centos 7
DriveMeca instalando Nagios en un servidor Linux Centos 6.x / 7.x paso a paso


Muy bien, ya tenemos nuestro nagios ejecutándose en un servidor Linux Centos 6.x/7.x. No fue complicado cierto? Ya usas Nagios, que versión, cuantos dispositivos monitoreas, escríbeme en los comentarios aquí debajo y pasa la voz compartiendo el tweet.

Sígueme en twitter google+facebook o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como instalar snmp trap en Nagios

SNMP nos permite monitorear dispositivos, servicios, servidores, etc, solo que a veces no podemos leer directamente los valores sino solo recibirlos e interpretarlos; para eso usamos traps de SNMP y hoy les mostrare como configurar snmptrap en Nagios. Ya sea por un firewall o porque no tengamos control sobre ese dispositivo que queremos monitorear con SNMP la solución es activar el envió de traps de SNMP a nuestro Nagios, el cual interpretara estos msg.
Quieres monitorear por medio de SNMP pero no sabes como? te aconsejo usar Nagios, el cual muestro como instalar en este URL.
Para este articulo mostrare como activar SNMP traps para una instancia virtual ejecutando Cisco Prime sobre un RedHat 6.3.

Requerimientos

  • Usaremos Linux Centos
  • Tener ya instalado y configurado Nagios (damos por hecho que el directorio donde lo compilamos es /root/nagios-4.0.1) El directorio de Nagios puede variar, tener cuidado con eso
  • cp /root/nagios-4.0.1/contrib/eventhandlers/submit_check_result /usr/local/nagios/libexec/
  • rpm -qa|grep snmp
net-snmp-libs-5.5-44.el6_4.4.x86_64
net-snmp-5.5-44.el6_4.4.x86_64
net-snmp-utils-5.5-44.el6_4.4.x86_64

-Descargamos, descomprimimos y copiamos

wget -c http://downloads.sourceforge.net/project/snmptt/snmptt/snmptt_1.3/snmptt_1.3.tgz
tar xzvf snmptt_1.3.tgz
cd snmptt_1.3

cp snmptthandler snmptt /usr/sbin
cp snmpttconvert snmpttconvertmib /usr/bin/

-Configuramos snmptrapd

vi /etc/snmp/snmptrapd.conf
traphandle default /usr/sbin/snmptt
disableAuthorization yes
donotlogtraps  yes

-Modificamos script de inicio. Cambiar el domain (en rojo) al de vuestra red o del dispositivo

vi /etc/rc.d/init.d/snmptrapd
OPTIONS="-On -Lsd -p /var/run/snmptrapd.pid"

-Iniciamos el servicio

service snmptrapd restart

-Creamos el script de snmptt

vi /etc/snmp/snmptt.ini
[General]
mode = standalone
multiple_event = 1
dns_enable = 1
strip_domain = 1
strip_domain_list = <<END
test.com
END

resolve_value_ip_addresses = 0
net_snmp_perl_enable = 1
net_snmp_perl_best_guess = 0
translate_log_trap_oid = 0
translate_value_oids = 1
translate_enterprise_oid_format = 1
translate_trap_oid_format = 1
translate_varname_oid_format = 1
translate_integers = 1
wildcard_expansion_separator = " "
allow_unsafe_regex = 0
remove_backslash_from_quotes = 0
dynamic_nodes = 0
description_mode = 0
description_clean = 1

[Logging]
stdout_enable = 0
log_enable = 1
log_file = /var/log/snmptt.log
unknown_trap_log_enable = 1
unknown_trap_log_file = /var/log/snmpttunknown.log
statistics_interval = 0
syslog_enable = 1
syslog_facility = local0
syslog_level_debug = <<END
END
syslog_level_info = <<END
END
syslog_level_notice = <<END
END
syslog_level_warning = <<END
END
syslog_level_err = <<END
END
syslog_level_crit = <<END
END
syslog_level_alert = <<END
END
syslog_level = info
syslog_system_enable = 1
syslog_system_facility = local0
syslog_system_level = warning

[Exec]
exec_enable = 1
pre_exec_enable = 0
unknown_trap_exec =

[Debugging]
DEBUGGING = 0
DEBUGGING_FILE =
DEBUGGING_FILE_HANDLER =

[TrapFiles]
snmptt_conf_files = <<END
/etc/snmp/snmptt.conf
END

-Descargamos mibs para monitoreo

wget -c ftp://ftp.cisco.com/pub/mibs/v2/SNMPv2-MIB.my

-Compilamos mibs

snmpttconvertmib --in=/root/SNMPv2-MIB.my --out=/etc/snmp/snmptt.conf.prime --exec='/usr/local/nagios/libexec/submit_check_result $r TRAP 1'
exec: /usr/local/nagios/libexec/submit_check_result $r TRAP 1


*****  Processing MIB file *****

snmptranslate version: NET-SNMP version: 5.5
severity: Normal

File to load is:        /root/SNMPv2-MIB.my
File to APPEND TO:      /etc/snmp/snmptt.conf.prime

MIBS environment var:   /root/SNMPv2-MIB.my
mib name: SNMPv2-MIB


Processing MIB:         SNMPv2-MIB
#
skipping a TRAP-TYPE / NOTIFICATION-TYPE line - probably an import line.
#
Line: 430
NOTIFICATION-TYPE: coldStart
Enterprise: snmpTraps
Looking up via snmptranslate: SNMPv2-MIB::coldStart
OID: .1.3.6.1.6.3.1.1.5.1
#
Line: 439
NOTIFICATION-TYPE: warmStart
Enterprise: snmpTraps
Looking up via snmptranslate: SNMPv2-MIB::warmStart
OID: .1.3.6.1.6.3.1.1.5.2
#
Line: 452
NOTIFICATION-TYPE: authenticationFailure
Enterprise: snmpTraps
Looking up via snmptranslate: SNMPv2-MIB::authenticationFailure
OID: .1.3.6.1.6.3.1.1.5.5

Done

Total translations:        3
Successful translations:   3
Failed translations:       0

-Modificamos el snmptt.ini agregando el conf creado

vi /etc/snmp/snmptt.ini
[TrapFiles]
snmptt_conf_files = <<END
/etc/snmp/snmptt.conf
/etc/snmp/snmptt.conf.prime
END

-Activamos el rotate de logs

cp /root/snmptt_1.3/snmptt.logrotate /etc/logrotate.d/snmptt
mkdir /var/log/snmptt/

-Activamos el script de inicio

cp snmptt-init.d /etc/init.d/snmptt

-Creamos un template de service en nagios

cd /usr/local/nagios/etc/objects
vi /usr/local/nagios/etc/objects/templates.cfg
define service{
   name                         snmp-service
   register                     0
   check_period                 24x7
   max_check_attempts           3
   normal_check_interval        15
   retry_check_interval         5
   active_checks_enabled        1
   passive_checks_enabled       0
   parallelize_check            1
   obsess_over_service          0
   check_freshness              0
   event_handler_enabled        0
   flap_detection_enabled       0
   process_perf_data            1
   retain_status_information    1
   retain_nonstatus_information 1
   notification_interval        60
   notification_period          24x7
   notification_options         w,u,c,r
   notifications_enabled        1
}

define service{
   name                    snmptrap-service
   use                     snmp-service
   register                0
   service_description     TRAP
   is_volatile             1
   check_command           check-host-alive
   max_check_attempts      1
   normal_check_interval   1
   retry_check_interval    1
   passive_checks_enabled  1
   check_period            none
   notification_interval   31536000
   contact_groups          admins
}

-Activamos un conf en nagios

vi ../nagios.cfg

cfg_file=/usr/local/nagios/etc/objects/5infra.cfg

-Agregamos el chequeo

vi 5infra.cfg
define service{
   host_name               veop
   use                     snmptrap-service
   contact_groups          admins
}

Generamos algún evento que se reporte por snmp y nos debe mostrar la alerta en el servicio TRAP que creamos en Nagios.
Aunque podríamos no verle la utilidad al principio, en algún momento se encontraran con la necesidad de monitorear pero no podrán instalar los plugins o menos activar un NRPE. En ese momento es que les sera útil activar el envió de traps.
Usas SNMP traps, para que? Te resulta interesante la idea?
Si te resulto útil este articulo, se social, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark

Como crear un usuario de solo lectura en Nagios

Quieres darle acceso a una persona a Nagios pero no quieres que haga cambios? Ok, sigue leyendo y aprenderás como crear un usuario de solo lectura. Este podrá mirar (leer) pero no ejecutar comandos, deshabilitar notificaciones, etc. Una opción importante para que personas sin dominio técnico puedan entrar sin peligro de dañar algo. Quieres instalar Nagios? en este articulo te muestro paso a paso como en un Linux Centos 6.4.
Todos los comandos lo ejecutaremos desde la cuenta root y aunque es un Centos debe funcionar en otras distribuciones linux.

-Nos cambiamos al directorio de htpasswd.users
cd /usr/local/nagios/etc

-Creamos el usuario userlectura
htpasswd -m /usr/local/nagios/etc/htpasswd.users userlectura

-Nos conectamos vía web y verificamos al entrar que aunque nos muestra la interfaz, no hay datos en ella.

-Editamos cgi.cfg y agregamos el usuario. Salimos guardando.
vi cgi.cfg

authorized_for_all_services=nagiosadmin,userlectura
authorized_for_all_hosts=nagiosadmin,userlectura

-Reiniciamos el servicio.
service nagios reload

-Cerramos el browser y nos conectamos nuevamente con userlectura. Ya dentro si intentamos ejecutar alguna acción como por ejemplo deshabilitar el envió de alertas, Nagios nos sacara un error no permitiendolo.

Con esto ya tenemos un usuario de solo lectura, podrá mirar pero no modificar.
Si te resulto útil este articulo, se social, compártelo con otros por medio de los botones o sígueme en twitter google+ o email y podrás estar enterado de todas mis publicaciones.
Disfrútenlo.

Share/Bookmark