Monografia Santiago-Martinez Gabriel-Narvaez Zabbix

download Monografia Santiago-Martinez Gabriel-Narvaez Zabbix

of 103

Transcript of Monografia Santiago-Martinez Gabriel-Narvaez Zabbix

IMPLEMENTACIN DE ZABBIX COMO HERRAMIENTA DE MONITORIZACIN DE INFRAESTRUTURA INFORMTICA DE LA COMPAA SANTINI SYSTEM GROUP LTDA.

SANTIAGO MARTINEZ CLAVIJO GABRIEL NARVEZ SALAZAR

UNIVERSIDAD SANTO TOMAS FACULTAD DE INGENIERA ELECTRNICA BOGOTA D. C. 2010 -1-

IMPLEMENTACIN DE ZABBIX COMO HERRAMIENTA DE MONITORIZACIN DE INFRAESTRUTURA INFORMTICA DE LA COMPAA SANTINI SYSTEM GROUP LTDA.

Monografa presentada como requisito para optar al ttulo de Ingeniero Electrnico

Director JAVIER PEREZ SANDOVAL Ingeniero Electrnico

UNIVERSIDAD SANTO TOMAS FACULTAD DE INGENIERA ELECTRNICA BOGOTA D. C. 2010 -2-

AUTORIDADES UNIVERSIDAD SANTO TOMAS

RECTOR GENERAL PADRE JOS ANTONIO BALAGUERA CEPEDA, O.P. VICERRECTOR ACADMICO GENERAL PADRE PEDRO JOS DAZ CAMACHO, O.P. VICERRECTOR ADMINISTRATIVO FINANCIERO PADRE LUIS FRANCISCO SASTOQUE POVEDA, O.P. DECANO DIVISIN DE INGENIERAS PADRE VICENTE BECERRA REYES, O.P. DECANO ACADMICO FACULTAD INGENIERA ELECTRNICA ING. AGUSTO GUARN RODRGUEZ -3-

NOTA DE ACEPTACIN El trabajo de grado titulado IMPLEMENTACIN DE ZABBIX COMO HERRAMIENTA DE MONITORIZACIN DE INFRAESTRUTURA INFORMTICA DE LA COMPAA SANTINI SYSTEM GROUP LTDA. COMO DOCUMENTO DE CULMINACIN DE PASANTA DESARROLLADA EN LA COMPAA SANTINI SYSTEM GROUP LTDA., presentado por Santiago Martnez Clavijo y Gabriel Narvez Salazar, ha sido aprobado por el director del mismo, Ing. JAVIER PEREZ SANDOVAL, para optar al ttulo de INGENIERO ELECTRNICO, de acuerdo a lo estipulado por la facultad de Ingeniera Electrnica de la Universidad Santo Toms.

_____________________________________ ING. JAVIER PEREZ SANDOVAL Director

-4-

_______________________________ CESAR HUMBERTO ARIAS PABN Revisor Metodolgico

-5-

TABLA DE CONTENIDO GLOSARIO RESUMEN INTRODUCCIN 1. PRELIMINARES 1.1 PLANTEAMIENTO DEL PROBLEMA 1.2 OBJETIVOS DEL PROYECTO 1.2.1 Objetivo General 1.2.2 Objetivos Especficos 1.3 JUSTIFICACIN 1.4 ALCANCE Y DELIMITACIN 2. CONTEXTO TERICO. 2.1 PROTOCOLO SNMP, REDES SNMP y BASE DE DATOS MIB 2.2 SOFTWARE LIBRE 2.2.1 Proyecto GNU 2.2.2 Software Libre 2.2.3 Licencia GPL GNU 2.2.4 Sobre la licencia de Zabbix 2.3 UBUNTU 2.4 ZABBIX 2.5 MONITORIZACIN DE REDES 2.6 POR QU MONITORIZAR? 3. IMPLEMENTACIN: INSTALACIN DE SOFTWARE 3.1 INSTALACIN DE UBUNTU 3.2 INSTALACIN ZABBIX 3.2.1 Requerimientos de Hardware 3.2.2 Requerimientos de Software 3.2.3 Instalacin de requisitos previos 3.2.4 Instalacin Zabbix 3.2.4.1 Creacin usuario zabbix 3.2.4.2 Descarga de fuentes 3.2.4.3 Creacin del esquema 3.2.4.4 Configurar, compilar e instalar 3.2.4.5 Configuracin post-instalacin 3.2.4.6 Configuracin scripts de inicio 3.2.5 Instalacin front-end 3.2.5.1 Configuracin PHP 3.2.5.2 Configuracin interfaz Web 3.2.6 Probando Zabbix 3.3 INSTALACIN AGENTE ZABBIX EN WINDOWS 4. IMPLEMENTACIN: INTERFAZ WEB DE ZABBIX 4.1 CREACIN DE UN HOST 4.1.1 Agregando un Servidor en Windows Server como Host 4.1.2 Adicin de Hosts Monitorizados Mediante Agentes SNMP 4.1.2.1 Instalacin de paquete snmp para Ubuntu 4.1.2.2 Impresora en Red 4.1.2.3 Switch Cisco Catalyst 2960 4.1.2.4 Router Cisco 2801 4.2 CREACIN DE UN TEM 4.3 CREACIN DE UN TRIGGER -6Pgina 13 14 15 16 16 18 18 18 19 20 21 21 22 22 22 24 24 25 28 29 29 30 30 31 31 32 32 35 35 35 36 37 38 40 42 42 44 49 50 54 54 57 58 58 59 62 65 68 70

4.4 CREACIN GRFICAS 4.5 CREACIN MAPA 4.6 PLANTILLAS 4.7 CONFIGURACIN NOTIFICACIONES VA EMAIL 5. ANLISIS DOFA. 6. CONCLUSIONES. 7. REFERENCIAS Y BIBLIOGRAFA. ANEXOS

72 79 84 86 94 95 96 97

-7-

LISTA DE FIGURAS Figura 1. Red SNMP. Figura 2. Mapa conceptual sobre software libre. Figura 3. Escritorio GNOME de GNU (a), Acerca de GNOME Desktop (b) Figura 4. Imagen de ZABBIX Figura 5. Instalacin de Ubuntu, eleccin de idioma. Figura 6. Instalacin de Ubuntu, zona horaria y distribucin de teclado. Figura 7. Instalacin de Ubuntu, administracin espacio en disco y configuracin de usuario. Figura 8. Instalacin de Ubuntu, reporte de opciones escogidas y proceso de instalacin . Figura 9. Comando de instalacin de requisitos previos. Figura 10. Confirmacin de instalacin de requisitos previos. Figura 11. Descarga de los paquetes de instalacin de software previo. Figura 12. Configuracin de password para usuario root de la base de datos. Figura 13. Extraccin de paquetes de instalacin. Figura 14. Proceso 1 de instalacin del software previo. Figura 15. Proceso 2 de instalacin del software previo. Figura 16. Creacin de usuario zabbix en Ubuntu. Figura 17. Descarga de los archivos fuentes para compilacin de Zabbix. Figura 18. Extraccin de los archivos descargados. Figura 19. Creacin de base de datos y privilegios de usuario Zabbix. Figura 20. Actualizacin de usuario y contrasea. Figura 21. Actualizacin de polticas y privilegios. Figura 22. Activacin de contrasea. Figura 23. Comandos de configuracin bases de datos. Figura 24. Comando de configuracin de las fuentes de instalacin. Figura 25. Configuracin Servidor, MySQL, cURL, Jabber, net-SNMP y agente Zabbix. Figura 26. Comando de compilacin e instalacin de fuentes de Zabbix. Figura 27. Configuracin de puertos de Zabbix. Figura 28. Creacin de directorio de almacenamiento de ficheros de configuracin. Figura 29. Configuracin de parmetros de conexin a BD de MySQL. Figura 30. Configuracin de script de inicio. Figura 31. Edicin de script de inicio para Servidor Zabbix. Figura 32. Edicin de script de inicio para Agente Zabbix. Figura.33. Asignacin de permisos a scripts de inicio de agente y servidor Zabbix. Figura 34. Inicio de Agente y Servidor Zabbix. Figura 35. Instalacin de interfaz web de servidor Zabbix Figura 36. Edicin 1 de archivo php.ini: date.timezone Figura 37. Edicin 2 de archivo php.ini: memory_limit Figura 38. Edicin 3 de archivo php.ini: upload_max_filesize Figura 39. Edicin 4 de archivo php.ini: max_execution_time Figura 40. Reinicio de servidor apache. Figura 41. Ingreso a configuracin de interfaz web en servidor local Figura 42. Aceptacin de licencia Figura 43. Lista de chequeo de prerrequisitos. Figura 44. Configuracin de conexin con base de datos. Figura 45. Configuracin del puerto del servidor Zabbix. Figura 46. Resumen de la instalacin. Figura 47. Archivo de configuracin Figura 48. Guardando archivo zabbix.conf.php Figura 49. Ubicacin del archivo guardado zabbix.conf.php -821 23 26 28 30 30 31 31 32 33 33 33 34 34 35 35 35 36 36 36 37 37 37 37 38 38 39 39 39 40 40 41 41 42 42 42 43 43 44 44 44 45 45 46 46 47 47 48 48

