You are on page 1of 48

Trabajo de monitoreo

Por:

Carolina Guzmán Rodríguez

Wilinton Acevedo Rueda

Yessenia Duque

Instructor:

Camilo Andrés Zapata Torres

Servicio Nacional de Aprendizaje (SENA)

Medellín - Colombia

Año 2011

Introducción
Hoy día con la creación de software de monitoreo hacen más factible y
fácil la función de un administrador de redes en cuanto al visualizar el
comportamiento de todos los dispositivos, equipos y servicios que se
encuentran pegados a la red; con este trabajo se quiere dar a conocer la
forma como se instala y configura un servidor de monitoreo que se lleva
a cabo en una máquina virtual bajo la plataforma de Fedora 14,
utilizando así Zabbix que es un software libre bajo los términos de GNU,
está diseñado para monitorear y rastrear posibles fallos en la red, utiliza
bases de datos como mysql para almacenar todos los datos necesarios.

Palabras claves
1. Monitoreo: es un término que describe el uso de un sistema que
constantemente monitoriza (visualiza y está al tanto) una red de
computadoras, dispositivos y servicios que corren por la red, se
encarga de buscar componentes defectuosos o lentos, para luego
informar a los administradores de redes mediante correo electrónico, de
lo que está pasando en la red.

2. Base de datos: También conocida como Database, la base de datos es


un conjunto de información que está almacenada en forma sistemática,
de manera tal que los datos que la conforman puedan ser utilizados en
forma fragmentada cuando sea necesario.
Los datos almacenados pueden ser muy diversos: nombres, números
telefónicos, direcciones, años, etc. Todo depende de la finalidad para la
que sea armada la base.

3. Esquema de base de datos: Para crear el modelo de objetos de datos


se debe traducir el modelo relacional de la base de datos a un modelo
de objetos de datos. Para realizar ese mapeo o traducción, el ORM
necesita una descripción del modelo relacional, que se llama "esquema"
(schema). En el esquema se definen las tablas, sus relaciones y las
características de sus columnas.

4. Script: es un programa usualmente simple, que por lo regular se


almacena en un archivo de texto plano. Los script son casi siempre
interpretados, pero no todo programa interpretado es considerado un
script.
Los scripts son un conjunto de instrucciones generalmente almacenadas
en un archivo de texto que deben ser interpretados línea a línea en
tiempo real para su ejecución, se distinguen de los programas, pues
deben ser convertidos a un archivo binario ejecutable para correrlos.
Los scripts pueden estar embebidos en otro lenguaje para aumentar las
funcionalidades de este, como es el caso los scripts PHP o Javascript en
código HTML.

5. Mysql: (My Structured Query Language o Lenguaje de Consulta


Estructurado) es un sistema de gestión de base de datos relacional,
multihilo y multiusuario, que se ejecuta como un servidor. El SQL frase
significa Lenguaje de consulta estructurado. Una de las características
más interesantes de MySQL es que permite recurrir a bases de datos
multiusuario a través de la web y en diferentes lenguajes de
programación que se adaptan a diferentes necesidades y
requerimientos.
6. Php: (PHP Hypertext Pre-processor). Lenguaje de programación usado
generalmente en la creación de contenidos para sitios web. Es un
lenguaje interpretado especialmente usado para crear contenido
dinámico web y aplicaciones para servidores ya que suele utilizarse en
interpretación del lado del servidor aunque también puede usarse desde
una interfaz de línea de comandos y para la creación de otros tipos de
programa.
7. Httpd (servidor Apache): Servidor web de distribución libre y de
código abierto, el servidor Apache se desarrolla dentro del proyecto
HTTP Server (httpd) de la Apache Software Foundation. (HTTP daemon).
Programa que corre de fondo en un servidor web y espera peticiones de
entrada para responderles.

8. SNMP: (Simple Network Management Protocol - Protocolo simple de


administración de red). Protocolo que permite supervisar, analizar y
comunicar información de estado entre una gran variedad de hosts,
pudiendo detectar problemas y proporcionar mensajes de estados.
Forma parte de una suite de protocolos de internet definidos por la IETF.
Se utiliza para monitorear los dispositivos adjuntados a una red,
supervisando el desempeño de la red, y buscar y resolver problemas.
SNMP consiste de un conjunto de estándares para la administración de
redes, incluyendo un protocolo de capa de aplicación, un esquema de
base de datos y un conjunto de objetos de datos.
Las versiones más utilizadas son SNMPv1 y SNMPv2. La versión 3
(SNMPv3) posee cambios importantes con respecto a sus predecesoras,
especialmente en la seguridad.

