jueves, 28 de agosto de 2014

Zabbix templates


Picture
Uno de los grandes beneficios de Zabbix son sus templates, los cuales son una colección de ITEM, TRIGGERS, GRAPHS entre otros, diseñados especialmente para ciertos dispositivos como switches, impresoras, NAS como NetApp, Exchange Server, entre otros, que proporcionan información puntual sobre el dispositivo.  Por ejemplo:  Los templates para los Switches CISCO, nos proporcionan información de tráfico de cada puerto, su disponibilidad, colisiones, incluso hasta la temperatura del dispositivo.

En este artículo vamos a proporcionar los templates que hemos utilizado y mejorado, así como los desarrollados en laboratorio para algunos de nuestros clientes a quienes damos soporte con Zabbix.

Antes de instalar los Templates te recomendamos leas cómo utilizarlos.  Es importante comentar que los templates incluyen únicamente instrucciones en XML y están comprobado en su funcionalidad.   Siempre te recomendamos veas su contenido para conocer a fondo todos los componentes que agrega a los HOST's.


Cómo "Importar" Templates en Zabbix

Picture
Importar Template:  Después de bajar y desempaquetar el "Template", con el interfaz Web de Zabbix subes el archivo .xml

Picture
En la página de diálogo para importar el "Template":
  1. Damos clic en "Browse" para cargar el archivo .xml
  2. Después de cargar el archivo procedemos a "Importarlo".

NOTA:  La mayoría de templates que vamos a publicar no requiere cambios en los parámetros de importación.  En el caso que sea necesario cambiar algún parámetro, en la documentación del Template estará indicado.

Cómo utilizar los templates en Zabbix

Después de cargar a Zabbix el Template, este aparece disponible en la opción Configuration -> Templates.   Desde esta opción puede modificar cualquiera de sus características.

En el siguiente ejemplo vamos a activar la monitorización de un switch cisco 3560
Picture
  1. Host name:  Define un nombre al dispositivo.
  2. Visible name:  Define un nombre que será visible en el listado de Host's.
  3. Groups:  Selecciona o agrega un grupo al cuál pertenecerá el dispositivo.
  4. Agent Interfaces:  Elimina el interfaz.
  5. SNMP Interfaces:  Ingresa la IP del dispositivo.
  6. Clic en TAB "Template" para asignar el template de Cisco.

Picture
  1. Clic para agregar Template.
  2. Seleccionamos del listado los templates a aplicar.
  3. Hacemos clic en Macros.


Picture
  1. En el campo Macro ingresamos {$SNMP_COMMUNITY}.  Esta macro esta asociado a cada ITEM.  En resumen lleva el password de consulta al disositivo.
  2. Le damos el password snmp del dispositivo.
  3. Para finalizar grabamos

Borrar OU en Windows Server 2008

Borrar OU en Windows Server 2008


Cuando ordenamos un AD generalmente queremos eliminar alguna OU (unidad organizativa), y es común que recibamos un cuadro de diálogo “No tiene suficientes privilegios para eliminar %ou%, o bien este objeto está protegido contra eliminación accidental”
Si estamos seguros que queremos eliminar la OU:
Hacemos clic en “Usuarios y equipos de Active Directory”,
Menú Ver /Características avanzadas.
Botón derecho sobre la OU que queremos eliminar y hacemos clic en  ”Propiedades”. Nos movemos a la pestaña “Seguridad”. Clic en “Opciones Avanzadas”. Editamos la entrada de permiso del grupo “Todos” y le quitamos la denegación sobre “Eliminar” y “Eliminar subárbol”.
Con esto ya podemos eliminar y continuar organizando nuestro AD.

Restaurando Objetos borrados de nuestro Active Directory, utilizando la herramienta AD DS/LDS Browsing Utility (LDP.EXE – Tombstone Reanimation) {HowTo}



Restaurando Objetos borrados de nuestro Active Directory, utilizando la herramienta AD DS/LDS Browsing Utility (LDP.EXE – Tombstone Reanimation) {HowTo}