Figura 50. ltimo paso de la Instalacin. Figura 51. Finalizacin de la instalacin de manera exitosa. Figura 52. Ingreso a interfaz web con usuario admin. Figura 53. Confirmacin de instalacin completa y correcta de ZABBIX en Ubuntu. Figura 54. Archivo comprimido, instalador agente Zabbix. Figura 55. Contenido de la carpeta win32, tres archivos ejecutables. Figura 56. Carpeta Zabbix creada en C:\ Figura 57. Carpeta Zabbix con archivos necesarios. Figura 58. Configuracin de direccin IP de servidor. Figura 59. Configuracin del hostname del equipo. Figura 60. Comando de instalacin. Figura 61. Error despus de ejecutar comando de instalacin. Figura 62. Llamado a la ayuda del instalador. Figura 63. Listado de comandos para el instalador. Figura 64. Comando de instalacin como servicio. Figura 65. Confirmacin de instalacin exitosa. Figura 66. Inicio de servicio Zabbix, servicio detenido (a), comando de activacin (b) y servicio iniciado (c). Figura 67. Ventana de configuracin, opcin host Figura 68. Activacin Host, seleccin(a), confirmacin de activacin (b). Figura 69. Ventana de configuracin, creacin Host Figura 70. Configuracin Host. Figura 71. Listado de plantillas, Host Windows. Figura 72. Plantilla adicionada. Figura 73. Activacin Host creado. Figura 74. Ventana de configuracin, creacin de Host servidor de Windows. Figura 75. Host Zeus activado. Figura 76. Comando de instalacin SNMP. Figura 77. Interfaz web de la impresora, configuracin TCP/IP. Figura 78. Interfaz web de la impresora, configuracin de red. Figura 79. Comando, estado del SNMP. Figura 80. Ventana de configuracin, creacin de Host impresora Figura 81. Plantillas para Host impresora. Figura 82. Activacin del Host Impresora. Figura 83. Seleccin de plantillas para Switch. Figura 84. SNMPstatus del switch Figura 85. SNMPwalk del switch. Figura 86. SNMPget del switch. Figura 87. Ventana configuracin, creacin de Host switch Figura 88. Listado de Items, seleccin de Item Uptime Figura 89. Configuracin del Item Uptime. Figura 90. SNMPstatus del router. Figura 91. SNMPwalk del router. Figura 92. SNMPget del router. Figura 93. Ventana configuracin, creacin de Host router . Figura 94. Ventana configuracin, hosts, opcin crear Item. Figura 95. Ventana creacin Item Uptime Figura 96. Listado de host con SNMP, todos activados. Figura 97. Men Configuration -> Hosts para crear un tem Figura 98. Opcin Create Item Figura 99. Propiedades del Item creado -9-

48 49 49 50 50 50 51 51 51 51 52 52 52 53 53 53 54 54 55 55 56 56 57 57 58 58 58 59 60 60 61 61 62 62 63 63 63 64 64 65 65 65 66 67 67 67 67 68 68 69

Figura 100. Listado de Items, Item creado. Figura 101. Grfica del Item Creado. Figura 102. Ventana de configuracin, crear Trigger. Figura 103. Ventana configuracin de Trigger. Figura 104. Ventana de creacin. Figura 105. Listado de Triggers. Figura 106. Creacin de grficas en men Configuration Figura 107. Configuracin para creacin de grficas, seleccin tem 1 para graficar Figura 108. Seleccin y configuracin de tem 2 para graficar Figura 109. Seleccin y configuracin de tem 3 para graficar. Figura 110. Confirmacin de funcionamiento de grfica WXP CPU Load creada Figura 111. Creacin de carga para Host WXP_HOST. Figura 112. Pestaa Rendimiento del administrador de tareas de Windows Figura 113. Opcin para observar las grficas de monitorizacin en la interfaz web Figura 114. Grfica de carga del procesador en el host WXP_HOST Figura 115. Grfica de memoria libre disponible en el host WXP_HOST Figura 116. Resultados de la prueba de velocidad realizada en el Host Zabbix Server Figura 117. Grfica de utilizacin de red en el host Zabbix Server Figura 118. Crear mapa en Zabbix Figura 119. Creacin de elemento en el mapa Figura 120. Edicin de parmetros de elemento creado en el mapa Figura 121. Seleccin de host correspondiente al elemento creado en el mapa Figura 122. Configuracin final de elemento creado en el mapa Figura 123. Seleccin de host para elemento Impresora (NPI8F7D9F) agregado al mapa Figura 124. Configuracin final de elemento impresora creado en el mapa Figura 125. Creacin de link de conexin entre elementos del mapa Figura 126. Seleccin de elementos para creacin de conexin entre estos. Figura 127. Creacin de link de conexin entre host de Windows y servidor. Figura 128. Creacin de link de conexin entre host dos servidores de la red. Figura 129. Visualizacin previa de los links creados para los elementos del mapa Figura 130. Mapa de monitorizacin de red informtica de Santini System Group. Figura 131. Pagina de descarga de plantillas. Figura 132. Ventana de configuracin, importar/exportar plantilla. Figura 133. Plantilla exitosamente importada. Figura 134. Plantilla importada seleccionada para Host. Figura 135. Ventana Administration, Media types. Figura 136. Configuracin de medio. Figura 137. Activacin elemento creado. Figura 138. Ventana Administration, users. Figura 139. Ventana configuracin de usuario Admin. Figura 140. Adicin de E-mail en configuracin de usuario. Figura 141. Configuracin completa de servicio de email en usuario admin. Figura 142. Ventana configuration, actions. Figura 143. Configuracin de la accin que se va a crear. Figura 144. Accin de enviar mensaje email Figura 145. Seleccin usuario admin . Figura 146. Adicin de la accin configurada Figura 147. Guardando accin creada. Figura 148. Aviso creacin exitosa de la accin. Figura 149. Listado de eventos. Figura 150. Detalles del Trigger seleccionado. - 10 -

70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 81 82 82 83 83 83 84 85 85 85 86 86 86 87 87 87 88 88 88 89 89 89 90 90 90 91 91

Figura 151. Bandeja de entrada correo electrnico corporativo. Figura 152. Correo de notificacin de fallo de Inetd. Figura 153. Lista de eventos, error en POP3 Figura 154. Detalles de evento de error en POP3. Figura 155. Correo electrnico, notificacin de fallo en POP3.

91 92 92 92 92

- 11 -

LISTA DE TABLAS Tabla 1. Requerimientos de hardware en funcin del nmero de hosts Tabla 2. Requerimientos de software. 32 32

- 12 -

GLOSARIO HOST: En zabbix, un host es una entidad lgica que define un elemento en red que se puede monitorear. Este puede ser una impresora, un switch, un router, un servidor, un computador, un porttil, entre otros. TRIGGER: Un Trigger en Zabbix es una entidad que define umbrales para la clasificacin de Items, es decir si el Item de medicin de nivel de tner en una impresora monitoreada arroja un valor bajo, esto significa que el Trigger de tner se debe disparar y pasar a un estado de alerta. De esta manera avisara que la tienta de la impresora esta por acabarse. ITEM: Un tem en Zabbix es una entidad que contiene la informacin de una medida especfica obtenida. PLANTILLA: Una plantilla o Template es una entidad lgica prediseada con diferentes Items, Triggers y aplicaciones con el fin de ser aplicadas en elementos que comparten los mismos parmetros de medicin, por ejemplo la carga del procesador, uso de memoria y uso de recursos de red SNMP: El protocolo SNMP (Simple Network Management Protocol) o Protocolo Simple de Administracin de Red, es un protocolo de gestin de red, es una solucin de monitoreo bastante usada en elementos de bajo poder de procesamiento. SOFTWARE LIBRE: Es el software con el cual los usuarios pueden estudiar, modificar y mejorar su diseo mediante la asequibilidad de su cdigo fuente, esta es la filosofa Open Source o software libre. MONITORIZAR: Consiste en observar, vigilar, tomar datos y analizar los resultados con el fin de realizar una retroalimentacin que permita solucionar problemas eficazmente o mejor an, anticiparse a ellos. AGENTE: Es una entidad de software instalada en el dispositivo monitorizado que provee informacin acerca del elemento. MIB (Management Information Base): Es una base de datos un conjunto de datos de la red almacenados jerrquicamente, para la administracin de esta misma. Los objetos monitorizados pueden ser nombrados con nombres o con identificadores RECURSO: Es cualquier elemento de hardware o software que cuenta disponibilidad limitada en un sistema, por ejemplo recursos de red, memoria, espacio en disco duro. POP3: Es un protocolo estndar para recibir mensajes de e-mail. Entonces los mensajes enviados a un servidor, son depositados por el servidor pop3. Cuando el usuario se conecta con la direccin, el nombre de usuario y la contrasea puede descargar los archivos. SMTP: Simple Mail Transfer Protocol, Protocolo Simple de Transferencia de Correo, pertenece a la capa de aplicacin. Basado en texto y utilizado para el intercambio de mensajes de correo electrnico entre dispositivos.

- 13 -

