Sie sind auf Seite 1von 103

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 <comunidad> <IP del dispositivo> 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 <N y se le da como valor de N = 1000, luego se da clic en Insert. En la figura 104 se muestra de nuevo la ventana de configuracin en donde se coloca un en comentario una nota referente a que necesita ser cambiado el tner de la impresora y se le da clic en Save. En la figura 105 se puede ver el listado de Triggers y seleccionado se encuentra el que acabamos de crear.

Figura 103. Ventana configuracin de Trigger.

- 71 -

Figura 104. Ventana de creacin.

Figura 105. Listado de Triggers.

4.4. CREACIN DE GRFICAS Se observ en la figura 105 que los datos obtenidos por los tems se pueden visualizar a travs de grficas. El mtodo ms cmodo para realizar esto es a travs de la creacin de las grficas mismas, cuyo proceso se explicar a continuacin. Se ingresa a la opcin Hosts del men Configuration y se selecciona Create Graph como se observa en la figura 106.

- 72 -

Figura 106. Creacin de grficas en el men Configuration.

Luego se despliega un formulario que se completa como se observa en la figura 107. Se le asigna un Nombre a la grfica y se selecciona grfica tipo normal. Se configura mostrar tiempo de trabajo y triggers (show working time, show triggers). Siguiente a esto se da click en Add, en donde se seleccionar el tem cuyos datos se graficarn. Las figuras 107, 108 y 109 permiten detallar este proceso.

Figura 107. Configuracin para creacin de grficas, seleccin tem 1 para graficar.

- 73 -

Figura 108. Seleccin y configuracin de tem 2 para graficar.

Figura 109. Seleccin y configuracin de tem 3 para graficar.

Como se observ anteriormente, para este ejemplo se ha configurado una grfica llamada WXP CPU Load para monitorizar el historial de carga del procesador del Host llamado WXP_Host. La figura 110 permite confirmar el correcto funcionamiento de la grfica creada y nos ilustra el historial de carga del procesador del host referenciado.

- 74 -

Figura 110. Confirmacin de funcionamiento de grfica WXP CPU Load creada.

Es importante ahora realizar una prueba para asegurarse que el tem est recolectando datos de manera correcta y que la grfica creada para este tem logre ilustrarlos. Para esto, se va a realizar una carga real del procesador del host WXP_Host a travs de un procedimiento sencillo que consiste en escribir un archivo por lotes y ejecutarlo de manera continua y en repetidas ocasiones como se observa en las figuras 111a, 111b y 111c.

Figura 111a. Abrir editor de texto en Windows.

Figura 111b. Crear archivo f.bat y guardarlo en escritorio.

Figura 111c. Ejecucin de archivo por lotes f.bat ubicado en el escritorio.

- 75 -

Antes de proceder a observar los datos monitorizados en Zabbix se cre otro tem correspondiente a memoria RAM libre en el host WXP_Host a travs del mismo procedimiento que se utiliz para crear el referente a la carga del procesador. Luego de realizar la creacin de estos tems vamos a revisar en el propio Host de donde se estn monitorizando los datos, el estado del procesador y de la memoria a travs del administrador de tareas, en la pestaa de Rendimiento como se ilustra en la figura 112.

Figura 112. Pestaa Rendimiento del administrador de tareas de Windows.

Se puede detallar que la carga del procesador ha subido a 100% y adems que actualmente hay 488.652 MB de memoria libre de los 1037.420 MB total que tiene el equipo. Ahora bien, lo importante es lograr observar estos datos sobre la interfaz web de Zabbix. Para esto se procede a ingresar a la opcin Graphs del men Monitoring como se observa en la figura 113.

Figura 113. Opcin para observar las grficas de monitorizacin en la interfaz web.

La figura 114 corresponde a la grfica WXP CPU Load del host WXP_HOST e ilustra claramente el incremento en la carga del procesador que coincide con lo observado en la grfica de la figura 108.

76

Figura 114. Grfica de carga del procesador en el host WXP_HOST.

De la misma forma, se observa en la figura 115 la grfica correspondiente a la cantidad de memoria fsica disponible. Es evidente que los nmeros coinciden ya que se detallan 476.84 MB libres del total en el equipo monitorizado.

Figura 115. Grfica de memoria libre disponible en el host WXP_HOST.

77

Como ltimo ejemplo para este documento para demostrar la veracidad de los datos, se observar a continuacin una grfica que ilustra la utilizacin de la red del servidor Zabbix implementado sobre Ubuntu. Para este procedimiento se realiz una prueba de velocidad a travs de la pgina web5 www.speedtest.net Los resultados de la prueba realizada as como la fecha y hora de la misma se pueden observar en la figura 116.

Figura 116. Resultados de la prueba de velocidad realizada en el Host Zabbix Server.

Obsrvese por ltimo la grfica de la figura 117 que corresponde a la utilizacin de red del host Zabbix Server. Se puede detallar que entre las 19:10 y las 19:11 horas se recibi un aumento de la carga de la red cuyo pico estuvo por encima de los 400 KBps, resultado proporcional a lo observado en los resultados de la figura 116.

Figura 117. Grfica de utilizacin de red en el host Zabbix Server.

5http://www.speedtest.net/about.php

78