ADRecoveryHoy vamos a ver otra forma de recuperar objetos borrados de nuestro Active Directory. Como hemos visto a lo largo del blog, sabemos que Active Directory es una base de datos jerárquica que almacena información acerca de los recursos de la red, tales como computadoras, servidores, usuarios, grupos, permisos y demás.
El objetivo principal de Active Directory para proporcionar autenticación y autorización centralizados. Tareas administrativas comunes cuando se trabaja con Active Directory podrían ser la creación, gestión, mover, editar y, a veces – la eliminación – de diversos objetos, tales como cuentas de usuario, cuentas de equipo, grupos, contactos y otros objetos. La base de datos de Active Directory se almacena en los controladores de dominio (o DC), en un archivo llamado NTDS.DIT.
Obviamente como vimos anteriormente en la nota de Recycle Bin, la nueva funcionalidad de Active Directory en Windows Server 2008 R2, con la nueva versión de 2008 podríamos estar cubiertos ante un error eventual y también deberíamos tener un backup de nuestro Active Directory al día, por cualquier inconveniente. Tengamos en cuenta que la restauración de los elementos eliminados de una copia de seguridad del estado del sistema anterior no es tan simple como parece; hay que iniciar nuestro sistema en "Modo de restauración de DS". Obviamente para Windows Server 2008 R2, se recomienda el uso de Active Directory Recycle Bin. Pero, hay que hacer un restore de todo nuestro AD si borramos por error un objeto y no tenemos el feature de Recycle Bin habilitado, o aun tengo Windows Server 2003 implementado ???
Bueno, no. Tenemos otra opción. En realidad, cuando eliminamos un objeto de Active Directory, no estamos borrándolo de inmediato, sino que marcamos dicho objeto para eliminarlo en un futuro. Active Directory utiliza un modelo de replicación que se caracteriza por ser "multi-master loose consistency with convergence", entonces se pueden hacer cambios en cualquier DC en el bosque, y los cambios se replicaran gradualmente por toda nuestra arquitectura de domain controllers.
Entonces repetimos, cuando se elimina un objeto del directorio, no elimina físicamente los objetos de la base de datos. En su lugar, Active Directory marca el objeto como eliminado por valor de atributoisDeleted del objeto a TRUE, despojando a la mayoría de los atributos del objeto, cambiar el nombre del objeto, y después de mover el objeto a un contenedor especial en el contexto de nombres del objeto (CN) llamado CN = DeletedObjects. El objeto, que ahora se llama una tombstone, es invisible para las operaciones de directorio normal.
Obviamente, los objetos no se quedan en este contenedor indefinidamente. La duración de este estado es por defecto es de 60 días para los bosques construidos inicialmente utilizando Windows 2000 y Windows Server 2003, y 180 días para los bosques que fueron construidos inicialmente con Windows Server 2003 SP1.
También podemos cambiar este tiempo de vida en el limbo, cambiando el atributotombstoneLifetime de CN=Directory Service,CN=Windows NT, CN=Services,CN=Configuration, DC= object.
Cada 12 horas, cada controlador de dominio se inicia el proceso de recolección de basura (garbage collection process)Esto se puede cambiar modificando el valor del atributo garbageCollPeriod de la CN=Directory Service,CN=Windows NT, CN=Services,CN=Configuration,DC= object. Está recolección de basura analiza todos los Tombstone del DC y se eliminan físicamente los que son más antiguos que la fecha de dicho Tombstone.
El contenedor  DeletedObjects se encuentra oculta y no se puede ver mediante la consola Active Directory Users and Computers o por ADSIEDIT.MSC, pero podemos usar el LDP.EXE.
Lo que vamos a hacer es básicamente borrar un usuario y recuperarlo. En nuestro caso voy a eliminar la cuenta Roberto Di Lello, que tiene el distinguishedName: CN=Roberto Di Lello,OU=IT Department,DC=radians,DC=com,DC=ar.
RT_DC2008-2011-07-08-12-31-24
RT_DC2008-2011-07-08-12-30-19
Borramos este usuario.Delete01
RT_DC2008-2011-07-08-12-36-08
Ejecutamos el comando LDP.exe (AD DS/LDS Browsing Utility) como administrador. esta utilidad se encuentra en 2003 en el support tools.
LDP
Nos conectamos a nuestro servidor controlador de dominio:
Delete02
RT_DC2008-2011-07-08-12-43-45
RT_DC2008-2011-07-08-12-44-01
Hacemos clic en el menú Connection, haga clic en Bind, y el tipo de la cuenta de administrador y contraseña.
RT_DC2008-2011-07-08-12-47-48
RT_DC2008-2011-07-08-12-48-09
Haga clic en el menú Options, haga clic en Controlsy en el combo Load Predefined, seleccionamos Return Deleted Objects. Esta opción muestra el contenedor de objetos eliminados que se oculta de manera predeterminada.
RT_DC2008-2011-07-08-12-49-11
Hacemos un clic en el menú View y seleccionamos Tree, luego seleccionamos el distinguished name de nuestro dominio. Sobre la izquierda, seleccionamos DC=radians,DC=com,DC=ar.
tree
Expandimos el contenedor Deleted Objects, y buscamos el objeto que corresponde a Roberto Di Lello. Hacemos un clic con el botón derecho sobre la cuenta y seleccionamos Modify.
RT_DC2008-2011-07-08-14-18-09
Modify
Aquí podemos ver que el valor isDeleted esta en true.
RT_DC2008-2011-07-08-15-05-44
En el cuadro de atributos, ingresamos isDeleted. En el cuadro Operation, hacemos clic en el radio button Delete , y luego en el botón Enter.
RT_DC2008-2011-07-08-14-35-29
En el cuadro Attribute, distinguishedName, en el cuadro valores, escribimos CN=Roberto Di Lello, OU=IT Department,DC=radians,DC=com,DC=ar, que es la ubicación en donde se encontraba nuestro usuario al momento de eliminarlo. En el cuadro Operation, hacemos clic enReplace, y a continuación hacemos clic en Enter. Seleccionamos Extended para que quede seleccionado, y luego hacemos un clic en Run.
RT_DC2008-2011-07-08-15-22-21
Como resultado de este procedimiento no es perfecto al 100% como si lo es recycle bin. Podemos ver que la restauración de los objetos eliminados con el procedimiento de reanimación de Tombstone nos recupera la cuenta pero tenemos que tener en cuenta que vamos a tener que reestablecer la contraseña y activar la cuenta.
RT_DC2008-2011-07-08-15-27-46
RT_DC2008-2011-07-08-15-27-46
En Windows Server 2008, tenemos que primero reemplazar la contraseña para después si, poder habilitar la cuenta.
RT_DC2008-2011-07-08-15-29-58
Otra cosa que este procedimiento no hace es traer el resto de los atributos, como podemos ver en el siguiente screenshoot:
RT_DC2008-2011-07-08-15-30-37
De esta forma podrá acceder a los  recursos compartidos que tenia anteriormente el usuario, solo que debemos completar los datos faltantes, incluyendo su membresía (los grupos a los que pertenecía antes de ser eliminado, si es que pertenecía a alguno).
RT_DC2008-2011-07-08-15-33-00
Si deseamos tener una restauración exitosa incluidos todos los atributos del usuario, deberíamos considerar al hacer una restauración autoritativa desde una backup previo utilizando el modo Active Directory Restore Mode. Para mas información sobre este método les dejo el link de una nota que escribí hace un tiempo sobre Restauración Autoritativa en la sección de links de esta nota.