RESUMEN Zabbix es una herramienta de monitorizacin open source de libre distribucin compatible con Unix y con las distribuciones de GNU/Linux. Este software est respaldado por una extensa lista de caractersticas que lo convierten en una gran solucin que permite ayudar y apoyar las actividades de soporte de una dependencia enfocada a monitorizar estados de redes. Esta herramienta le brinda al ingeniero u operador, una serie de facilidades para llevar a cabo tareas de diagnstico, prevencin y control de los diferentes equipos que estn conectados en una red, mejorando los tiempos de respuesta y garantizando mayor efectividad. Se llev a cabo un proceso de familiarizacin, desarrollo y profundizacin en los conocimientos y habilidades para el manejo de la distribucin de GNU/Linux patrocinada por la compaa Canonical Ltd., Ubuntu Desktop v10.04 LTS. El proceso de instalacin del programa y los requerimientos del mismo se lograron sacar adelante gracias a la investigacin realizada a travs de la web en las comunidades de apoyo de software libre y en los distintos blogs y manuales y a sus autores y su gran espritu de colaboracin para con los usuarios que estamos iniciando contacto con las herramientas del software libre y su filosofa. Finalmente se realiz una tarea de profundizacin en el manejo de Zabbix, explorando todos sus aspectos y evaluando su funcionalidad, la exactitud y la veracidad de los datos medidos por el mismo. Esto lleva a un periodo de pruebas y experimentacin en el cual se descubrieron problemas que se solucionaron mediante ensayos e investigacin. De esta forma se estructur y se implement el modelo que se aplic en las instalaciones de Santini System Group Ltda. que tambin puede ser adaptado a otros ambientes empresariales.

- 14 -

INTRODUCCIN Este documento se realiz con el fin de mostrar el proceso de implementacin de Zabbix llevado a cabo durante una de las etapas de desarrollo de la prctica empresarial o pasanta hecha en la compaa Santini System Group Ltda. bajo la orientacin del ingeniero Javier Prez Sandoval como Gerente General como jefe y director para la monografa. Se presentar un resumen de las etapas del proceso de la implementacin y los distintos problemas que surgieron as como las soluciones encontradas y aplicadas de manera exitosa. Se ilustrar el proceso de instalacin tanto a nivel de los prerrequisitos de la herramienta como la instalacin de ella misma. Adems se explicarn los pasos a seguir para realizar la configuracin, que permite utilizar de manera eficiente y correcta, de la interfaz web que brinda Zabbix para llevar a cabo su tarea principal de monitorizacin. Finalmente se expondrn las dificultades, obstculos, soluciones a problemas y las conclusiones sobre los resultados obtenidos en la implementacin de esta herramienta.

- 15 -

1. PRELIMINARES 1.1. PLANTEAMIENTO DEL PROBLEMA SANTINI SYSTEM GROUP es una compaa Colombiana con 12 aos de experiencia exitosa, orientada a la prestacin de Servicios Informticos y de Telecomunicaciones que cuenta con una importante cartera de clientes que respaldan su experiencia en el mercado y confirma su eficiencia operativa y calidad en el servicio. SANTINI SYSTEM GROUP adems es una compaa slida financieramente para respaldo de sus clientes y asociados, estando siempre actualizada en los procesos tecnolgicos internos para permitir una mayor comunicacin e integracin de todos los procesos de servicio hacia los mismos clientes. Su operacin est soportada en prcticas como ITIL, Gerencia de Proyectos, ISO 9000 e ISO 20000. El portafolio de SANTINI SYSTEM GROUP est compuesto por los siguientes servicios: Actualizaciones Laboratorio de pruebas y reparaciones Brigadas de software Soporte HelpDesk Ingeniera de territorio Outsourcing de servicios IT Mantenimientos Migraciones Soluciones y soporte para redes y telecomunicaciones Seguridad perimetral Virtualizacin de servidores y equipos de escritorio Consultora Interventora

Actualmente la compaa se est haciendo slida en la prestacin de servicios especializados hacia clientes orientados a necesidades especficas y soluciones de alto nivel de rendimiento, alta rentabilidad y que brinde garantas a largo plazo. Para llevar a cabo la ejecucin de su operacin, la compaa cuenta con una infraestructura informtica que est compuesta por dispositivos como computadores de escritorio, computadores porttiles, switches, enrutadores, impresoras, firewalls, access points, telfonos IP, hubs, servidores, entre otros. Surge como necesidad de esta infraestructura, la existencia de un equipo de operadores ingenieros que estn al tanto del correcto funcionamiento y del rendimiento de la misma, 24 horas diarias, 7 das a la semana. Sin embargo, se hace importante plantearse una situacin hipottica (no por eso inviable) de alta probabilidad que se puede presentar en este escenario: supngase por ejemplo que el equipo de soporte se encuentra en la sustentacin de una propuesta para un contrato de grandes cifras y de repente llama su recepcionista, se ha cado uno de los servidores que estos administran y se requiere hacer un backup crtico antes del da inmediatamente siguiente. El equipo se desplaza de urgencia al centro de cmputo de la empresa para descubrir que simplemente algunos archivos de log han estado aumentado su tamao considerablemente llenando el espacio en disco del servidor durante las ltimas semanas.

- 16 -

Aunque suene como una situacin sencilla, existen muchos ejemplos reales similares que le han sucedido a muchos administradores de IT. Esta situacin no solo se puede evitar de manera sencilla, sino tambin a un bajo costo.

- 17 -

1.2. OBJETIVOS 1.2.1. GENERAL Implementar Zabbix sobre una distribucin de GNU/Linux como herramienta de monitorizacin de una infraestructura informtica para analizar sus ventajas de operacin y las dificultades presentadas en el proceso de instalacin. 1.2.2. ESPECFICOS Adquirir habilidades con la instalacin, manejo y configuracin de Adquirir habilidades y la distribucin Ubuntu 10.04 LTS de GNU/Linux. Comprobar la viabilidad de la instalacin de la herramienta sobre la infraestructura de Santini. Analizar la eficacia y utilidad de Zabbix como solucin de monitorizacin de la infraestructura. Conocer y analizar las caractersticas de Zabbix. Identificar y solucionar posibles problemas a la hora de realizar la implementacin. Verificar la exactitud de los datos medidos por Zabbix respecto a los eventos reales que se monitorizan.

- 18 -

1.3. JUSTIFICACIN La situacin hipottica descrita en el numeral 1.1 Planteamiento del problema, se puede evitar y en dado caso solucionar de manera eficiente, cmoda y gratuita a travs de una herramienta de monitorizacin de redes. ZABBIX adems puede ser incluida en el portafolio de una compaa cuyo objeto social incluya brindar herramientas de red de gran utilidad y rentabilidad para ser distribuida de manera comercial gracias a las posibilidades que brinda su licencia GPL de GNU. De esta manera se escribe esta monografa para ilustrar y explicar el proceso completo de implementacin de ZABBIX y ser presentada como requisito de finalizacin de pasanta para optar por el ttulo de grado de ingeniero electrnico en la universidad Santo Toms, sede Bogot.

- 19 -

1.4. ALCANCE Y DELIMITACIN Un software de monitorizacin con las caractersticas de Zabbix tiene la posibilidad de ser implementado en pequeas, medianas y grandes empresas, exigiendo una configuracin ms robusta a nivel de memoria, espacio en disco y procesador en el servidor, en funcin del nmero de hosts y a sus parmetros y caractersticas proyectados a ser monitorizados. ZABBIX es un software de cdigo abierto (open source) de distribucin gratuita compatible con sistemas operativos Unix y GNU/Linux que permite de manera rentable y sencilla, ser utilizada como herramienta propia y sin ninguna restriccin, como parte de un portafolio comercial de soluciones para redes gracias a su licencia GPL de GNU versin 2. A lo largo del documento se mostrarn y resaltarn los requisitos a nivel de hardware y de software que se necesitan para el correcto funcionamiento de la herramienta y los distintos inconvenientes que se pueden presentar.

- 20 -

2. CONTEXTO TERICO 2.1. Protocolo SNMP, Redes SNMP y Base de datos MIB. PROTOCOLO SNMP: El protocolo SNMP (Simple Network Management Protocol) o Protocolo Simple de Administracin de Red, es un protocolo de gestin de red, usado principalmente para monitorizar y controlar el estado de ciertos dispositivos conectados. SNMP se basa en un sistema de peticin-respuesta y es una solucin de monitorizacin comnmente usada en elementos de bajo poder de procesamiento en donde no es viable instalar sistemas operativos y agentes ya que representaran una innecesaria prdida de recursos. Estos elementos simplemente tienen instalados los agentes SNMP versin 1, 2 3 (SNMPv1, v2 v3). Es usado comnmente en Impresoras en red, Switches Routers y UPSs. RED SNMP: Una red SNMP est compuesta por 3 elementos principales: o o o Recursos administrados: es un nodo en la red y corresponde a un agente, es un dispositivo monitorizado. Agentes: son entidades instaladas en el dispositivo monitorizado que provee informacin acerca del elemento. Sistemas de administracin de red (NMS): estos crean una conexin y ejecutan aplicaciones de monitorizacin y control de los elementos conectados.

MIB (Management Information Base): Es una base de datos un conjunto de datos de la red almacenados jerrquicamente, para la administracin de esta misma. Los objetos monitorizados pueden ser nombrados con nombres o con identificadores

Figura 1. Red SNMP. [1]

- 21 -