4.5. CREACIN DE MAPAS Se ha observado a lo largo del documento distintas formas de visualizar estados, triggers, elementos, parmetros de rendimiento de un host, entre otros. Sin embargo, estos mtodos anteriormente mencionados no permiten monitorizar situaciones que involucren ms de 1 host al tiempo en una misma grfica. Para ello se hace de gran utilidad emplear mapas. Los mapas en Zabbix consisten en arreglos grficos de hosts que permiten visualizar en una misma pantalla o grfica, el estado bsico, las alarmas y los triggers de un grupo, o varios grupos de hosts. El proceso de creacin de mapas a travs de la interfaz web se explicar a continuacin. En primer lugar se hace click en la opcin Maps del men Configuration como se observa en la figura 118. Para este ejemplo se dise un mapa con nombre Santini System Group Network sobre el mapa por defecto que trae la plataforma instalada.

Figura 118. Crear Mapa en Zabbix.

Luego, se da click sobre la opcin + segn se detalla en la figura 119.

Figura 119. Creacin de elemento en el mapa.

79

En la figura 120 se muestra el formato que se debe completar para configurar y editar uno de los elementos que se van a ubicar en el mapa y que corresponde bien sea a un host, a un grupo de hosts e incluso se pueden agregar servicios monitorizados, triggers grupos de eventos. Los datos principales que se deben completar en el formato de la figura 16 son: tipo de elemento (Type), etiqueta del elemento (Label), ubicacin de la etiqueta (Label location) y el cono que se va a visualizar en el mapa. Estos conos pueden personalizarse de acuerdo a los gustos y/o caractersticas de los elementos que se agregan al mapa.

Figura 120. Edicin de parmetros del elemento creado en el mapa.

Para el ejemplo se inicia agregando un elemento correspondiente al host llamado WXP_Host como se observa en la figura 121.

Figura 121. Seleccin de host correspondiente al elemento creado en el mapa.

Finalmente se da click en Apply como se detalla en la figura 122.

80

Figura 122. Configuracin final de elemento creado en el mapa.

Las figuras 123 y 124 muestran el mismo procedimiento realizado anteriormente para el host WXP_HOST aplicado esta vez a agregar el elemento correspondiente a la impresora que ms se utiliza en la oficina de Santini y que est conectada en la red.

Figura 123. Seleccin de host para elemento Impresora (NPI8F7D9F) agregado al mapa.

Figura 124. Configuracin final de elemento impresora creado en el mapa.

81

Finalmente cabe mencionar que es importante utilizar enlaces o conexiones entre los elementos del mapa para obtener una idea grfica ms clara de la topologa de la red e incluso para tener ms comodidad en el momento de ubicar un elemento especfico y observar su estado, alertas, etc.

Figura 125. Creacin de link de conexin entre elementos del mapa.

La figura 125 ilustra la manera como se realiza este procedimiento. En primer lugar se seleccionan teniendo presionada la tecla CTRL del teclado, los 2 elementos que se quieren conectar en el mapa, luego se da click en el smbolo + cerca a la opcin Link y se da click en Apply como se observa en las figuras 126, 127 y 128.

Figura 126. Seleccin de elementos para creacin de conexin entre estos.

82

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. Correo electrnico, notificacin de fallo en POP3.

Finalmente y despus de agregar los elementos deseados para visualizar sobre el mapa, se da click en la opcin Save, figura 129. 83

El resultado para el ejemplo de este documento se ilustra en la figura 130. Se puede observar monitorizados el Router Cisco 2801 principal de la red, 2 Switches Cisco Catalyst 2960, 4 hosts en Windows XP y 3 en Windows 7, 1 servidor en Windows Server 2003 R2, 1 servidor en Windows Server 2008, una impresora HP LaserJet p2055dn y como es lgico, la Workstation donde est implementado ZABBIX 1.82.

Figura 130. MAPA de MONITORIZACIN DE RED INFORMTICA DE SANTINI SYSTEM GROUP.

4.6. PLANTILLAS 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 son propios de computadores porttiles y de escritorio con un sistema operativo como Windows, luego es viable tener una plantilla que ya tenga configurados los Items a monitorizar en un computador con este sistema. En el enlace www.zabbix.com/wiki/templates/start se encuentran diferentes plantillas para descargar, como ejemplo se descarg la plantilla Microsoft Windows Eventlog, la pgina se muestra en la figura 131.

84

Figura 131. Pgina de descarga de plantillas.

Luego de descargar la plantilla como un archivo comn y corriente, en la interfaz web de zabbix en la opcin Configuration, submen Export/Import se da clic sobre el botn Browse, all se busca la ubicacin del archivo que se descargo y una vez seleccionado se da clic en Import como se muestra en la figura 132. En la figura 133 se encuentra la confirmacin de importacin exitosa de la plantilla, y como ejemplo en la figura 134 se toma un host en este caso el WXP_HOST y se aade la plantilla que se import.

Figura 132. Ventana de configuracin, importar/exportar plantilla.

Figura 133. Plantilla exitosamente importada.

85

Figura 134. Plantilla importada seleccionada para Host.