Niveles de ejecución (runlevel) típicos en Linux

El término runlevel o nivel de ejecución se refiere al modo de operación en los sistemas operativos que implementan el estilo de sistema de arranque de iniciación tipo UNIX System V.
En términos prácticos, cuando el computador entra al runlevel 0, está apagado, y cuando entra al runlevel 6, se reinicia. Los runlevels intermedios (1 a 5) difieren en relación a qué unidades de disco se montan, y qué servicios de red son iniciados. Los niveles más bajos se utilizan para el mantenimiento o la recuperación de emergencia, ya que por lo general no ofrecen ningún servicio de red. Los detalles particulares de configuración del runlevel varía bastante entre sistemas operativos, y ligeramente entre los administradores de sistema.
El sistema de runlevel reemplazó al script tradicional /etc/rc en UNIX, versión 7.

0AltoAlto o cierre del sistema (Apagado).
1Modo de usuario único (Monousuario)No configura la interfaz de red o los demonios de inicio, ni permite que ingresen otro usuarios que no sean el usuario root, sin contraseña. Este nivel de ejecución permite reparar problemas, o hacer pruebas en el sistema.
2MultiusuarioMultiusuario sin soporte de red.
3Multiusuario con soporte de red.Inicia el sistema normalmente.
4No usado.
5Multiusuario gráfico (X11)Similar al nivel de ejecución 3 + display manager.

Añadir / Quitar servicios al inicio del sistema Red-Hat, CentOS


Para configurar los servicios que queremos arranquen automáticamente en el sistema, podremos usar el comando chkconfig.
Lo primero que podemos hacer es listar los servicios que actualmente arrancan automáticamente al inicio del sistema:
chkconfig --list
Este comando nos mostrará un listado de los servicios del sistema, y nos indicará, para cada nivel de corrida (runlevels) si dicho servicio está activado o desactivado, ejemplo:
$ chkconfig --list
NetworkManager     0:desactivado    1:desactivado    2:desactivado    3:desactivado    4:desactivado    5:desactivado    6:desactivado
NetworkManagerDispatcher    0:desactivado    1:desactivado    2:desactivado    3:desactivado    4:desactivado    5:desactivado    6:desactivado
acpid              0:desactivado    1:desactivado    2:desactivado    3:activo    4:activo    5:activo    6:desactivado
anacron            0:desactivado    1:desactivado    2:activo    3:activo    4:activo    5:activo    6:desactivado
apf                0:desactivado    1:desactivado    2:desactivado    3:activo    4:activo    5:activo    6:desactivado
auditd             0:desactivado    1:desactivado    2:activo    3:activo    4:activo    5:activo    6:desactivado
autofs             0:desactivado    1:desactivado    2:desactivado    3:activo    4:activo    5:activo    6:desactivado
avahi-daemon       0:desactivado    1:desactivado    2:desactivado    3:activo    4:activo    5:activo    6:desactivado
avahi-dnsconfd     0:desactivado    1:desactivado    2:desactivado    3:desactivado    4:desactivado    5:desactivado    6:desactivado
bandmin            0:desactivado    1:desactivado    2:activo    3:activo    4:activo    5:activo    6:desactivado