9. Zabbix: es un sistema de gestión de red creado por Alexei Vladishev.


Está diseñado para monitorear y rastrear el estado de varios servicios
de red , servidores y otros equipos de red .
Utiliza MySQL , PostgreSQL , SQLite , Oracle o IBM DB2 para almacenar
datos. Su servidor está escrito en C y la interfaz web está escrito en PHP
. Zabbix ofrece varias opciones de monitoreo. controles simples pueden
comprobar la disponibilidad y capacidad de respuesta de los servicios
estándar, como SMTP o HTTP sin necesidad de instalar ningún software
en el host monitoreado. Un Zabbix agente también se puede instalar en
UNIX y Windows hosts para supervisar las estadísticas, tales como carga
de la CPU, utilización de la red, espacio en disco, etc.
Distribuido bajo los términos de la versión 2 de la GNU General Public
License , Zabbix es software libre .

10.Código fuente: (Source code, code base). Texto escrito en un


lenguaje de programación específico y que puede ser leído por un
programador. Debe traducirse a lenguaje máquina para que pueda ser
ejecutado por la computadora o a bytecode para que pueda ser
ejecutado por un intérprete. Este proceso se denomina compilación.
Acceder al código fuente de un programa significa acceder a los
algoritmos desarrollados por sus creadores. Es la única manera de
modificar eficaz y eficientemente un programa.
Liberar un código fuente significa compartir ese texto con cualquier
persona que lo desee, esto implica que cualquiera puede analizarlo,
copiarlo o modificarlo. Las aplicaciones que liberan sus códigos suelen
ser gratuitas bajo licencia GNU. La liberación de un código de un
programa implica ciertos riesgos en cuando a la seguridad del mismo,
pues su funcionamiento exacto queda expuesto. El código fuente no
suele liberarse para las aplicaciones comerciales y no puede obtenerse
el código fuente original a través de los programas ya compilados.

11.DBName: nombre de la base de datos

12.DBUser: usuario de la base de datos.

13.DBPassword: contraseña para acceder a la base de datos.

14.Protocolo: un protocolo es un conjunto de reglas usadas por


computadoras para comunicarse unas con otras a través de una red. Un
protocolo es una regla o estándar que controla o permite la
comunicación en su forma más simple, un protocolo puede ser definido
como las reglas que dominan la sintaxis, semántica y sincronización de
la comunicación.

15.Puerto de red: Interfaz para comunicar programa a través de una red.

16.Puerto de datos: interfaz por la cual pueden enviarse o recibirse


datos. Esa interfaz puede ser física o de software (puerto de navegación
http, puerto de IRC, etc.).
En tanto, los puertos físicos pueden ser: puerto serial, puerto paralelo,
puerto USB, puerto AGP, puerto PS/2, puerto ISA, puerto PCI, puerto de
memoria, slot, etc.

17.Firewall: (contrafuego) es una parte de un sistema o una red que


está diseñada para bloquear el acceso no autorizado, permitiendo al
mismo tiempo comunicaciones autorizadas. Se trata de un dispositivo o
conjunto de dispositivos configurados para permitir, limitar, cifrar,
descifrar, el tráfico entre los diferentes ámbitos sobre la base de un
conjunto de normas y otros criterios.
Los cortafuegos pueden ser implementados en hardware o software, o
una combinación de ambos. Los cortafuegos se utilizan con frecuencia
para evitar que los usuarios de Internet no autorizados tengan acceso a
redes privadas conectadas a Internet, especialmente intranets.

18.SElinux: (Seguridad Enhanced LINUX - Seguridad Mejorada de


Linux)) Una versión segura de Linux originalmente especificado por la
Agencia de Seguridad Nacional (NSA) y que se convirtió en norma desde
la versión 2.6 del kernel de Linux en 2003. SELinux utiliza Linux Security
Modules (LSM), que permite a Linux para facilitar el acceso controles
obligatorios. Ver control de acceso obligatorio y Linux.
Es una característica de seguridad de Linux que provee una variedad de
políticas de seguridad, incluyendo el estilo de acceso a los controles del
Departamento de Defensa de Estados Unidos, a través del uso de
módulos de Seguridad en el núcleo Linux. No es una distribución de
Linux, sino un set de modificaciones que puede ser aplicado a un
sistema Tipo-Unix como Linux y BSD.

19.NMS: Un NMS ejecuta aplicaciones que supervisan y controlan a los