4.7. CONFIGURACIN NOTIFICACIONES VA EMAIL Una de las funciones ms interesantes y tiles de Zabbix es la posibilidad de enviar mensajes de advertencia o alarma al correo electrnico, para su configuracin, primero se elige Administration, luego Media types y all se da clic en el botn Create Media Type como se muestra en la figura 135, en description simplemente se le da un nombre al nuevo elemento, este se llamara email2, en Type se escoge Email y se llenan los espacios de SMPT server y SMPT helo, en este caso se escoge que los reportes lleguen al correo electrnico corporativo, por lo cual como server y helo se escoge mail.santinisystemgroup.com y en el campo email se escribe la direccin de correo electrnico completa y se da clic en Save, el esta configuracin se puede observar en la figura 136.

Figura 135.Ventana Administration, Media types.

Figura 136. Configuracin de medio.

Una vez creado el elemento, se selecciona y se activa, en la figura 137 se encuentra la ventana de Media types y seleccionado el elemento que se creo, luego en la persiana inferior se escoge Actived Selected y se da clic en el Go. En la figura 138 se muestra la pantalla Administration en el submen Users, all se configura la opcin de correo para el usuario administrador, entonces en el listado se selecciona admin para ir a la ventana de configuracin del mismo. 86

Figura 137 Activacin elemento creado.

Figura 138. Ventana Administration, users.

En la ventana de configuracin del usuario Admin en el espacio Media se da clic en el botn Add, como se ve en la figura 139, esto despliega una ventana donde se configura el medio, en Type se escoge Email y en send to se vuelve a escribir la direccin de correo electrnico configurada anteriormente, se selecciona las opciones para todos los tipos de gravedad y se da clic en el botn Add, figura 140. En la figura 141 se puede observar el Medio creado, entonces se selecciona y se da clic en Save, con esto se finaliza la configuracin.

Figura 139. Ventana configuracin de usuario Admin.

87

Figura 140. Adicin de E-mail en configuracin de usuario.

Figura 141. Configuracin completa de servicio de email en usuario admin.

Por ltimo es necesario dar la orden de enviar los reportes obtenidos a los correos electrnicos ya configurados para el usuario administrador, esto se hace en el submen Actions de Configuration, esta pantalla se ve en la figura 142, entonces se da clic en el botn Create Actions. Seguido de esto en la parte de Action operations se da clic en new, figura 143. En la figura 144 se muestra la ventana que se despliega, en donde se configura la operacin a realizar, en Operation Type se selecciona enviar mensaje, en send message tose escoge single user y se da clic en el botn Select.

Figura 142. Ventana configuration, actions.

88

Figura 143. Configuracin de la accin que se va a crear.

Figura 144. Accin de enviar mensaje a email.

Despus de dar clic en Select, se despliega una ventana para elegir el usuario, se selecciona Admin (administrador), esto se observa en la figura 145. Luego, de regreso a la ventana de configuracin de las acciones se da clic en add y por ltimo se da clic en el botn Save como se muestra en las figuras 146 y 147 respectivamente.

Figura 145. Seleccin usuario Admin.

89

Figura 146. Adicin de la accin configurada.

Figura 147. Guardando accin creada.

En la figura 148 se muestra el aviso de creacin exitosa de la accin, ahora se va a verificar si se encuentra funcionando correctamente, para esto, en la ventana de eventos; la cual se accede seleccionando en el panel frontal monitoring, events; aparece un listado con los ltimos eventos, que son los ltimos disparos que los diferentes Triggers han tenido, en la figura 149 en el listado esta seleccionado el evento Inetd is not running on zabbix server, la fecha en que sucedi el evento fue en 12 de Julio de 2010 a las 20:13:35 horas, como se puede apreciar, se selecciona el evento, y en la figura 150 se pueden ver los detalles del mismo, all se encuentra el host en el que sucedi el evento, el Trigger que se disparo, la gravedad, el identificador del Trigger y las acciones que se tomaron, adems est la notificacin de envo de mensaje a las 20:13:41 en el mismo instante que ocurri el evento, solo unos segundos despus al correo santiago.martinez@santinisystemgroup.com.

Figura 148. Aviso creacin exitosa de la accin.

90

Figura 149. Listado de eventos.

Figura 150. Detalles del Trigger seleccionado.

Ahora, despus de ingresar al correo electrnico donde se envi la notificacin, figura 151, se puede apreciar que en la bandeja de entrada se encuentran diferentes correos provenientes de Zabbix alertando sobre problemas en este equipo, incluyendo el del evento visto anteriormente: Inet.d is not running on zabbix server, luego, se ingres al correo electrnico de este error el cual se puede ver en la figura 152.

Figura 151. Bandeja de entrada correo electrnico corporativo.

91

Figura 152. Correo de notificacin de fallo de Inetd.

De nuevo echando un vistazo a la lista de eventos se encuentra otro problema, POP3 server is down on zabbix server, figura 153; el evento sucedi 16 de Julio de 2010 a las 20:13:30 horas, lo seleccionamos y en la figura 154 se pueden ver los detalles del elemento, all podemos ver el host en el que sucedi el evento, el Trigger que se dispar, la gravedad, el identificador del Trigger y las acciones que se tomaron, se observa la notificacin de envo de mensaje a las 20:13:38 en al correo santiago.martinez@santinisystemgroup.com.

Figura 153. Lista de eventos, error en POP3

Figura 154. Detalles de evento de error en POP3.