bluetooth          0:desactivado    1:desactivado    2:activo    3:desactivado    4:activo    5:activo    ...
...
...
Cada columna representa un runlevel, y cada fila un servicio de sistema. Recordad que podéis saber en que runlevel arranca vuestro sistema revisando el fichero /etc/inittab:
# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
Entrando al tema, podemos añadir o quitar servicios del siguiente modo:
chkconfig --level <runlevel> <servicio> on
chkconfig --level <runlevel> <servicio> off
Ejemplo:
Queremos el servicio web httpd al inicio del sistema en los runlevels 3,4 y 5:
chkconfig --level 345 httpd on
Y de un modo estandar si especificarle el runlevel:
chkconfig --add mysql
chkconfig --del mysql
chkconfig --levels 235 xxxxxxxxxx on

miércoles, 27 de agosto de 2014

Instalación Zabbix Server en Ubuntu Server/Desktop


Configuración básica Zabbix-Server


 
IMPORTANTE:  Este artículo es una traducción de la versión oficial de "Zabbix Quickstart" con algunas mejoras como el caso de "Describir el menú" que considero necesario antes de comenzar con la configuración.


Primero vamos a describir el menú Zabbix FrontEnd

Picture
Menú Zabbix
  1. Menú principal
  2. Sub Menu
  3. Historial de las últimas ejecuciones


Menú principal

Monitoring, Muestras la información recolectada por lo "Items" y lo presenta a través de gráficos estadísticos, pantallas con iconos dinámicos, gráficas de SLA entre otros.  Opciones: 

  • Dashboard, tablero dinámico con información relevante de la información recolectada.
  • Overview, resumen de la información recolectada a través de los ITEMS.
  • Web, gráficas estadísticas de los websites en monitoreo.
  • Lasted data, muestra la última información recolectada por los ITEMS.
  • Triggers, presenta un listado de los últimos triggers ejecutados.
  • Events, lista los eventos disparados por los Triggers y que representan alertas que se han enviado vía correo electrónico o SMS.  En este listado podemos observa en la columna "Aks, Acknowledge alarm by" y muestra "quien a tomado y comentado el caso de esta alerta".
  • Graphs, muestra los Hosts registrados y las gráficas que tiene disponible como gráficas de tráfico en eth0, consumo de procesador entre otros.
  • Screen, es la solución de Zabbix para integrar mapas, Alertas, gráficos estadísticos y muestra la información de forma dinámica.  El objetivo de Screen es poder presenta grandes escenarios y proveer de slides que rotan.
  • Maps, son escenario que muestran nuestra red, aplicaciones y servicios a través de figuras o iconos.  Dichas figuras toman vida en respuesta a los eventos que se dan en nuestro entorno.  Por ejemplo, si un servidor se apaga, este toma un color rojizo indicando que la máquina esta apagada.
  • Discovery, lista los dispositivos que se integran en nuestra red y el tipo de servicios que proporciona.
  • IT Services, le ofrece agrupar los servicios que su infraestructura proporciona a sus usuarios y le presenta gráficamente el consolidado de tiempo de servicio continuo.  Esta información le permitirá  “analizar el tiempo efectivo y la calidad de sus servicios para su organización”.  (SLA “Service-level agreement”).

Inventory
, presenta el inventario de Hardware y software recolectado por Zabbix.  Opciones:

  • Overview, presenta la información recolectada de Hardware y Software en conjunto y enfatiza los últimos cambios.
  • Host, la información completa del hardware y software de cada unidad en procesos de monitoreo.

Reports,  las opciones de reportes que integra son básicos y estan orientado a consolidar la información.  Zabbix centra la información a través del administrador web y es fácil tomar esta data desde el mismo administrador web si en un caso requerimos presentarlo en un informe.