dispositivos administrados. Los NMS’s proporcionan el volumen de
recursos de procesamiento y memoria requeridos para la administración
de la red. Uno o más NMS’s deben existir en cualquier red administrada.

20.MIB: Una Base de Información de Administración (MIB) es una colección


de información que está organizada jerárquicamente. Las MIB’s son
accedidas usando un protocolo de administración de red, como por
ejemplo, SNMP.
INSTALACION Y CONFIGURACION PLATAFORMA DE MONITOREO
ZABBIX

Antes de todo debemos descargar el paquete que contiene el código


fuente de la plataforma, este lo descargamos del siguiente URL
http://linux.software.hispavista.com/n58212-zabbix-1-8-4-1-9-3-alpha/, la
versión de zabbix que utilizamos es zabbix 1.8.4 / 1.9.3 Alpha.

1. Procedemos a instalar un servidor LAMP para que nuestra


aplicación que nos ayudara a monitorear este instalada.
Los paquetes que debemos instalar para eso son.

• El siguiente paso a seguir es instalar las librerías del snmp y los


compiladores necesarios.

• Todo lo vamos hacer vía consola con el fin de que si lo hacemos


gráficamente habrían muchos huecos en el aprendizaje de este
método de monitoreo, bueno sin salirnos del tema lo que vamos
hacer es crear la base de datos para eso entramos a MySQL , en la
siguiente ruta.

NOTA: MySQL por el momento no tiene contraseña de administrador o


“root”, para que le puedas colocar la contraseña debes reiniciarlo y
después de esto te dice la opción de cómo lo debes hacer, en la
siguiente imagen te mostrara como.

• Listo lo que vamos hacer es crearle la base de datos a nuestra


herramienta que nos ayudara a monitoreo desde el interprete de
comandos de mysql, para esto debemos entrar a mysql de la
siguiente forma.

➢ Entramos a la base de datos primero.


• Bueno ahora con el siguiente comando creamos la base datos para
nuestra herramienta Zabbix.

• Ahora vamos a descargar y descomprimir nuestra aplicación.


Esta ya la he descargado lo me falta hacer es descomprimirla.

• El paso siguiente es agregar el “esquema” o la aplicación en mysql


para poder agregar a la base de datos la información de la
herramienta a tal base.
Para esto nos debemos ubicar en la carpeta create/schema del
archivo que descomprimimos.
• Importamos el archivo mysql.sql que lo necesita mysql.

• También el archivo data.sql

• El archivo images_my sql-sql.

• Ejecutamos el scrpt de configuración e instalamos el servidor


zambbix con su agente.
• Ejecutamos el scrip de instalación con el siguiente comando.
• Lo que vamos hacer es crear el directorio principal de zabbix y un
usuario en el sistema
➢ Mkdir: este comando se utiliza para crear un directorio

➢ Useradd: lo utilizamos para crear un usuario en la maquina


local
• Con el comando less /etc/passwd lo que hacemos es mirar los
usuarios del sistema y verificamos que nuestro usuario si fue
creado con éxito, nos salimos de esta apretando Q

• Luego copiamos los archivos de configuración de zabbix ubicados


en el directorio /etc/zabbix/

• Luego con un editor de textos en este caso vim abrimos el archivo


zabbix_server.conf

• En este archivo vamos a verificar si el nombre de nuestra base de


datos creada en el paso anterior es zabbix
• También verificamos la línea DBUser para el usuario de mysql

• Y por ultimo verificamos que la línea DBPassword contenga el


password que le asignamos en un paso anterior al mysql.

• Otro paso que hay que hacer es copiar el directorio php que
contiene los archivos propios de la interfaz web de la plataforma
de monitoreo zabbix, con el siguiente comando.

• En el archivo /etc/services verificamos si las siguientes líneas de


zabbix están agregadas, sino lo están dentro de todo el archivo
procedemos a agregarlas, en mi caso ya estaban agregadas.
#vim /etc/services

• Editamos el archivo del agente de monitoreo que se encuentra en


la siguiente ruta /etc/zabbix/zabbix_agentd.conf

#vim /etc/zabbix/zabbix_agentd.conf
Buscamos la línea server en donde establece la dirección IP del
servidor donde está corriendo zabbix, colocamos ahí la dirección IP
de la interfaz de red o también se puede colocar la dirección de
loopback
• Pasamos a la configuración de los scrips de inicio del servidor
zabbix y el agente zabbix, para ello copiamos los ficheros
zabbix_server y zabbix_agentd que se encuentran en
misc/init.d/fedora/core5/, los copiamos al directorio /etc/init.d/