Una vez ms al revisar el correo electrnico elegido, se puede comprobar que el mensaje llego a su destinatario alertando sobre la cada por alguna razn del servidor de POP3 en el host Zabbix server, figura 155. Estas alarmas son de vital importancia ya que son enviadas instantneamente, entonces la persona encargada del soporte en la empresa, al ver que hay una alerta, est a tiempo para ir a solucionar el problema antes de que se agrave o provoque daos en hardware o software.

92

Figura 155. Correo electrnico, notificacin de fallo en POP3.

93

5. DOFA DEBILIDADES Falta de experiencia. Necesidad de profundizar aun ms en el manejo de la herramienta. No se ha probado en ambientes ms grandes que exijan una mayor gestin.

OPORTUNIDADES Posibilidad de ingresar en un mercado que est en auge y en crecimiento. Necesidad de las empresas de usar herramientas de monitorizacin a medida que crece el tamao de la red y la demanda de recursos. Creciente demanda y uso de voz y datos en sistemas de comunicaciones.

FORALEZAS El proyecto tiene la ventaja de no tener un costo econmico elevado debido a ser basado sobre software libre. Aun siendo una aplicacin basada en Linux, su interfaz web es amigable y manejable. Innovacin del proyecto ya que la mayora de las compaas estn acostumbradas a comprar licencias de software patentado. Ganas de seguir adelante y espritu emprendedor.

AMENAZAS Posible competencia a medida que se valla popularizando aun ms el uso de herramientas de monitorizacin. Empresas con mayor solidez econmica y experiencia. Falta de confianza de muchas compaas que prefieren comprar software licenciado.

94

6. CONCLUSIONES La prevencin y la respuesta anticipada a problemas por medio de el monitoreo, son mecanismos que llevan a un control exitoso de una red. Con el desarrollo de nuevas tecnologas de comunicacin y su creciente uso por parte de empresas, los costos de mantenimiento de redes son muy altos, y es aqu donde las soluciones de monitoreo de las mismas ofrecen una salida viable para el control y solucin de inconvenientes; por estas razones el anlisis y monitoreo de redes se ha convertido en una de las actividades de vital importancia en las prioridades de las diferentes compaas. Montar una solucin de monitoreo eficaz y efectiva es una tarea que implica bastante dedicacin por parte del Ingeniero, la herramienta escogida, Zabbix, es un instrumento de alta calidad y factible econmicamente para su implementacin, ya que cuenta con una variedad de opciones y configuraciones que facilitan su uso, adems de ser un software libre lo que evita los costos de licenciamiento; los desarrollos sobre programas open source se convierten en una excelente opcin para el desarrollo de proyectos en ingeniera. Dada la creciente necesidad por parte de las empresas de usar mecanismos de monitorizacin que permitan dar un mejor manejo y gestin de la red y el hecho de que la herramienta escogida cuenta con diferentes caractersticas que le permiten ser rpida exacta y verstil y a su vez a bajo costo por no necesitar licencias para su manejo; convierte este proyecto en una importante oportunidad de negocio para ofrecerla a compaas de todos los sectores de la economa.

95

7. REFERENCIAS Y BIBLIOGRAFA [1] http://profesores.elo.utfsm.cl/~tarredondo/info/networks/Presentacion_snmp.pdf [2] http://es.wikipedia.org/wiki/GNU [3] http://www.gnu.org/gnu/gnu-history.html [4] http://es.gnu.org/~reneme/map/es/map-es-i-3000.png [5] http://www.gnu.org/philosophy/free-sw.html [6] http://www.gnu.org/licenses/gpl-faq.es.html#WhatDoesGPLStandFor [7] http://www.zabbix.com/es/licence.php [8] http://es.wikipedia.org/wiki/Linux [9] http://es.wikipedia.org/wiki/Distribuci%C3%B3n_GNU/Linux [10] http://es.wikipedia.org/wiki/Ubuntu [11] http://blog.e2h.net/2010/05/07/instalando-zabbix-la-ultima-solucion-de-monitorizacion-de-codigo-abierto/ [12] http://blog.e2h.net/acerca-de/ [13] http://gugs.sindominio.net/licencias/gples.html [14] Zabbix 1.8 Network Monitoring, monitor your networks hardware, servers and web performance effectively and efficiently. Richard Olups, ISBN 978-1-847197-68-9. Primera versin publicada en Abril del 2010 por Packt Publishing Ltd. [15] Redes de rea Local. Antonio Blanco Solsona, Jos Manuel Huidobro Moya, J. Jordn Calero, ISBN: 8497324897, 2007 [16] Redes Locales. Raya Cabrera, Jos Luis, Raya Gonzlez, ISBN: 8478976949, Editorial Ra-Ma, 2009. [17] Redes Linux con TCP/IP - Gua Avanzada. Eyler Pat, ISBN: 8420531561, Editorial Prentice Hall, 2001. [18] Redes de Computadoras. Tanenbaum Andrew S, ISBN: 9688809586, Editorial Prentice-Hall, 1998, Tercera Edicin. [19] The oficial Ubuntu book. Benjamin Mako Hill, Matthew Helmke, Corey Burguer, ISBN: 9780137081301, Prentice Hall, 5 edicin, Julio 1 de 2010. [20] Configuracin y administracin de servicios en GNU/Linux paso a paso, ISBN: 978-958-44-1616-2, Diego Jos Lus Botia Valderrama.

96

ANEXOS ANEXO 1
[5]Es