Configuration, le permite registrar dispositivos, definir ITEMS, Triggers, pantallas, mapas, grupos, entre otros.  Opciones:

  • Host Groups, listado de grupos de "Hosts" en Zabbix.  Los grupos le permiten organizar los dispositivos "Host" registrados en Zabbix para su monitoreo.
  • Templates, plantillas que vienen predefinidas en la instalación de Zabbix Server.  Las plantillas son un conjunto de módulos "ITEM, TRIGGERS, GRÁFICAS" entre otros, que están pre configurados en base al tipo de sistema operativo o dispositivo de red.
  • Host, le permite registrar dispositivos físicos para su monitoreo como "Servidores con y sin agentes Zabbix", equipo de red como routers, switch, impresoras, NAS tipo NetAPP, ECM entre otros.
  • Maintenance, nos permite definir nuestros tiempo de mantenimiento.  Con esta opción usted puede definir una fecha determinada para mantenimiento de equipos y evitar alertas al estar abajo el equipo y los servicios que preste.  Adicional esto permite que el SLA no se vea afectado en su cálculo de tiempo de servicio continuo.
  • Web, permite crear módulos para revisión de nuestros Websites o Intranets en sus velocidad de respuesta y disponibilidad. 
  • Actions, son las reglas que definimos para los eventos que disparan los Triggers.  Por ejemplo, si uno de los servidores se apaga en esta opción usted define a quien alertar sobre esta situación.
  • Screen (modo edición), es la solución de Zabbix para integrar mapas, Alertas, gráficos estadísticos y mostrar la información de forma dinámica.  El objetivo de Screen es poder presenta grandes escenarios y proveer de slides que rotan.
  • Slideshow, le permite agrupar multiples "Screen" para presentarlos como una presentación tipo PowerPoint en pantalla.  Si tiene planificado tener un monitor en sus instalaciones IT para mostrar el estado de su infraestructura, esta herramienta le va a permitir mostrar de forma mucho más amigable su infraestructura y servicios.
  • Maps (modo edición), son escenario que muestran nuestra red, aplicaciones y servicios a través de figuras o iconos.  Dichas figuras toman vida en respuesta a los eventos que se dan en nuestro entorno.  Por ejemplo, si un servidor se apaga, este toma un color rojizo indicando que la máquina esta apagada.  Los iconos le permiten representar ITEMS, TRIGGERS, EVENTS y otros mapas.
  • Discovery (modo edición), opción configuración donde puede configurar los segmentos a monitorear.
  • IT Services (modo edición), le permite crear la estructura de sus servicios para poder ser medidos.

Administration,
 
permite configurar el frontEnd, servicios Zabbix Server y usuarios.  Opciones:

  • General, configurar el aspecto de Zabbix, los iconos para los mapas, entre otros.
  • DM, le permite agregar PROXY-Zabbix para monitoreo en Wans.
  • Authentications, define el método de autenticación del FrontEnd Zabbix.
  • Users, Administración de usuarios y grupos Zabbix FrontEnd Administrations.
  • Media Types, administra los medios que utilizará zabbix para las alertas.
  • Scripts, rutinas predefinidas para uso en los módulos "Items y Triggers".  Los scripts son rutinas que ejecuta el server Zabbix desde linea de comando hacia dispositivos.
  • Audit, son las últimas acciones efectuadas en el FrontEnd Zabbix.
  • Queue, estado de colas o procesos en gestión.  En esta opción puede ver que tareas están en cola.
  • Notifications, listado consolidado de las últimas notificaciones.
  • Installation, opción de instalación FrontEnd Zabbix.


Cambiar la clave al usuario ADMIN

Picture
Después de la instalación de Zabbix Server es muy importante cambiar el password del usuario "admin".   Para ver el listado de los usuarios, seleccione "Administrator → Users" y luego "Users" en el menú desplegable.  En el proceso de instalación "Zabbix" crea los siguientes usuario.

  • Usuario "Admin" es un super-usuario Zabbix, que tiene todos los permisos.
  • 'Guest' usuario para invitados.  Por defecto, "invitado" no tiene permisos en objetos Zabbix.

Le damos un clic en "Admin" y procedemos a cambiarle el password.

Agregar usuarios

Picture
Para agregar un nuevo usuario seleccione "Administrator → Users" y luego "Users" en el menú desplegable.  Luego hacemos clic en "Create user".  Llenamos el formulario.
El campo "Alias" va a ser el nombre de usuario con el cual va a ingresar al interfaz Web.
Es muy importante que lo asigne a un grupo.  En este caso le recomendamos asignarlo a "Guest".  Los permisos se manejan a través de los "Grupos de usuarios".
"Tab Media", le permite indicar que medio va a utilizar para que este usuario reciba las notificaciones de Zabbix.
"Tab Permissions", puede cambiar el "Perfil del usuario" y este se refiere a los permisos de acceso al "Interfaz Web" más no a los permisos de los "Hots".

Picture
De forma predeterminada, los usuarios nuevos no tienen "Medios" (Medios son métodos de entrega de notificaciones vía correo o SMS).
Se puede especificar "Medios" con período de tiempo para el envío de las alertas, por ejemplo puede indicar que las alertas sean entregadas únicamente en horarios de trabajo (algo no recomendado). También puede indicar a qué nivel de alerta va a responder este "Medio".  NOTA:  Los niveles de alerta se definen en los TRIGGERS.