2.2. SOFTWARE LIBRE Teniendo en cuenta la filosofa de libre distribucin de Zabbix como recurso open source es importante incluir en el contenido de este documento un acercamiento a la filosofa del proyecto GNU, a su desarrollo del concepto sobre software libre y a los trminos de la licencia bajo la cual se public ZABBIX. 2.2.1. Proyecto GNU El proyecto GNU es el desarrollo de un sistema operativo completo en su totalidad con software libre, compatible con la arquitectura Unix. El trmino GNU es un acrnimo recursivo de GNU No es Unix (GNUs Not Unix). [2] El Proyecto GNU, iniciado por Richard Stallman en el ao 1983, se concibi como una forma de devolver el espritu cooperativo que prevaleca en la comunidad computacional en sus primeros das; hacer la cooperacin posible al eliminar los obstculos impuestos por los dueos de software privativo. En los 80, casi todo el software era privativo, lo cual significa que tena dueos que prohiban e impedan la cooperacin entre usuarios. Esto hizo necesario el Proyecto GNU. Se analizaba que cada usuario de ordenadores necesitaba un sistema operativo, si no existe un sistema operativo libre, entonces no podan ni siquiera comenzar a usar su computadora sin recurrir a un software privativo. As que el primer elemento en la agenda del software libre fue un sistema operativo libre. El proyecto se desarroll como un sistema operativo compatible con Unix porque el diseo en general ya estaba probado y era portable, y porque la compatibilidad haca fcil para los usuarios de Unix cambiar de Unix a GNU. Hacia los aos 90 ya se haban escrito los componentes principales, excepto uno, el ncleo, es entonces cuando en 1991 Linus Torvalds program un ncleo similar a Unix, Linux, y lo liber como software libre en 1992. La combinacin de Linux con el prcticamente completo sistema GNU form un sistema operativo completo: el sistema GNU/Linux. Se estima que existen decenas de millones de personas que en la actualidad usan sistemas GNU/Linux, habitualmente mediante distribuciones como Slackware, Debian, Red Hat y Ubuntu, entre muchas otras. Sin embargo, un sistema operativo no es slo el ncleo, sino que tambin incluye compiladores, editores, editores de texto, software de correo entre otras cosas; de esta forma, el proyecto GNU no se limit y no se ha limitado a sistemas operativos ya que se pretende proporcionar un amplio espectro de software, tanto como los usuarios quieran tener.[3] 2.2.2. SOFTWARE LIBRE El trmino Free Software hace referencia a la palabra Free, en el contexto de la libertad, no de cosas sin precio. Se puede o no pagar un precio por obtener software de GNU, de cualquier manera, una vez se obtiene el software, se adquieren libertades especficas para usarlo. Pero, qu se entiende por Software Libre? El software libre es, ante todo, una forma tica de entender el software o los programas de un computador que incluye tanto la fabricacin de los programas como su distribucin y su utilizacin. Por lo tanto, el software libre no est orientado nicamente a la gente capaz de escribir un programa, o a la gente que posee empresas y por tanto est en condiciones de hacer negocio con los programas. Por el contrario, el software libre tiene que ver con el usuario tanto como con los desarrolladores o los comerciantes o tal vez incluso ms, ya que es la libertad de los usuarios el nico objetivo del movimiento del software libre. - 22 -

Se puede asegurar entonces, que el software libre como concepto, y la tendencia que lo hace crecer y evolucionar es una concepcin y un movimiento tico como se observa en la figura 2.

Figura 2. Mapa Conceptual sobre Software Libre. [4]

La definicin mantenida por la Fundacin para el Software Libre1 (FSF, Free Software Foundation) dice que para que un programa de ordenador sea considerado software libre debe respetar cuatro derechos o libertades considerados como fundamentales. Libertad de utilizar el programa sin restricciones, donde quiera, como quiera y para lo que quiera. Libertad de distribuir copias a sus amigos, empleados, conocidos, empleadores y, en fin, a cualquier persona que deseen. Libertad de estudiar cmo funciona el programa y, si se desea adaptarlo a sus necesidades especficas. Para ello el acceso al cdigo fuente es una condicin necesaria. Libertad de mejorar el programa, publicar y distribuir sus mejoras al pblico (o a quien deseen) de modo que ms personas salgan beneficiadas de los cambios. Tambin es necesario el acceso al cdigo fuente. La libertad de ejecutar el programa significa la libertad para cualquier tipo de persona u organizacin de usarlo en cualquier tipo de sistema de computacin, para cualquier tipo de trabajo y propsito, sin estar obligado a comunicarlo a su programador, o alguna otra entidad especfica. En esta libertad, el propsito de los usuarios es el que importa, no el propsito de los programadores.

1 La Free Software Foundation (FSF) es una organizacin sin nimo de lucro cuyo objetivo es promocionar la libertad de los usuarios de ordenadores, y defender los derechos de los usuarios de software libre.

- 23 -

El acceso al cdigo fuente del programa es una condicin necesaria para realizar cambios y publicar versiones mejoradas y de esta forma darle sentido a las libertades 3 y 4. Sin embargo, ciertos tipos de reglas sobre la manera de distribuir software libre son aceptables, cuando no entran en conflicto con las libertades principales. Por ejemplo, el copyleft es la regla en base a la cual, cuando se redistribuye el programa, no se puede agregar restricciones para denegar a las dems personas las libertades principales. Por otro lado, la figura de Software libre tambin puede ser una figura comercial. Un programa libre debe estar disponible para el uso comercial, la programacin comercial y la distribucin comercial. La programacin comercial de software libre ya no es inusual; tal software libre comercial es muy importante. Puede haber pagado dinero para obtener copias de software libre, o puede haber obtenido copias sin costo. Pero sin tener en cuenta cmo obtuvo sus copias, siempre tiene la libertad de copiar y modificar el software, incluso de vender copias. [5] El concepto de software evoluciona y se modifica a menudo con el fin de proporcionar claridad acerca de su significado. Ver anexo 1. 2.2.3. Licencia GPL GNU GPL significa General Public License (Licencia Pblica General). La ms extendida de tales licencias es la Licencia Pblica General de GNU, o GPL GNU. Hablar de software libre no lleva implcito estar empleando licencia GPL. Hay una gran lista de muchas otras licencias diferentes de programas libres2. Cualquier licencia que conceda al usuario ciertas libertades especficas es una licencia de software libre. Sin embargo, es recomendado usar la GPL GNU ya que exige que todas las versiones mejoradas que se publiquen sean software libre. Esto significa que se evitar el riesgo de tener que competir con una versin modificada privativa de su propio trabajo. No obstante, en algunas situaciones particulares puede ser mejor emplear una licencia ms permisiva. [6] 2.2.4. Sobre la licencia de ZABBIX ZABBIX se ha publicado bajo la licencia GNU General Public License (GPL) versin 2. Los trminos formales de la licencia GPL se pueden leer en el anexo 2. ZABBIX solicita que en caso de utilizar el software para uso comercial, se adquiera un paquete de soporte con el fin de apoyar al desarrollo del proyecto. [7] La mayor parte de los paquetes de programas GNU utilizan la GPL GNU, pero hay unos pocos programas que emplean licencias menos estrictas, tales como la GPL Reducida. Cuando se hace as es por razones de estrategia.

2http://www.gnu.org/licenses/license-list.html

- 24 -

2.3. UBUNTU Para hablar de Ubuntu es necesario retomar el concepto de GNU/Linux. Este es uno de los trminos empleados para referirse a la combinacin del ncleo o kernel libre similar a Unix denominado Linux, que es usado con herramientas de sistema GNU. Su desarrollo es uno de los ejemplos ms prominentes de software libre ya que todo su cdigo fuente puede ser utilizado, modificado y redistribuido libremente bajo cualquiera de los trminos de la GPL (Licencia Pblica General de GNU) y otra serie de licencias libres.[8] Una distribucin Linux es una distribucin de software basada en el ncleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de un grupo especfico de usuarios, dando as origen a ediciones domsticas, empresariales y para servidores. Por lo general estn compuestas, total o mayoritariamente, de software libre, aunque a menudo incorporan aplicaciones o controladores propietarios. Existen distribuciones que estn soportadas comercialmente, como Fedora (Red Hat), openSUSE (Novell), Mandriva, y distribuciones mantenidas por la comunidad como Debian y Gentoo. [9] Para el desarrollo de este proyecto se utiliz UBUNTU 10.04 LTS3 como sistema operativo sobre el cual se implement y se instal ZABBIX, debido a su viabilidad y comodidad de uso y a la calidad y cantidad de documentacin que existe sobre la utilizacin de Ubuntu y la implementacin de ZABBIX sobre este. Ubuntu es una distribucin de Linux que proporciona un sistema operativo actualizado y estable para el usuario medio, con un fuerte enfoque en la facilidad de uso y de instalacin del sistema. Ubuntu est patrocinado por Canonical Ltd., una compaa britnica propiedad del empresario sudafricano Mark Shuttleworth que lo mantiene libre y gratuito. Adems, Canonical Ltd. es capaz de aprovechar los desarrolladores de la comunidad para mejorar los componentes de su sistema operativo. Esta distribucin est siendo traducida a ms de 130 idiomas y posee una gran coleccin de aplicaciones prcticas y sencillas para la configuracin de todo el sistema, a travs de una interfaz grfica til para usuarios que se inician en Linux. El entorno de escritorio oficial es GNOME desarrollado por GNU. La figura 3a muestra un ejemplo de un escritorio de trabajo de Ubuntu. La figura 3b permite observar el acerca de del GNOME Desktop.

3Las versiones LTS (Long Term Support), son aquellas que se liberan cada dos aos y reciben soporte durante tres aos para sistemas de escritorio.

- 25 -

Figura 3a. Escritorio GNOME de UBUNTU.

Figura 3b. Acerca de GNOME DESKTOP.