importante mencionar que la definicin de software libre se modifica a menudo para clarificarla. A continuacin, se proporciona una lista del resumen de dichas modificaciones. Versin 1.92: Aclarar que el cdigo fuente ofuscado no se puede considerar cdigo fuente. Versin 1.90: Aclarar que la 3 libertad significa el derecho a distribuir copias de sus propias versiones modificadas o mejoradas. No el derecho de participar en el proyecto de otro. Versin 1.89: La 3 libertad incluye el derecho a liberar versiones modificadas como software libre. Versin 1.80: La primera libertad debe ser prctica, no slo terica. Versin 1.77: Clarificacin acerca que todos los cambios retroactivos a la licencia son inaceptables, an si no representan reemplazos completos. Versin 1.74: Cuatro clarificaciones de puntos no del todo explcitos, o definidas en algunos lugares pero no reflejadas en todos: Mejoras no significa que la licencia puede limitar sustancialmente qu tipo de versiones modificadas puede publicar. La 3 libertad incluye la distribucin de versiones modificadas, no slo de los cambios. El derecho a fusionar mdulos existentes se refiere a aquellos que estn debidamente licenciados. Definicin explcita de la conclusin sobre los puntos de controles de exportacin. Imponer un cambio en la licencia constituye una revocacin de la antigua licencia. Versin 1.57: Agregada la seccin Ms all del software. Versin 1.46: Clarificar de quin es el propsito que importa en la libertad para ejecutar el programa para cualquier propsito. Versin 1.41: Clarificar definiciones sobre licencias basadas en contratos. Versin 1.40: Explicar que una licencia libre debe permitirle usar otro software libre disponible para crear sus modificaciones. Versin 1.39: Nota acerca que es aceptable para una licencia requerir proveer el cdigo fuente para versiones del software que ponga en uso pblico. Versin 1.31: Es aceptable para una licencia requerirle que se identifique como el autor de las modificaciones. Otras clarificaciones menores a lo largo del texto. Versin 1.23: Anotados problemas potenciales relacionados a licencias basadas en contratos. Versin 1.16: Explicar por qu la distribucin de los binarios es importante. Versin 1.11: Una licencia libre puede requerirle que enve una copia de las versiones modificadas al autor.

97

ANEXO 2
[13] LICENCIA

GNU GPL v2

GNU GENERAL PUBLIC LICENSE Versin 2, Junio de 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA Se permite la copia y distribucin de copias literales de este documento, pero no se permite su modificacin. Prembulo Las licencias que cubren la mayor parte del software estn diseadas para quitarle a usted la libertad de compartirlo y modificarlo. Por el contrario, la Licencia Pblica General de GNU pretende garantizarle la libertad de compartir y modificar software libre, para asegurar que el software es libre para todos sus usuarios. Esta Licencia Pblica General se aplica a la mayor parte del software del la Free Software Foundation y a cualquier otro programa si sus autores se comprometen a utilizarla. (Existe otro software de la Free Software Foundation que est cubierto por la Licencia Pblica General de GNU para Bibliotecas). Si quiere, tambin puede aplicarla a sus propios programas. Cuando hablamos de software libre, estamos refirindonos a libertad, no a precio. Nuestras Licencias Pblicas Generales estn diseadas para asegurarnos de que tenga la libertad de distribuir copias de software libre (y cobrar por ese servicio si quiere), de que reciba el cdigo fuente o que pueda conseguirlo si lo quiere, de que pueda modificar el software o usar fragmentos de l en nuevos programas libres, y de que sepa que puede hacer todas estas cosas. Para proteger sus derechos necesitamos algunas restricciones que prohban a cualquiera negarle a usted estos derechos o pedirle que renuncie a ellos. Estas restricciones se traducen en ciertas obligaciones que le afectan si distribuye copias del software, o si lo modifica. Por ejemplo, si distribuye copias de uno de estos programas, sea gratuitamente, o a cambio de una contraprestacin, debe dar a los receptores todos los derechos que tiene. Debe asegurarse de que ellos tambin reciben, o pueden conseguir, el cdigo fuente. Y debe mostrarles estas condiciones de forma que conozcan sus derechos. Protegemos sus derechos con la combinacin de dos medidas: 1. Ponemos el software bajo copyright y 2. le ofrecemos esta licencia, que le da permiso legal para copiar, distribuir y/o modificar el software. Tambin, para la proteccin de cada autor y la nuestra propia, queremos asegurarnos de que todo el mundo comprende que no se proporciona ninguna garanta para este software libre. Si el software se modifica por cualquiera y ste a su vez lo distribuye, queremos que sus receptores sepan que lo que tienen no es el original, de forma que cualquier problema introducido por otros no afecte a la reputacin de los autores originales. Por ltimo, cualquier programa libre est constantemente amenazado por patentes sobre el software. Queremos evitar el peligro de que los redistribuidores de un programa libre obtengan patentes por su cuenta,

98