Permisos

En Zabbix los permisos se asignan a los grupos de usuarios y no de forma individual.
De forma predeterminada, un nuevo usuario no tiene permisos para acceder a los HOSTS.   Los permisos se dan a través de los grupos.  Si desea darle de forma inmediata permisos a un usuario, puede asignarlo en el TAB "Permissions" y cambiar el tipo de usuario a "Zabbix Super Admin".  Cuando tenga listo los grupos puede proceder a asignarlo al grupo a que corresponde.

Tipo de usuario o Perfil  (En el TAB Permissions del formulario para agregar usuarios)

Zabbix User, este perfil es el más limitado y por definición no puede entrar a la configuración del FrontEnd Zabbix.  Los permisos que tendrá será únicamente a los HOSTS definidos en los grupos en donde este asignado.
Zabbix Admin, tiene permiso de ingresar a "Configuration" del FrontEnd de Zabbix.  Adicional cuenta con acceso a los HOSTS definidos en los grupos en donde este asignado.
Zabbix Super Admin, tiene permiso a todo.

Configuración de Grupos
Para ver el listado de los grupos, seleccione en "Administrator → Users" y luego "User Groups" en el menú desplegable.
Picture
A través de "User Groups" damos acceso a los "Hosts" seleccionando el "Host Groups".  Por ejemplo, usted puede definir que un grupo solo tendrá acceso de "Read Only" al grupo de "Linux Servers" dando clic en el "Tab Permissions" y presionando "Add".  En la ventaja que le aparece debe seleccionar "Linux servers".


Como registrar dispositivos "Create Host"

Un host en Zabbix es una entidad de red que desea monitoreado. La definición de lo que puede ser un "host" en Zabbix es una máquina física, router, switch, sensores de temperatura, impresoras entre otros.    En otras palabras:  Son dipositivos "registrados" que se convierte en un elementos a ser monitoreado y recibe el nombre de"Host".
Picture
Para agregar un "Host" tiene que ir "Configuration → Hosts".  Va a observar que existe un Host llamado "Zabbix Server", este corresponden al dispositivo registrado del "Servidor Zabbix".
Para agregar un nuevo host, haga clic en "Create Host". Esto nos presente un formulario de configuración.



Configuración básica:

Host Name
, es el nombre del host.  Se puede utilizar números, letras, espacios y guiones bajos están permitidos.

Groups
, Seleccione uno o varios grupos de la caja derecha.  También puede agregar un nuevo grupo ingresado un nuevo nombre en el campo "New host group".   Recuerde todos los permisos de acceso se aplican por grupos y no por máquinas individuales.  Es por ello que un "Host" debe pertenecer al menos a un grupo.

dirección IP, Introduzca la dirección IP del "Host".  Tenga en cuenta que debe de estar previamente configurado el agente del "Servidor a ser monitoreado" apuntando a la IP del "Servidor recolector Zabbix".

Cuando termine, haga clic en Save.  Su nuevo "Host" debe ser visible en la lista de "Host registrados".   

NOTA:  Si el icono Z en la columna de disponibilidad es de color rojo, indica que hay un error en la comunicación - mueva el cursor del ratón sobre él para ver el mensaje de error.  Si el icono es gris, significa que esta en proceso de comunicación con el "Agente Zabbix". Compruebe que el servidor Zabbix está en marcha, y pruebe a actualizar la página más tarde.  El tiempo estimado para revisar si existe problemas es de 5 minutos.


Pausa! ... 

Antes de continuar, vamos a configurar correctamente nuestro Server-Zabbix para que su agente reporte correctamente al servidor.

Configuration -> Hosts -> Zabbix Server -> Agent Interfaces  ....  Colocamos la IP Server.

Crear ITEMS

Después de registrar nuevo dispositivo comienza lo INTERESANTE!.  Vamos entonces a comenzar a recolectar información y a interpretarla con Zabbix.
Cada "Host" esta compuesto por elementos llamados "Items" que básicamente son "Módulos que recogen datos del Host" y en el caso de Hardware "qué obtiene del dispositivo".

Todos lo ITEMS se agrupan por HOST esto significa que cada HOST tiene sus propios "Módulos que recogen datos del Host".   Para agregar un nuevo módulo vamos a "Configuration → Hosts" y localizamos el "Host" al cual queremos agregarle un nuevo "Item".

En el ejemplo del nuevo "Host" que estamos realizando vamos a observar que la columna de ITEMS tiene indicado "0" que significa que no existe "Módulos que recogen datos del Host".  Vamos a hacer clic en la opción "Create Item".
Picture
Configuración básica (vamos a medir la carga de procesador):