• Copiamos los archivos de el zabbix a la ruta /etc/init.d.


• Editamos el fichero tanto del /etc/init.d/zabbix_agentd, como
/etc/init.d/zabbix_server y buscamos la línea ZABBIX_BIN,
indicamos la ruta correcta /usr/local/zabbix_agentd

• Ahora si reiniciamos nuestro servidor y agente zabbix.

• Si al ejecutar los scrips de inicio del servidor y el agente nos


muestra algún error podemos verificar los logs que están ubicados
en el directorio /tmp/zabbix_server.log y /tmp/zabbix_agentd.log
Reiniciamos nuestro apache.

• Bueno ahora lo que vamos hacer es configurar la seguridad de


nuestra maquina, ósea que estamos hablando de nuestro firewall,
esto en este caso lo haremos gráficamente porque si lo hacemos
por comandos nos desviariaríamos del tema y te confundirías un
poco, es solo para que el firewall nos permita las capturas snmp.

NOTA: Estamos en una práctica de laboratorio así que por buena


comodidad es mejor configurar bien los métodos de seguridad en vez de
desahablitarlo.

Escribiendo el comando system-config-firewall, nos abrirá una consola


grafica fácil de manejar para la configuración rápida del firewall.

• Nuestro paso a seguir es ya después de estar en la consola grafica


de administración del firewall, daremos click en el botón disable
para desactivar el firewall y poder así realizar nuestros cambios.
• Luego en aplicar nos debe salir esta notificación que dice que si
queremos continuar para así modificar la forma de nuestro
firewall, le damos click en yes para continuar.

• Ahora como el selinux en algunos casos nos pone problema para


las configuraciones que realicemos también lo apagaremos.

Con la siguiente ruta y con el editor de texto que prefieras


/etc/selinux/config/ buscaremos la línea SELINUX=, para desactivar
nuestro selinux escribimos disabled.
• Debemos comentar la función bcscale que se encuentra en el
fichero que se encuentra en
/var/www/html/zabbix/include/defines.inc.php, para evitar errores
en el servidor apache

• Reiniciamos nuestro apache y efectivamente nuestros cambios


están bien.
• Necesitamos instalar la plataforma de monitoreo de zabbix, para
ello necesitamos abrir el navegador web y editamos la URL:
http://localhost/zabbix y automáticamente nos debe de abrir el
asistente de instalación de la plataforma, le damos Next>
• Luego aceptamos los acuerdos de la licencia y siguiente
• En el siguiente paso el asistente chequea de que todos los
requisitos para la instalación se cumplan correctamente, en la
siguiente imagen vemos que no todos cumplen por ello toca
solucionarlo antes de pasar el siguiente paso.
• Para ello vamos l archivo de configuración del PHP que se
encuentra en la siguiente ruta, lo abrimos con un editor de texto
en este caso será vim.

• Vamos al la línea Memory_limit (limite de memoria) en donde


le indicamos que va a tener un valor de 256 M

• En la línea post_max_size (tamaño máximo de POST) le


indicamos 32 M
• En la linea upload_max_filesize (tamaño maximo de archivos
de descarga) especificamos que tiene un valor de 32 M

• En la línea max_execution_time (tiempo máximo de


ejecución)
• En la linea max_input_time (tiempo máximo de entrada)

• La línea date.timezone (especifica la zona horaria)


Guardamos los cambios con ESC:wq! o también ESC:X

• Tambien nos falta instalar unos paquetes requridos por Zabbix, los
cuales son

• Después de instalar los paquetes reiniciamos el servidor WEB


• Actualizamos nuestro navegador para que tome los cambios
realizados de lo que faltaba, vemos que casi todo está ok, excepto
el PHP MB string
• Entonces para solucionar este problema lo que hacemos es buscar
la versión de este paquete utilizando yum search, luego
instalamos la versión correspondiente
• Volvemos a actualizar la página y vemos que todo está bien, le
damos Next>
• Nos aparece que no tiene conexión con el mysql y nos dice fail

• Por ello necesitamos reiniciar el servicio de mysql con el siguiente


comando
• Volvemos a el navegador web y nos muestra que el error ya a sigo
corregido en OK, luego nos indica que ingresemos la configuración
para la configuración de la base de datos.
– Qué tipo de base de datos estamos utilizando
– La ubicación de la base de datos
– El puerto de la base de datos
– El usuario administrador
– Y el password que le asignamos