convirtiendo de facto el programa en propietario. Para evitar esto, hemos dejado claro que cualquier patente debe ser pedida para el uso libre de cualquiera, o no ser pedida. Los trminos exactos y las condiciones para la copia, distribucin y modificacin se exponen a continuacin. Trminos y condiciones para la copia, distribucin y modificacin 1. Esta Licencia se aplica a cualquier programa u otro tipo de trabajo que contenga una nota colocada por el tenedor del copyright diciendo que puede ser distribuido bajo los trminos de esta Licencia Pblica General. En adelante, Programa se referir a cualquier programa o trabajo que cumpla esa condicin y trabajo basado en el Programa se referir bien al Programa o a cualquier trabajo derivado de l segn la ley de copyright. Esto es, un trabajo que contenga el programa o una porcin de l, bien en forma literal o con modificaciones y/o traducido en otro lenguaje. Por lo tanto, la traduccin est incluida sin limitaciones en el trmino modificacin. Cada concesionario (licenciatario) ser denominado usted. Cualquier otra actividad que no sea la copia, distribucin o modificacin no est cubierta por esta Licencia, est fuera de su mbito. El acto de ejecutar el Programa no est restringido, y los resultados del Programa estn cubiertos nicamente si sus contenidos constituyen un trabajo basado en el Programa, independientemente de haberlo producido mediante la ejecucin del programa. El que esto se cumpla, depende de lo que haga el programa. 2. Usted puede copiar y distribuir copias literales del cdigo fuente del Programa, segn lo has recibido, en cualquier medio, supuesto que de forma adecuada y bien visible publique en cada copia un anuncio de copyright adecuado y un repudio de garanta, mantenga intactos todos los anuncios que se refieran a esta Licencia y a la ausencia de garanta, y proporcione a cualquier otro receptor del programa una copia de esta Licencia junto con el Programa. Puede cobrar un precio por el acto fsico de transferir una copia, y puede, segn su libre albedro, ofrecer garanta a cambio de unos honorarios. 3. Puede modificar su copia o copias del Programa o de cualquier porcin de l, formando de esta manera un trabajo basado en el Programa, y copiar y distribuir esa modificacin o trabajo bajo los trminos del apartado 1, antedicho, supuesto que adems cumpla las siguientes condiciones: a. Debe hacer que los ficheros modificados lleven anuncios prominentes indicando que los ha cambiado y la fecha de cualquier cambio. b. Debe hacer que cualquier trabajo que distribuya o publique y que en todo o en parte contenga o sea derivado del Programa o de cualquier parte de l sea licenciada como un todo, sin carga alguna, a todas las terceras partes y bajo los trminos de esta Licencia. c. Si el programa modificado lee normalmente rdenes interactivamente cuando es ejecutado, debe hacer que, cuando comience su ejecucin para ese uso interactivo de la forma ms habitual, muestre o escriba un mensaje que incluya un anuncio de copyright y un anuncio de que no se ofrece ninguna garanta (o por el contrario que s se ofrece garanta) y que los usuarios pueden redistribuir el programa bajo estas condiciones, e indicando al usuario cmo ver una copia de esta licencia. (Excepcin: si el propio programa es interactivo pero normalmente no muestra ese anuncio, no se requiere que su trabajo basado en el Programa muestre ningn anuncio).

99