Name, vamos a darle a este ITEM el nombre de "Carga de PROCESADOR".  Este nombre va a ser nuestro identificador para todas la gestiones en donde lo involucremos como el caso de Triggers.

Key, los "Items" utilizan "Key" que son parámetros de Zabbix.  Los "Key" nos permiten indicar específicamente que tipo de información vamos a solicitarle al "Agente Zabbix" o a el Hardware como impresoras, switch o routers.  Para este ejemplo seleccione de la lista "system.cpu.load"

Type of information
, para este ejemplo seleccione Numérico (float).  Este atributo define el formato de los datos que vamos a recibir.

Cuando termine, haga clic en Guardar.   El nuevo elemento debe aparecer en la ITEMLIST.

Veamos la información recolectada ...

Después de definir el "Item" vamos a revisar la información que esta recolectando.  Para ello vamos a "Monitoring → Latest data" luego clic en el signo "+" en "other".  La información comenzará a ser recolectada según el tiempo que le indicamos en el "Item".
Picture
La información comienza a recibirse aproximadamente al minuto de generar el "Item" esto puede ser modificado en el "Item".   Zabbix le ofrece la opción de visualizar la información en forma gráfica (sencilla).  En el "Item" en lista haga clic en la columna "History - Graph".

Si en un caso usted no observa información le recomendamos:
  • Ingrese al "Item" y revise que la información del "Key" este igual al ejemplo "system.cpu.load"
  • Verifique que el agente este funcionando en el "Servidor a ser monitoreado" y que "El Servidor recolector Zabbix" este funcionando.
  • El icono "Z" en el host debe estar en color verde.
  • Asegure que esta monitoreando el servidor que le agregó este "Item" .

Triggers

Los Trigger en Zabbix son módulos que creamos a uno o múltiples "Items" para evaluar o comparar los valores recolectados por los "Items" con condiciones que nosotros definamos.  Las condiciones son de tipo aritmético y lógico.

Por ejemplo, puedo crear un "Módulo Trigger" al "ITEM de ejemplo system.cpu.load" e indicar que si este llega al 90% de carga nos dispare un evento.   Procedamos a crear el ejemplo.

Para configurar un "Trigger o Disparador" seleccionamos "Configuration → Hosts" localizamos el "Host" de ejemplo que creamos y luego hacemos clic en "Trigger", después haga clic en "Create Trigger".
Picture
Configuración básica: 

Name, vamos a darle a este TRIGGER el nombre de "Evaluador de carga de PROCESADOR".  Este nombre va a ser nuestro identificador para todas la gestiones en donde lo involucremos como el caso de los eventos.

Expression, vamos a pegar la siguiente expresión {New host:system.cpu.load.avg(180)}>2 y vamos a cambiar el texto en el inicio de la expresión "New host" con el nombre de nuestro "Host" de ejemplo.

En resumen la expresión que agregamos es similar a agregarlo con el botón "Add".  Cuando lo hacemos con este botón el nos pide un "ITEM" y luego nos da la opción para colocarle las condiciones necesarias.  Básicamente el extrae la expresión del ITEM.

¿Que indica la expresión?  {New host:system.cpu.load.avg(180)}>2

Promedia los últimos 180 segundos y evalúa si el resultado de esta métrica es mayor a 2.

Breve explicación sobre la carga en procesadores.

Si tenemos 1 socket con 1 solo procesador el Key system.cpu.load.avg puede devolver los siguientes valores:

0.0    = Indica que el procesador no tiene carga
0.70  = Carga moderada y fluida (Lo idea para nuestros servidores)
1.0    = Carga en su máxima capacidad
1.7    = Sobrecarga de trabajo y en cola


Veamos el siguiente ejemplo:

Tiene un servidor con 4 procesadores y quiere activar una alerta cuando los procesadores esten cerga de llegar a"Carga en su máxima capacidad" entonces debe de multiplica 0.9 por cada procesador.  Entonces en el trigger debe quedar así ...

{New host:system.cpu.load.avg(180)}>3.6

Ahora bien si usted quiere recibir la alerta cuando el procesador llegue al extremo "Sobrecarga de trabajo y en cola"(al punto de que sus procesadores prenda fuego!!) debe multiplicar 1.5 por cada procesador.

{New host:system.cpu.load.avg(180)}>6

En el siguiente Blog se describe en detalle el tema de carga de procesadores.
http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages


Esta información usted puede obtenerlo utilizando comando que le permitan "Estresar" los procesadores y luego revisando en "Monitoring → Latest data" los datos que devuelve el ITEM.

Podemos ver el estado del "Trigger" en "Monitoring → Triggers".  Es importante comentar que si el "Trigger" esta en color verde indica que el resultado de la métrica se mantiene por debajo de la condición que indicamos.  Por el contrario si el resultado esta "sobre lo indicado" su color sera rojo.
Picture