Aplicaciones de Ubuntu

Ya se mencion que Ubuntu es conocido por su facilidad de uso y las aplicaciones orientadas al usuario final. Las principales aplicaciones que trae Ubuntu son: El navegador web Mozilla Firefox, el cliente de mensajera instantnea Empathy, el cliente para enviar y recibir correo Evolution, el reproductor multimedia Totem, el cliente y gestor de torrents Transmission, el grabador de discos Brasero, la suite ofimtica OpenOffice, y Ubuntu Software Center para buscar e instalar entre ms de treinta mil aplicaciones y juegos. Seguridad y accesibilidad

El sistema incluye funciones avanzadas de seguridad y entre sus polticas se encuentra el no activar, de forma predeterminada, procesos latentes al momento de instalarse. Por eso mismo, no hay un firewall - 26 -

predeterminado, ya que no existen servicios que puedan atentar a la seguridad del sistema. Para labores/tareas administrativas se incluye en el terminal una herramienta llamada sudo, con la que se evita el uso del usuario administrador. Ubuntu es software libre

Aunque las cartulas se imprimen en ingls, a partir de la versin 5.10 se incluy el texto Ubuntu is software libre usando la palabra en espaol libre, para eliminar la ambigedad del trmino free (del ingls free software) que puede significar tanto libre como gratis. Ubuntu tambin se publica bajo la licencia GPL de GNU. [10]

- 27 -

2.4. ZABBIX

Figura 4. Imagen de Zabbix. [2]

Zabbix fue creado por el seor Alexei Vladishev y actualmente se desarrolla y se soporta por la compaa Zabbix SIA. Es una solucin open source que permite de forma rpida y sencilla monitorizar todo tipo de servidores, aplicaciones y equipos que hacen parte de una red. Zabbix permite centralizar la informacin en un servidor y monitorizar mltiples hosts, adems tiene una interfaz de administracin va web browser. Por otro lado, ofrece caractersticas de monitorizacin avanzada, alertas y visualizacin que actualmente no estn presentes en otros sistemas de monitorizacin, ni siquiera comerciales. Zabbix puede descubrir nodos en un rango de IPs usando agentes SNMP y es capaz de monitorizar servicios remotos. Adems tiene soporte para traps SNMP en las versiones 1, 2 y 3 del protocolo. Proporciona tambin extensa informacin sobre la mquina que monitoriza: disco, memoria, E/S, entre muchas otras, mediante un completo sistema de estadsticas histricas cuyos datos se guardan de manera cronolgica y sencilla de acceder, visualizar y analizar, en bases de datos, para este caso MySQL. Zabbix a su vez es capaz de enviar avisos, alarmas y/o notificaciones programadas va e-mail, SMS e incluso a travs de Jabber para usuarios de Google Talk. Es importante recordar que Zabbix es un software OSE (Open Source Edition) gratuito y se desarroll y public bajo Licencia Pblica General GNU versin 2 cuyos trminos formales se pueden observar en el anexo 2.

- 28 -

2.5. MONITORIZACIN DE REDES Monitorizar consiste en observar, vigilar, tomar datos y analizar los resultados con el fin de realizar una retroalimentacin que permita solucionar problemas eficazmente o mejor an, anticiparse a ellos. En una red se cuenta con distintos dispositivos interrelacionados, unos de mayor importancia que otros, pero que, como es lo ideal, deben funcionar correctamente sin excepcin. Con la monitorizacin de la red se toman datos como consumo de recursos, asignacin de memoria, estado de memoria, parmetros de rendimiento, estado del dispositivo, rendimiento de sistemas agrupados, entre muchos otros que se explicarn a lo largo del desarrollo de este documento de manera especfica. Estos datos cuales pueden ser vistos, notificados y controlados por operadores capaces de tomar decisiones basados en las alarmas automticas que dan informe sobre estados crticos. 2.6. POR QU MONITORIZAR? Cada vez en los ambientes empresariales, las redes se vuelven ms complejas y la exigencia de la operacin es cada vez mayor. El trafico de voz y datos, y la creciente demanda de recursos para soportar aplicaciones y servicios, ponen a prueba la estabilidad y el funcionamiento de estas. Es por eso que anlisis y monitorizacin de redes se ha convertido en actividades de vital importancia en las prioridades de las diferentes compaas. El proceso de monitorizacin debe ser permanente, ordenado, continuo y exacto, de esta manera se toman medidas de variables criticas en el funcionamiento de una red con el fin de que, si se encuentran problemas, se tomen medidas correctivas y/o preventivas que lleven a la estabilizacin de la red, de esta manera se mantiene un control eficaz y efectivo que lleve a lograr mejores resultados en el desempeo de cada uno de los dispositivos involucrados. Adems, los datos obtenidos forman estadsticas que ponen en evidencia problemas e irregularidades en procesos, los cual es necesario solucionar. El almacenamiento de las medidas recogidas forma una bitcora que puede mostrar la evolucin del comportamiento de la red. No tener una herramienta de monitorizacin que informe sobre el estado de la red y sus elementos, significa un costo muy elevado, ya que ser necesario gastar ms recursos en el mantenimiento y reparacin de la misma adems de llevar a la contratacin de ms personal para las actividades de soporte. La prevencin y la respuesta anticipada a problemas son mecanismos que llevan a un control exitoso de una red.

- 29 -

3. IMPLEMENTACIN: INSTALACIN DE SOFTWARE 3.1. INSTALACIN DE UBUNTU La instalacin de Ubuntu 10.04 LTS es bastante simple. Una vez se inicia el equipo desde el CD, aparece la pantalla de bienvenida donde se escoge el idioma en el que quedar el sistema operativo, es de resaltar que una de las caractersticas de este sistema operativo es que provee presentacin y soporte en muchsimos idiomas con diferentes variaciones de los mismos, en este caso se escoge espaol. Tambin aparece la opcin de probar Ubuntu, que consiste en correr desde el CD una muestra del sistema. Para este caso se debe dar clic en el botn Instalar Ubuntu 10.04 LTS y en seguida se contacta con el servidor de Ubuntu para obtener la hora exacta. Estos dos primeros pasos se muestran en la figura 5.

Figura 5. Instalacin de Ubuntu, eleccin de idioma.

Luego, como se puede apreciar en la figura 6, se procede a elegir la configuracin horaria que ya est elegida, como regin se elige Colombia con la hora establecida, se da clic en adelante y se contina con la distribucin del teclado, se escoge la opcin Espaa que permite sacar los smbolos correctamente, y clic en adelante.

Figura 6. Instalacin de Ubuntu, zona horaria y distribucin de teclado.

Ahora el programa de Instalacin da la opcin de configurar la ubicacin del sistema operativo en el disco duro. Primero identifica si hay algn sistema ya instalado, si es as, por ejemplo si ya se tiene Windows entonces es posible instalar Ubuntu junto con l. Tambin est la opcin de formatear el disco entero o por ltimo se puede particionar el disco como se desee dejando o quitando el sistema operativo ya instalado, si es que hay uno. Una vez se da clic en el botn - 30 -

adelante, el programa solicita ingresar un usuario, una contrasea y un nombre del equipo. Estos pasos se muestran en la figura 7.

Figura 7. Instalacin de Ubuntu, administracin de espacio en disco y configuracin de usuario.

En la figura 8 est el reporte que muestra el instalador del sistema para confirmar las opciones escogidas, entonces se da clic en instalar. Seguido a esto se inicia la instalacin del mismo.

Figura 8. Instalacin de Ubuntu, reporte de opciones escogidas y proceso de instalacin.

Al terminar la instalacin el proceso solicita reiniciar el equipo y retirar el CD de la unidad, luego de esto el computador arranca desde el sistema operativo Ubuntu 10.04 LTS ya instalado. 3.2. INSTALACIN ZABBIX[11] 3.2.1. Requerimientos de Hardware Zabbix requiere de parmetros ptimos tanto de memoria fsica como de capacidad de almacenamiento en disco, sin embargo estas necesidades estn relacionadas proporcionalmente con el nmero de hosts y las caractersticas que se van a monitorizar de estos mismos. La tabla 1 permite observar las necesidades del equipo que funcionar como servidor Zabbix, en funcin del nmero de hosts que se van a monitorizar.

- 31 -

Tabla 1. Requerimientos de hardware en funcin del nmero de hosts.

3.2.2. Requerimientos de Software La tabla 2 muestra los requerimientos a nivel de programas o software que se necesitan para instalar Zabbix.

Tabla 2. Requerimientos de software.

Teniendo en cuenta los requisitos tanto de hardware como de software, se da inicio a la instalacin de Zabbix cuyo proceso est compuesto por 4 etapas que se describen a continuacin. [11] 4 3.2.3. Instalacin de requisitos previos. Se ejecuta desde el terminal el comando que se observa en la figura 9 que permite realizar la instalacin de todos los requisitos previos de software de acuerdo a lo visto en la tabla 2.

Figura 9. Comando de instalacin de requisitos previos.

El instalador indica el espacio en disco que se va a utilizar y solicita la confirmacin de la continuacin de la instalacin como se observa en la figura 10.4 El proceso completo de instalacin de ZABBIX se realiz basados y apoyados en el blog[11] del seor Jos Luis Gmez Ferrer de Couto, profesional en administracin de TIC de la empresa Soltel Soluciones Informticas en la ciudad de Sevilla (Espaa). Su hoja de vida puede ser consultada en la referencia [12] citada al final de este documento.