Luego de agregar todos estos datos le damos click en el botón


Test Connection para verificar que la configuración es correcta,
si este muestra un error toca organizarlo antes de pasar a la otra
fase.
• Después configuramos los detalles del servidor Zabbix,
– El Host indicamos la dirección del servidor o el nombre
– El Port indica el número del puerto por donde va a correr el
servidor Zabbix.
– El Name indicamos el nombre
• En la siguiente imagen nos muestra un resumen de lo que
configuramos, esta pantalla solo es de información para verificar
los parámetros que le asignamos, luego click en Next.
• Ya para finalizar el proceso de instalación debemos descargar y
guardar el archivo de configuración y la tenemos que almacenar
en el directorio /var/www/html/conf/, reemplazándolo por el
existente, para guardarlo le damos click en Save configuration
file

• Le damos en save file y luego en ok para guardarlo


• Nos paramos en el lugar en donde quedo la descarga del archivo y
hacemos una copia de este al directorio establecido.

• Luego volvemos al navegador y le damos click en Retry para


cargar la configuración
• Nos carga la configuración correcta y le damos en Next
• Ya hemos terminado y completado la instalación de la plataforma
de Zabbix y para terminar solo le damos click en Finish
• Probando a Zabbix
lo que debemos hacer es abril el navegador de internet y
editamos la URL:
http://localhost/zabbix, automáticamente nos debe pedir el
usuario y contraseña para logiarnos.
• Ya después de loguearnos y entrar en la plataforma como tal, existe una
opción Profile, ubicada en la parte superior derecha de la pantalla en
donde podemos cambiar la configuración (Idioma, tema).
Vamos a configurar la plataforma de modo que monitoree el servidor
zabbix, para ello le damos click en la pestaña configuración y luego en
Equipos, en esta parte podemos ver los equipos que tenemos agregados
a la plataforma, hasta el momento solo vemos uno que es el servidor
zabbix, el estado del servidor es No monitorizado, luego hacemos click
en este mensaje y automáticamente nos aparece una venta emergente
preguntando si queremos habilitarlo, solo debemos hacer click en OK y
automáticamente estará habilitado el servidor para su monitoreo.
• Para continuar lo que necesitamos hacer es agregar un nuevo equipo a
Zabbix, en este caso agregamos el servidor que está bajo la plataforma
de Centos en donde se monitoreara el servidor de correo, para ello nos
ubicamos en la pestaña Configuración - Equipos y le damos click en el
botón Crear equipo, ubicado en la parte superior de la ventana como lo
muestra la imagen.
• Debemos configurar los parámetros necesarios para que se pueda dar la
conexión entre el servidor Zabbix y el agente instalado en cada uno de
los equipos que se necesite monitorear.
Parámetros como:
– Nombre: Nombre del equipo
– Grupos: grupo al cual pertenecerá el equipo
– Nuevo Grupo: En caso de que desee crear un nuevo grupo
– Nombre DNS: FQDN del equipo (opcional)
– Dirección IP: Dirección ip del equipo
– Conectado a: Esta opción debe de estar en Dirección IP
– Zabbix Agent port: Puerto de comunicación del agente (10050)
– Monitored by proxy: En caso de que se monitoree atreves de
servidor proxy
– Estado: Estado del equipo (Monitorizado)
• Luego lo que debemos hacer es elegir la plantilla que vamos a utilizar
para monitorear nuestro equipo, recordemos que la plantilla varía según
el tipo de sistema operativo o del tipo de dispositivo que se va a
monitorear. Para elegir la plantilla le damos click en el botón Añadir

• Automáticamente se nos abre una ventana en la cual podemos elegir la


plantilla a utilizar, le damos click en la pestaña Grupo – Templates,
para que nos muestre las plantillas.
• Buscamos la plantilla Linux (Template Linux), la chuleamos y le
damos click en seleccionar
• Después de haber agregado la plantilla lo que debemos hacer es
guardarla para ya tener agregada la maquina en Centos
• También debemos de agregar otro equipo a la plataforma de monitoreo,
este equipo es un servidor DNS que implementa Windows Server 2008
nos ubicamos en configuración - equipos y crear equipo, repetimos
el mismo proceso hasta llegar a la plantilla en donde escogemos
Template Windows y para ello también debemos de configurar los
parámetro necesarios para que exista una conexión con el zabbix lo que
hacemos es hacer el mismo paso para agregar la plantilla.
• Ya por ultimo guardamos y verificamos que toda la información que
agregamos este de forma correcta.

You might also like