Configuración de notificaciones

Zabbix nos permite conocer el estatus de nuestros servidores, servicios y aplicaciones.  Lo podemos acceder a través de la herramienta Web (FrendEnd) y estar al pendiente de las "Eventualidades" que comprometa nuestra infraestructura y servicios.  Adicional Zabbix nos puede notificar a través de "Correo Electrónico" mensajes vía "SMS" o Jabber.
Configuración de notificaciones vía E-mail
Picture
Para configurar las notificaciones vía correo electrónico es necesario describir la forma de acceso a nuestro servidor de correo electrónico.  "Administration → Media types" luego clic sobre Email en la lista de "Media Types"

El la siguiente gráfica se presenta un ejemplo de cómo configurar:
Picture
Description, el nombre del módulo "Media"
Type, sus opciones son:  Email, SMS and Jabber, seleccionamos Email.
SMTP Server, es la IP de nuestro servidor de correo electrónico.
SMTP helo, ingrese en este campo su dominio. Ejemplo:  company.local, company.com, etc.
SMTP email, es el correo electrónico que vamos a utilizar para enviar las notificaciones y que tiene existir en nuestro servicio de correo.

IMPORTANTE:  Es necesario activarlo la "Media" a los usuarios que desee que utilice este recurso de notificación.  Esto lo hace activar en "Administrator → Users" y luego "Users".
A este punto tenemos preparado el "Item" que recolecta la información y creado el "Trigger" que analiza la información recolectada.   Adicional hemos activado la "Media EMAIL" para transportar las notificaciones.

Ahora veamos el ejemplo del "Item" - "Carga de procesador" en el momento de llegar al 90% el "Trigger" genera un "Evento" que se puede apreciar en el "Interfaz Web".   El siguiente paso esCAPTURAR ese "Evento" y efectuar una "Acción" que transporte la alerta a través de una"Notificación".
Para configurar las notificaciones damos clic en "Configuration → Actions" y vamos a configurar la "Plantilla" que viene preconfigurado y listo para ser usado.
Picture
Action, nos presenta un formulario con macros {TRRIGGER.STATUS} entre otros.  Usted puede cambiar los textos que acompañan a cada macro y personalizarlo a para sus usuarios.
Conditions, Definimos las condiciones para enviar la notificación.  Estas condiciones se refieren a la información que trae el "Evento" que fue generado por el Trigger.  Por ejemplo, que la situación del evento se "PROBLEM".
Operations, en este opción es necesario agregar al usuario que creamos anteriormente o agregar a un grupo de usuarios quienes van a recibir la notificación.  Le recomendamos agregar el grupo "Zabbix Administrators"
Picture
Después de configurar la "Entrega de notificaciones" vamos a hacer un ejemplo para observar las alertas vía Email.  Para ello vamos a asumir que el "Host" que estamos monitoreando en un Linux y a través de "Linea de comando" vamos a indicar que "Todos sus procesadores" se sobrecarguen.  NOTA:  El siguiente comando "Sobrecarga" los procesadores sin embargo no los satura al grado de bloqueo.  Entonces ejecutamos en ese "Host"  desde "Línea de comando"  (Para detener presione ENTER):

fulload() { dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null | dd if=/dev/zero of=/dev/null & }; fulload; read; killall dd

Para DETENER presione ENTER

Puede verificar si la acción se lleva a cabo en "Administration → Audit" y seleccionar en el botón derecho "Actions".

Templates (Plantillas de Zabbix)

Zabbix cuenta con Plantillas que hace mucho más fácil el "Registrar Equipos y Dispositivos" y agregarles métricas.  En resumen, son un conjunto de ITEMS, TRIGGERS y GRAFICAS que están listo para ser utilizados.  Al instalar Zabbix crea varias plantillas para la mayoría de "Sistemas operativos" como lo es Linux, Mac OSX, AIX, Windows y algunos dispositivos Hardware.

Para aplicar un "Template" a un "Host" seleccionamos "Configuration → Hosts" luego seleccionamos el "Host" al cual deseamos aplicar el "Template".
Picture
En el Tab "Template" hacemos clic en "Add" y seleccionamos el "Template" acorde al sistema operativo de "Host" que tenemos seleccionado y procedemos a dar "Save".   El "Template" automáticamente agrega varios "Items", "Triggers", "Applications", "Graphs" y "Discovery rules".

En el caso de "Triggers" ya esta predefinido varios módulos como es el caso de "Carga de procesador", "Consumo de Disco", "Consumo de memoria" entre otros.

Para comprender a fondo como funcionan todos los módulos de "Zabbix", le recomendamos aplicar un "Template" a uno de los servers que tenga registrados e ir viendo cada "ITEM" Y "TRIGGER" y como se amarran entre sí.

Finalizado, inducción básica Zabbix