- 32 -

Figura 10. Confirmacin de instalacin de requisitos previos.

Figura 11. Descarga de los paquetes de instalacin de software previo.

Durante el proceso de instalacin de requisitos previos se debe configurar el password que se va a utilizar para el usuario root de la base de datos en MySQL como se observa en la figura 12.

Figura 12. Configuracin de password para usuario root de la base de datos.

- 33 -

Finalmente en las figuras 13, 14 y 15 se observa el proceso de extraccin y compilacin de los paquetes que permiten instalar el software previo que permiten el correcto funcionamiento de Zabbix en Ubuntu.

Figura 13. Extraccin de paquetes de instalacin.

Figura 14. Proceso 1 de instalacin del software previo.

- 34 -

Figura 15. Proceso 2 de instalacin del software previo.

3.2.4. Instalacin Zabbix. Luego de tener instalado correctamente el software previo, se procede a la configuracin y compilacin de Zabbix de la siguiente forma: 3.2.4.1. Creacin usuario Zabbix. Se ejecuta el comando observado en la figura 16 que permite crear un usuario zabbix en Ubuntu para poder utilizar Zabbix a travs de este mismo. Zabbix necesita un usuario para que el funcionamiento sea seguro y que al tiempo no tenga credenciales de sper usuario.

Figura 16. Creacin de usuario zabbix en Ubuntu.

3.2.4.2. Descarga de fuentes Se debe ahora proceder a descargar los archivos de compilacin de Zabbix a travs del comando observado en la figura 17.

Figura 17. Descarga de los archivos fuentes para compilacin de Zabbix.

- 35 -

Luego se procede a extraerlos o descomprimirlos en la carpeta del usuario creado zabbix como se observa en la figura 18.

Figura 18. Extraccin de los archivos descargados

3.2.4.3. Creacin del esquema Se ha optado por utilizar MySQL y para continuar con la instalacin se debe crear una base de datos y darle permisos necesarios al usuario que se conectar a ella. Para esto se ejecutan los comandos mostrados en la figura 19.

Figura 19. Creacin de base de datos y privilegios de usuario Zabbix.

Las figuras 20, 21 y 22 nos permiten observar el proceso de actualizacin del protocolo de autenticacin de MySQL para Ubuntu.

Figura 20. Actualizacin de usuario y contrasea.

- 36 -

Figura 21. Actualizacin de polticas y privilegios.

Figura 22. Activacin de contrasea.

Dentro de las fuentes descargadas se incluyen unas plantillas para la creacin del esquema y otras opciones. Entonces se ejecutan los comandos observados en la figura 23 como usuario zabbix para dejar funcionando el almacn de datos.

Figura 23. Comandos de configuracin bases de datos.

3.2.4.4. Configurar, compilar e instalar: Ahora se deben configurar las fuentes para dar soporte como servidor, instalar el agente en el servidor Zabbix, usar MySQL como contenedor de datos, soporte para net-SNMP, CURL, y JABBER. Para ello se ejecuta el comando observado en la figura 24 como usuario zabbix.

Figura 24. Comando de configuracin de las fuentes de instalacin.

- 37 -

La figura 25 permite observar el resultado de la configuracin de las fuentes y nos confirma que se han predeterminado los siguientes parmetros: Activacin de Servidor, Motor de base de datos MySQL, librera cURL, Soporte de Jabber, protocolo net-SNMP y activacin del agente Zabbix para LINUX.

Figura 25. Configuracin Servidor, MySQL, cURL, Jabber, net-SNMP y agente Zabbix.

Finalmente y desde el root del usuario zabbix, se procede a compilar e instalar las fuentes como se observa en la figura 26.

Figura 26. Comando de compilacin e instalacin de fuentes de Zabbix.

3.2.4.5. Configuracin post-instalacin Despus de obtener una configuracin, compilacin e instalacin limpia de las fuentes de Zabbix se procede a realizar los siguientes ajustes: Configuracin de los puertos que utiliza Zabbix como se observa en la figura 27.

- 38 -

Figura 27. Configuracin de puertos de Zabbix

Ahora se procede a crear el directorio donde se almacenarn los ficheros de configuracin y se le asigna el propietario. Para ello se ejecutan los siguientes comandos observados en la figura 28

Figura 28. Creacin de directorio de almacenamiento de ficheros de configuracin.

Finalmente se procede a editar el fichero de configuracin del servidor Zabbix para declarar los parmetros de conexin a la base de datos MySQL. Para ello se debe acceder a los archivos de configuracin, abrirlos con un editor de texto de consola (para este caso se utilizo el GNU nano v2.2.2) y revisar y/o cambiar los parmetros resaltados en la figura 29 que corresponden a los datos de conexin a la base de datos de MySQL.

Figura 29. Configuracin de parmetros de conexin a BD de MySQL.

- 39 -

3.2.4.6. Configuracin scripts de inicio Para que el servidor Zabbix y el agente arranquen de forma predeterminada durante el inicio del sistema se ejecuta el comando observado en la figura 30 como root y se editan los archivos para el servidor Zabbix y para el agente Zabbix observados en las figuras 31 y 32 respectivamente.

Figura 30. Configuracin de script de inicio.

Figura 31. Edicin de script de inicio para Servidor Zabbix

- 40 -

Figura 32. Edicin de script de inicio para Agente Zabbix.

Ahora se le asignan los permisos a ambos scripts y se configura el nivel de arranque en el que van a iniciar. Para ello como root se ejecutamos los comandos observados en la figura 33.

Figura 33. Asignacin de permisos a scripts de inicio de agente y servidor Zabbix.

- 41 -

Por ltimo se procede a iniciar tanto el agente como el servidor Zabbix segn se observa en la figura 34.

Figura 34. Inicio de Agente y Servidor Zabbix.

3.2.5. Instalacin front-end Ahora se debe proceder a instalar la interfaz web del servidor Zabbix para lo cual se ejecutan los comandos observados en la figura 35.

Figura 35. Instalacin de interfaz web de servidor Zabbix.

3.2.5.1. Configuracin PHP. Zabbix necesita que algunos parmetros de PHP sean modificados. Como root se edita el archivo php.ini y se modifican las lneas sealadas en las figuras 36, 37, 38 y 39.

Figura 36. Edicin 1 de archivo php.ini: date.timezone

- 42 -

Figura 37. Edicin 2 de archivo php.ini: memory_limit

Figura 38. Edicin 3 de archivo php.ini: upload_max_filesize

- 43 -

Figura 39. Edicin 4 de archivo php.ini: max_execution_time

Finalmente se reinicia el servidor apache segn se observa en la figura 40.

Figura 40. Reinicio de servidor apache.