Estos requisitos se aplican al trabajo modificado como un todo. Si partes identificables de ese trabajo no son derivadas del Programa, y pueden, razonablemente, ser consideradas trabajos independientes y separados por ellos mismos, entonces esta Licencia y sus trminos no se aplican a esas partes cuando sean distribuidas como trabajos separados. Pero cuando distribuya esas mismas secciones como partes de un todo que es un trabajo basado en el Programa, la distribucin del todo debe ser segn los trminos de esta licencia, cuyos permisos para otros licenciatarios se extienden al todo completo, y por lo tanto a todas y cada una de sus partes, con independencia de quin la escribi. Por lo tanto, no es la intencin de este apartado reclamar derechos o desafiar sus derechos sobre trabajos escritos totalmente por usted mismo. El intento es ejercer el derecho a controlar la distribucin de trabajos derivados o colectivos basados en el Programa. Adems, el simple hecho de reunir un trabajo no basado en el Programa con el Programa (o con un trabajo basado en el Programa) en un volumen de almacenamiento o en un medio de distribucin no hace que dicho trabajo entre dentro del mbito cubierto por esta Licencia. 4. Puede copiar y distribuir el Programa (o un trabajo basado en l, segn se especifica en el apartado 2, como cdigo objeto o en formato ejecutable segn los trminos de los apartados 1 y 2, supuesto que adems cumpla una de las siguientes condiciones: a. Acompaarlo con el cdigo fuente completo correspondiente, en formato electrnico, que debe ser distribuido segn se especifica en los apartados 1 y 2 de esta Licencia en un medio habitualmente utilizado para el intercambio de programas, b. Acompaarlo con una oferta por escrito, vlida durante al menos tres aos, de proporcionar a cualquier tercera parte una copia completa en formato electrnico del cdigo fuente correspondiente, a un coste no mayor que el de realizar fsicamente la distribucin del fuente, que ser distribuido bajo las condiciones descritas en los apartados 1 y 2 anteriores, en un medio habitualmente utilizado para el intercambio de programas, c. Acompaarlo con la informacin que recibiste ofreciendo distribuir el cdigo fuente correspondiente. (Esta opcin se permite slo para distribucin no comercial y slo si usted recibi el programa como cdigo objeto o en formato ejecutable con tal oferta, de acuerdo con el apartado b anterior). Por cdigo fuente de un trabajo se entiende la forma preferida del trabajo cuando se le hacen modificaciones. Para un trabajo ejecutable, se entiende por cdigo fuente completo todo el cdigo fuente para todos los mdulos que contiene, ms cualquier fichero asociado de definicin de interfaces, ms los guiones utilizados para controlar la compilacin e instalacin del ejecutable. Como excepcin especial el cdigo fuente distribuido no necesita incluir nada que sea distribuido normalmente (bien como fuente, bien en forma binaria) con los componentes principales (compilador, kernel y similares) del sistema operativo en el cual funciona el ejecutable, a no ser que el propio componente acompae al ejecutable. Si la distribucin del ejecutable o del cdigo objeto se hace mediante la oferta acceso para copiarlo de un cierto lugar, entonces se considera la oferta de acceso para copiar el cdigo fuente del mismo lugar como distribucin del cdigo fuente, incluso aunque terceras partes no estn forzadas a copiar el cdigo fuente junto con el cdigo objeto.

100

5. No puede copiar, modificar, sublicenciar o distribuir el Programa excepto como prev expresamente esta Licencia. Cualquier intento de copiar, modificar sublicenciar o distribuir el Programa de otra forma es invlida, y har que cesen automticamente los derechos que te proporciona esta Licencia. En cualquier caso, las partes que hayan recibido copias o derechos de usted bajo esta Licencia no cesarn en sus derechos mientras esas partes continen cumplindola. 6. No est obligado a aceptar esta licencia, ya que no la ha firmado. Sin embargo, no hay hada ms que le proporcione permiso para modificar o distribuir el Programa o sus trabajos derivados. Estas acciones estn prohibidas por la ley si no acepta esta Licencia. Por lo tanto, si modifica o distribuye el Programa (o cualquier trabajo basado en el Programa), est indicando que acepta esta Licencia para poder hacerlo, y todos sus trminos y condiciones para copiar, distribuir o modificar el Programa o trabajos basados en l. 7. Cada vez que redistribuya el Programa (o cualquier trabajo basado en el Programa), el receptor recibe automticamente una licencia del licenciatario original para copiar, distribuir o modificar el Programa, de forma sujeta a estos trminos y condiciones. No puede imponer al receptor ninguna restriccin ms sobre el ejercicio de los derechos aqu garantizados. No es usted responsable de hacer cumplir esta licencia por terceras partes. 8. Si como consecuencia de una resolucin judicial o de una alegacin de infraccin de patente o por cualquier otra razn (no limitada a asuntos relacionados con patentes) se le imponen condiciones (ya sea por mandato judicial, por acuerdo o por cualquier otra causa) que contradigan las condiciones de esta Licencia, ello no le exime de cumplir las condiciones de esta Licencia. Si no puede realizar distribuciones de forma que se satisfagan simultneamente sus obligaciones bajo esta licencia y cualquier otra obligacin pertinente entonces, como consecuencia, no puede distribuir el Programa de ninguna forma. Por ejemplo, si una patente no permite la redistribucin libre de derechos de autor del Programa por parte de todos aquellos que reciban copias directas o indirectamente a travs de usted, entonces la nica forma en que podra satisfacer tanto esa condicin como esta Licencia sera evitar completamente la distribucin del Programa. Si cualquier porcin de este apartado se considera invlida o imposible de cumplir bajo cualquier circunstancia particular ha de cumplirse el resto y la seccin por entero ha de cumplirse en cualquier otra circunstancia. . No es el propsito de este apartado inducirle a infringir ninguna reivindicacin de patente ni de ningn otro derecho de propiedad o impugnar la validez de ninguna de dichas reivindicaciones. Este apartado tiene el nico propsito de proteger la integridad del sistema de distribucin de software libre, que se realiza mediante prcticas de licencia pblica. Mucha gente ha hecho contribuciones generosas a la gran variedad de software distribuido mediante ese sistema con la confianza de que el sistema se aplicar consistentemente. Ser el autor/donante quien decida si quiere distribuir software mediante cualquier otro sistema y una licencia no puede imponer esa eleccin. Este apartado pretende dejar completamente claro lo que se cree que es una consecuencia del resto de esta Licencia. 9. Si la distribucin y/o uso de el Programa est restringida en ciertos pases, bien por patentes o por interfaces bajo copyright, el tenedor del copyright que coloca este Programa bajo esta Licencia puede aadir una limitacin explcita de distribucin geogrfica excluyendo esos pases, de forma que la distribucin se permita slo en o entre los pases no excluidos de esta manera. En ese caso, esta Licencia incorporar la limitacin como si estuviese escrita en el cuerpo de esta Licencia.

101

10. La Free Software Foundation puede publicar versiones revisadas y/o nuevas de la Licencia Pblica General de tiempo en tiempo. Dichas nuevas versiones sern similares en espritu a la presente versin, pero pueden ser diferentes en detalles para considerar nuevos problemas o situaciones. Cada versin recibe un nmero de versin que la distingue de otras. Si el Programa especifica un nmero de versin de esta Licencia que se refiere a ella y a cualquier versin posterior, tienes la opcin de seguir los trminos y condiciones, bien de esa versin, bien de cualquier versin posterior publicada por la Free Software Foundation. Si el Programa no especifica un nmero de versin de esta Licencia, puedes escoger cualquier versin publicada por la Free Software Foundation. 11. Si quiere incorporar partes del Programa en otros programas libres cuyas condiciones de distribucin son diferentes, escribe al autor para pedirle permiso. Si el software tiene copyright de la Free Software Foundation, escribe a la Free Software Foundation: algunas veces hacemos excepciones en estos casos. Nuestra decisin estar guiada por el doble objetivo de de preservar la libertad de todos los derivados de nuestro software libre y promover el que se comparta y reutilice el software en general. AUSENCIA DE GARANTA 12. Como el programa se licencia libre de cargas, no se ofrece ninguna garanta sobre el programa, en toda la extensin permitida por la legislacin aplicable. Excepto cuando se indique de otra forma por escrito, los tenedores del copyright y/u otras partes proporcionan el programa tal cual, sin garanta de ninguna clase, bien expresa o implcita, con inclusin, pero sin limitacin a las garantas mercantiles implcitas o a la conveniencia para un propsito particular. Cualquier riesgo referente a la calidad y prestaciones del programa es asumido por usted. Si se probase que el Programa es defectuoso, asume el coste de cualquier servicio, reparacin o correccin. 13. En ningn caso, salvo que lo requiera la legislacin aplicable o haya sido acordado por escrito, ningn tenedor del copyright ni ninguna otra parte que modifique y/o redistribuya el Programa segn se permite en esta Licencia ser responsable ante usted por daos, incluyendo cualquier dao general, especial, incidental o resultante producido por el uso o la imposibilidad de uso del Programa (con inclusin, pero sin limitacin a la prdida de datos o a la generacin incorrecta de datos o a prdidas sufridas por usted o por terceras partes o a un fallo del Programa al funcionar en combinacin con cualquier otro programa), incluso si dicho tenedor u otra parte ha sido advertido de la posibilidad de dichos daos. FIN DE TRMINOS Y CONDICIONES Apndice: Cmo aplicar estos trminos a sus nuevos programas. Si usted desarrolla un nuevo Programa, y quiere que sea del mayor uso posible para el pblico en general, la mejor forma de conseguirlo es convirtindolo en software libre que cualquiera pueda redistribuir y cambiar bajo estos trminos. Para hacerlo, aada los siguientes anuncios al programa. Lo ms seguro es aadirlos al principio de cada fichero fuente para transmitir lo ms efectivamente posible la ausencia de garanta. Adems cada fichero debera tener al menos la lnea de copyright y un indicador a dnde puede encontrarse el anuncio completo. <una lnea para indicar el nombre del programa y una rpida idea de qu hace> Copyright (C) 19aa <nombre del autor> 102

Este programa es software libre. Puede redistribuirlo y/o modificarlo bajo los trminos de la Licencia Pblica General de GNU segn es publicada por la Free Software Foundation, bien de la versin 2 de dicha Licencia o bien (segn su eleccin) de cualquier versin posterior. Este programa se distribuye con la esperanza de que sea til, pero SIN NINGUNA GARANTA, incluso sin la garanta MERCANTIL implcita o sin garantizar la CONVENIENCIA PARA UN PROPSITO PARTICULAR. Vase la Licencia Pblica General de GNU para ms detalles. Debera haber recibido una copia de la Licencia Pblica General junto con este programa. Si no ha sido as, escriba a la Free Software Foundation, Inc., en 675 Mass Ave, Cambridge, MA 02139, EEUU. Aada tambin informacin sobre cmo contactar con usted mediante correo electrnico y postal. Si el programa es interactivo, haga que muestre un pequeo anuncio como el siguiente, cuando comienza a funcionar en modo interactivo: Gnomovision versin 69, Copyright (C) 19aa nombre del autor Gnomovision no ofrece ABSOLUTAMENTE NINGUNA GARANTA. Para ms detalles escriba show w. Los comandos hipotticos show w y show c deberan mostrar las partes adecuadas de la Licencia Pblica General. Por supuesto, los comandos que use pueden llamarse de cualquier otra manera. Podran incluso ser pulsaciones del ratn o elementos de un men (lo que sea apropiado para su programa). Tambin deberas conseguir que su empleador (si trabaja como programador) o tu Universidad (si es el caso) firme un renuncia de copyright para el programa, si es necesario. A continuacin se ofrece un ejemplo, altere los nombres segn sea conveniente: Yoyodyne, Inc. mediante este documento renuncia a cualquier inters de derechos de copyright con respecto al programa Gnomovision (que hace pasadas a compiladores) escrito por Pepe Programador. <firma de Pepito Grillo>, 20 de diciembre de 1996 Pepito Grillo, Presidente de Asuntillos Varios. Esta Licencia Pblica General no permite que incluya sus programas en programas propietarios. Si su programa es una biblioteca de subrutinas, puede considerar ms til el permitir el enlazado de aplicaciones propietarias con la biblioteca. Si este es el caso, use la Licencia Pblica General de GNU para Bibliotecas en lugar de esta Licencia.

NOTA IMPORTANTE: Esta es una traduccin no oficial al espaol de la GNU General Public License. No ha sido publicada por la Free Software Foundation, y no establece legalmente las condiciones de distribucin para el software que usa la GNU GPL. Estas condiciones se establecen solamente por el texto original, en ingls, de la GNU GPL. Sin embargo, esperamos que esta traduccin ayude a los hispanohablantes a entender mejor la GNU GPL.

103

Das könnte Ihnen auch gefallen