3.2.5.2. Configuracin interfaz Web Para finalizar la totalidad de la instalacin de Zabbix se debe configurar la interfaz web, para lo cual se ingresa a travs de un explorador web a la direccin del servidor (http://127.0.0.1 o http://localhost) como se observa en la figura 41.

Figura 41. Ingreso a configuracin de interfaz web en servidor local

- 44 -

Se aceptan los trminos de licencia, figura 42.

Figura 42. Aceptacin de licencia

Se chequean la instalacin correcta de los prerrequisitos, figura 43.

Figura 43. Lista de chequeo de prerrequisitos.

- 45 -

Se realizan pruebas de conexin a la base de datos con el usuario y password asignados anteriormente, figura 44.

Figura 44. Configuracin de conexin con base de datos.

Se confirma el puerto configurado para el servidor Zabbix, figura 45.

Figura 45. Configuracin del puerto del servidor Zabbix.

- 46 -

Se observa el resumen del proceso de preinstalacin, figura 46.

Figura 46. Resumen de la instalacin.

Se da click en la opcin resaltada en la figura 47.

Figura 47. Archivo de configuracin

- 47 -

Se guarda el archivo zabbix.conf.php en la ruta mostrada en la figura 49.

Figura 48. Guardando archivo Zabbix.conf.php

Figura 49. Ubicacin del archivo guardado Zabbix.conf.php

Y finalmente se termina el proceso de instalacin como se muestra en las figuras 50 y 51.

Figura 50. ltimo paso de instalacin.

- 48 -

Figura 51. Finalizacin de la instalacin de manera exitosa.

3.2.6. Probando Zabbix Luego de obtener la instalacin exitosa de la interfaz web de Zabbix, procedemos a realizar pruebas autenticndonos con el usuario: admin y el password: zabbix. La figura 53 nos confirma que la instalacin ha finalizado de manera correcta y que Zabbix est listo para iniciar con sus tareas de monitorizacin.

Figura 52. Ingreso a interfaz web con usuario admin.

- 49 -

Figura 53. Confirmacin de instalacin completa y correcta de ZABBIX en Ubuntu.

3.3. INSTALACIN AGENTE ZABBIX EN WINDOWS En la pgina principal de Zabbix, se encuentran disponibles los Agentes Zabbix para monitorizar diferentes sistemas operativos en varias versiones, como Solaris, AIX, FreeBSD, HP-UX, Linux y Windows, dado que los equipos de Santini System Group Ltda. tienen instalado Windows, este es el agente con el que se trabajar. La pgina web del programa provee un archivo comprimido con los agentes para este sistema como se observa en la figura 54. All se ven dos subcarpetas para maquinas a 64 o a 32 bits, en este caso se descomprime la versin para 32 bits.

Figura 54. Archivo comprimido, instalador agente Zabbix.

Una vez descomprimido, se obtienen tres archivos ejecutables que permitirn realizar la instalacin del Agente Zabbix para Windows, estos se pueden observar en la figura 55, para realizar la correcta instalacin se deben seguir pasos especficos que se mencionaran a continuacin.

Figura 55. Contenido de la carpeta win32, tres archivos ejecutables.

Lo primero que se debe hacer es crear una carpeta en la raz del disco duro local, en este caso C:\. El nombre que se le dio fue Zabbix, dentro del directorio se deben copiar los tres ejecutables descargados como se muestra en la figura 56 y a su vez copiar un archivo de configuracin para los agentes, el cual tiene por nombre zabbix_agentd.win.conf que se encuentra en el equipo donde previamente se instal el servidor Zabbix en la siguiente ruta: sistemadearchivos/misc/conf/zabbix_agentd.win.conf. Se procede a copiar y pegar. En la figura 57 se puede apreciar la carpeta en C\:zabbix\ con 4 los elementos requeridos.

- 50 -

Figura 56. Carpeta Zabbix creada en C:\

Figura 57. Carpeta Zabbix con archivos necesarios.

Lo siguiente que se har ser establecer los parmetros correctos en el archivo de configuracin, para tal fin este de debe abrir usando el bloc de notas, entonces, la entrada Server= que por defecto se encuentra con la direccin IP del localhost 127.0.0.1 se cambia por la direccin IP del servidor Zabbix, esto se ve en la figura 58. Luego, como se muestra en la figura 59, en la opcin Hostname se ingresa un nombre de identificacin de la maquina a monitorizar, este ser el mismo que se le dar en la consola web de Zabbix al adicionar el equipo como elemento, en este caso se le ha asignado el nombre de Windows_box.

Figura 58. Configuracin de direccin IP de servidor.

Figura 59. Configuracin del hostname del equipo.

Ahora mediante el comando C:\zabbix>zabbix_agentd.exe -c c:/zabbix/zabbix_agentd.win.conf se instalara el agente usando la configuracin dada en el archivo .conf, como se puede apreciar en las figuras 60 y 61, una vez ejecutado desde la consola aparece un error 1464 del zabbix_agentd, por lo cual se agrega el parmetro i para ejecutarlo como un servicio. - 51 -

Figura 60. Comando de instalacin.

Figura 61. Error despus de ejecutar comando de instalacin.

En la figura 62 se observa un comando para llamar la ayuda del agente Zabbix que es de mucha utilidad, ya que como se ve en la figura 63 nos muestra el listado de parmetros para realizar diferentes acciones tales como instalar, desinstalar, iniciar o detener el servicio, acceder a archivos de configuracin o ver la versin usada.

Figura 62. Llamado a la ayuda del instalador.

- 52 -

Figura 63. Listado de comandos para el instalador.

Dado que la funcin i es la correspondiente para continuar con la instalacin del agente, se tomar esta, en la figura 64 se muestra el comando completo, enseguida, en la figura 65 se encuentra el reporte de instalacin exitosa del servicio. De esta manera cuando se observa el listado de servicios de Windows ejecutando services.msc, se aprecia que el servicio zabbix agent ya se encuentra pero no est iniciado, figura 66a, as que de acuerdo a los diferentes parmetros del archivo de instalacin, se usa s en el comando de ejecucin para iniciar el servicio, en la figura 66b se muestra la lnea de comando y en la figura 66c se ve el agente establecido e iniciado, con esto se concluye la instalacin del agente Zabbix para Windows.

Figura 64. Comando de instalacin como servicio.

Figura 65. Confirmacin de instalacin exitosa.

- 53 -

Figura 66. Inicio de servicio Zabbix, servicio detenido (a), comando de activacin (b) y servicio iniciado (c).

4. IMPLEMENTACIN: INTERFAZ WEB DE ZABBIX 4.1. CREACION DE UN HOST La administracin de todas las tareas de monitorizacin se realiza desde el panel frontal, este es una interfaz web que permite gestionar las actividades de monitorizacin, se pueden agregar dispositivos, configurar todas las opciones del Zabbix, generar reportes, graficas, alarmas, crear cuentas. Como primer paso, se mostrara como agregar un dispositivo conectado a la red, un Host. En la figura numero 67 tenemos el frontend de Zabbix; en el men se elige Configuration, es en esta pestaa donde se definen los parmetros de datos, graficas, reportes y envo de notificaciones. Luego se da clic en la opcin Hosts en el submen. All se muestra un primer elemento ya creado, se trata del mismo sistema del computador en el que se encuentra instalado el programa, por defecto l se define como Zabbix Server.

Figura 67. Ventana de configuracin, opcin host

En la tabla general del Host Zabbix Server en la figura 68 (a), se puede ver en la columna status que este no se encuentra monitorizado, es decir no se encuentra activado; para activarlo, se selecciona y en la persiana inferior se elige Activate Selected y se da clic en Go, figura 68 (b) se puede ver como despus de esta accin el host se encuentra en estado monitored y un sealizador verde mostrando disponibilidad en la columna Availability.

- 54 -

Figura 68. Activacin Host, seleccin(a), confirmacin de activacin (b).

Para la creacin del host, se da clic en Create Host como se ve en la figura 69, seguido de esto se llenan los campos necesarios para la configuracin del elemento creado, figura 70, en este caso se va a monitorizar un computador de un usuario de Santini System Group, se trata de un equipo con sistema operativo Windows XP que se encuentra en la red, el nombre que se le da es WXP_HOST. Un host siempre debe pertenecer a algn grupo, ya que los permisos en la herramienta se dan sobre grupos y no sobre elementos especficos entonces en el campo grupos se elige Windows servers, se escribe la IP del equipo en el campo correspondiente y en Connect to se selecciona IP Address, luego, en el campo Linked templates se da clic en add para adicionar una plantilla correspondiente al sistema operativo que se tiene instalado en el equipo.

Figura 69. Ventana de configuracin, creacin Host

- 55 -

Figura 70. Configuracin Host.

En la figura 71 se encuentra la ventana de templates o plantillas, que sale una vez se da clic en add, se observa que hay para diferentes sistemas operativos como Windows XP, Windows Exchange, Solaris, Linux, Mac, adems de plantillas con configuracin para el uso de protocolos como el SNMP, en este caso se escoge la que viene diseada para Windows. Devuelta en la ventana de configuracin del host, figura 72, se selecciona, en Linked templates, la que se seleccion previamente y se da clic en Save. Ahora se activa el nuevo Host creado, del mismo modo que se hizo con el elemento Zabbix Server, esto se muestra en la figura 73.

Figura 71. Listado de plantillas, Host Windows.

- 56 -

Figura 72. Plantilla adicionada.

Figura 73. Activacin Host creado.

4.1.1. Agregando un Servidor en Windows Server como Host Lo siguiente que se hizo fue agregar el host del servidor Zeus de Santini System Group, este tiene sistema operativo Windows Server 2003 R2, tiene replica del servidor DHCP, se encuentra instalada la impresora, es el controlador de domino y all se encuentra el Directorio Activo. Simplemente se adiciona como se realiz con los equipos anteriores, se incluye en el grupo Windows servers y se le agrega la plantilla para sistemas operativos Windows en la figura 74 se aprecia la ventana de creacin del Host y en la figura 75 se puede ver el grupo de host creados con el que recin se agreg, de nombre Zeus, todos con los agentes activados Zabbix y SNMP respectivamente.

- 57 -

Figura 74. Ventana de configuracin, creacin de Host servidor de Windows.

Figura 75. Host Zeus activado.

4.1.2. Adicin de Host Monitorizados Mediante Agentes SNMP. 4.1.2.1. Instalacin de paquete snmp para Ubuntu La figura 76 permite observar la instalacin desde la consola de Ubuntu del paquete de snmp para monitorizacin.

Figura 76. Comando de instalacin SNMP.

- 58 -

4.1.2.2. Impresora en Red Ahora se adicionara un perifrico en red como por ejemplo una impresora, en este caso la impresora principal de Santini System Group, una HP JetLaser. Primero se debe activar el protocolo SNMP en el servidor a travs de la Terminal de Ubuntu, en la figura 77 se aprecia el llamado para la descarga e instalacin de los paquetes para su funcionamiento. Ahora de mira si el elemento escogido a monitorizar es asequible es decir si est establecida la comunicacin, si se toman los agentes correctamente y si responde a las peticiones del servidor Zabbix; para esto, primero se tiene que saber que versin del protocolo usa el dispositivo y cul es la comunidad o cadena de autenticacin.

Figura 77. Interfaz web de la impresora, configuracin TCP/IP.

La interfaz web de la impresora es un espacio en donde se puede encontrar diferentes caractersticas de la misma, ver su estado actual y gestionar configuraciones, a esta se accede simplemente colocando la direccin IP en el espacio donde va la direccin web en un explorador de Internet como Internet Explorer o en este caso Mozilla Firefox, en la figura 78 se puede observar la ventana de configuracin TCP/IP de la impresora all se encuentra el nombre del host, el estado del protocolo IPv4 e IPv6 y la direccin IP con puerta de enlace predeterminada. A su vez, en la ventana de configuracin de red, se ve la configuracin para el protocolo SNMP v1 o v2, figura 79, entonces se selecciona la opcin de habilitar el acceso SNMP v1/v2 de solo lectura, el nombre de la comunidad por defecto es public. En la figura 80 se ve la terminal de Ubuntu, donde mediante el comando snmpstatus -v 2c -c se confirma el correcto funcionamiento del protocolo y el estado de la conexin, en la respuesta que da la terminal a la peticin podemos ver el puerto por defecto usado comnmente por los agentes SMNP el 161, la interfaz de la impresora, y el uptime que es el tiempo en el cual el dispositivo ha funcionado correctamente sin ningn tipo de error o interrupcin en su funcionamiento.

- 59 -

Figura 78. Interfaz web de la impresora, configuracin de red.

Figura 79. Comando, estado del SNMP.

Entonces se procede a crear el Host, tomando los mismos pasos que anteriormente se hicieron, dando el nombre del elemento y la correspondiente direccin IP de la impresora como se puede ver en la figura 76, adems se escoge en las plantillas la correspondiente a la referencia Template_HP_ColorLaserJet y la plantilla del protocolo SNMP que maneja la impresora, lo anterior se muestra en la figura 81, y por ultimo luego de la creacin del Host, se procede a activarlo, en la figura 82 se puede ver la activacin y el encendido del indicador verde en la columna availabiliy que advierte el correcto funcionamiento del SNMP.

- 60 -

Figura 80. Ventana de configuracin, creacin de Host impresora.

Figura 81. Plantillas para Host impresora.

- 61 -

Figura 82. Activacin del Host Impresora.

4.1.2.3. Switch Cisco Catalyst 2960 Los switches son dispositivos que tambin tienen el protocolo SNMP activado para ser monitorizados, en este caso se trata de un Switch Cisco 2960, entonces, como se ve en la figura 83 en las plantillas se elige la correspondiente al modelo llamada Template_Cisco_2960 y a su vez la del protocolo SNMPv2.

Figura 83. Seleccin de plantillas para Switch.

- 62 -

El comando snmpstatus se utiliz para verificar la versin del protocolo SNMP que usa el switch y tambin en que comunidad est, adems, como se puede ver en la figura 84, este comando retorna el uptime, tiempo durante el cual, el dispositivo ha tenido un correcto funcionamiento sin ningn tipo de error o interrupcin. Ahora se usa el comando snmp walk, el cual retorna todos los valores que estn disponibles en un agente SNMP dado, los elementos que pueden ser monitorizados, como la salida puede ser demasiado larga, mediante el comando head n se restringe la salida a n nmero de lneas, figura 85. Por ltimo se usa el comando snmpget como se muestra en la figura 86, con este, que se constato que efectivamente se tena acceso de lectura de los elementos vistos en el snmpwalk, se puede ver que el OID o identificador de objeto sysuptimeinstance es el nico que devuelve un valor de timetricks diferente a cero, entonces es necesario buscar el tem con el OID sysuptimeinstance para validar su configuracin.

Figura 84. SNMP status del switch.

Figura 85. SNMP walk del switch.

Figura 86. SNMP get del switch.

Luego, continuando con la creacin del host, como comnmente se hace, como nombre se coloca el nombre del switch, en este caso es SW2960_COBOGADMIN02, el grupo que se elige es SNMP Devices y se coloca la IP correspondiente como se muestra en la figura 87. Luego se busca en los Items correspondientes al switch el llamado Template_Cisco_2960 Uptime, en la figura 88 est el listado y en l se encuentra el Uptime, entonces se selecciona para entrar en la configuracin del mismo, all se llenan los espacios de SNMP - 63 -

community y SNMP port, la comunidad en la que est configurado el dispositivo es SANTINI y como ya se haba dicho el puerto por defecto para los agentes SNMP es el 161, en la figura 89 aparece esta configuracin. El mismo procedimiento se realizo con el otro switch que se encuentra en Santini System Group, se trata de un switch de la misma referencia y con nombre SW2960_COBOGADMIN02.

Figura 87. Ventana configuracin, creacin de Host switch

Figura 88. Listado de Items, seleccin de Item Uptime

- 64 -

Figura 89. Configuracin del Item Uptime.

4.1.2.4. Router Cisco 2801 Primero, se toman los comandos de gestin del protocolo SNMP, El comando snmpstatus retorna el uptime, tiempo durante el cual, el dispositivo ha tenido un correcto funcionamiento sin ninguna interrupcin, adems sirve para constatar la versin del protocolo SNMP y la comunidad, figura 90. El comando snmp walk retorna todos los valores que estn disponibles en el dispositivo SNMP, figura 91. Finalmente se usa el comando snmpget como se muestra en la figura 92, con lo cual se verifica que si se tena acceso de lectura de los elementos vistos en el snmpwalk.

Figura 90. SNMP status del router.

Figura 91. SNMP walk del router.

- 65 -

Figura 92. SNMP get del router.

Ahora se configura el router de la misma manera que como se hizo con el switch, el nombre de host es RT2801_COBOGADMIN01, se incluye en el grupo SNMP Devices y se escribe la direccin IP que es la 10.57.50.1, se adiciona la plantilla del protocolo SNMP y se da clic en Save para terminar la creacin, como se muestra en la figura 93.

Figura 93. Ventana configuracin, creacin de Host router

Para este dispositivo, ya que no se tiene la plantilla, se debe crear el Item, entonces, en configuration, Hosts, se da clic en el botn create Item, como se muestra en la figura 94. En la figura 95 se encuentra la ventana de creacin del nuevo Item entonces se dan los parmetros correspondientes, el nombre del Host es RT2801_COBOGADMIN01, en la descripcin se coloca el nombre del Item que se necesita que es Uptime, el SNMP OID que es el object identificator, es una cadena que identifica el Item correspondiente, la comunidad en el espacio SNMP community que al igual que el switch es SANTINI y el puerto por defecto de los agentes SNMP que es el 161, en Type of information se define el formato de los datos que entran, en este caso numricos en Units se escoge s de segundos, medida por defecto del tiempo y por ltimo se da clic en Save. Ya en la figura 96 se puede ver la ventana donde se muestran todos los host controlados con agentes SNMP: los dos switches, el router y la impresora.

- 66 -

Figura 94. Ventana configuracin, hosts, opcin crear Item.

Figura 95. Ventana creacin Item Uptime

Figura 96. Listado de host con SNMP, todos activados.

- 67 -

4.2. CREACIN DE UN TEM. Es importante que el proceso de creacin de hosts se lleve a cabo con xito de tal forma que podamos a travs del men de configuracin observar el estado de la disponibilidad (Availability) resaltado en color verde (ver figura 97). Esto implica que nuestro dispositivo est comunicndose de manera correcta con el servidor Zabbix a travs de su agente, bien sea SNPM, IMPI o el agente Zabbix. Sin embargo, dado que los tems son la base de la recoleccin de los datos, es necesario ilustrar el proceso de creacin de estos as como su funcionamiento. El proceso inicia haciendo click en la opcin Hosts del men Configuration como se observa en la figura 93.

Figura 97. Men Configuration -> Hosts para crear un tem.

Luego, se procede a seleccionar la opcin Create Item del men de la derecha como se observa en la figura 98.

Figura 98. Opcin Create Item.

En la figura 99 se observa el formato que se despliega para configurar las caractersticas del tem que se va a crear. Se puede detallar que es importante tener en cuenta 3 espacios que se deben completar en este formulario: El Host al cual pertenece el tem, la descripcin del tem y el Key que hace referencia al nombre tcnico que recibe el tem y que se encarga de identificar la informacin datos que este recolecta. - 68 -

Para este ejemplo se selecciona el Host llamado WXP_Host para monitorizar el estado de carga del procesador cuya palabra clave o Key es system.cpu.load[,avg15].

Figura 99. Propiedades del Item creado

Finalmente se procede a verificar que nuestro tem se qued correctamente creado, ingresando a la opcin Latest data del men Monitoring. La figura 96 ilustra que el tem creado con descripcin Processor Load15 efectivamente est recolectando datos de los cuales se registr un ltimo cambio a la hora sealada en la figura 100.

- 69 -

Figura 100. Listado de Items, Item creado.

Figura 101. Grfica del Item Creado.

Si se prefiere, tambin se puede observar los cambios registrados por el tem a travs de grficas. Para este caso se ilustra el porcentaje de carga del procesador en funcin del tiempo como se observa en la figura 101. La creacin de grficas se detallar en la seccin 4.6. 4.3. CREACIN DE UN TRIGGER Un tem por s solo nicamente se encarga de obtener informacin. La administracin y clasificacin de esta informacin se realiza mediante Triggers. Un Trigger en Zabbix es una entidad que define umbrales para la clasificacin de los tems, por ejemplo, si el tem de medicin de nivel de tner en una impresora monitoreada arroja un valor bajo, significa que el Trigger del tner se debe disparar y pasar a un estado de alerta. De esta manera avisar que la tinta de la impresora esta por acabarse.

- 70 -

Figura 102. Ventana de configuracin, crear Trigger.

Para crear un Trigger se elige configuration, submen hosts, y en la persiana al lado derecho se selecciona Trigger, despus se da clic en el botn Create Trigger como se ve en la figura 102. En la figura 103 se encuentra la ventana de creacin del Trigger, all se le da un nombre, en este caso se va a crear un Trigger para el nivel de tner de la Impresora, se llamara Black Toner low on printer NP18F7D9F, en Expression se da clic en el botn select y se busca el Item correspondiente al nivel del tner en la lista, en Function se elige Last value