meta data de esta página
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previa | |||
aplicaciones:zabbix [2014/01/08 17:12] – editor externo 127.0.0.1 | aplicaciones:zabbix [2014/01/08 19:04] (actual) – borrado lc | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
- | ===== Zabbix 1.8 ===== | ||
- | {{tag> Zabbix monitorización}} | ||
- | Zabbix es un programa para la monitorización de redes | ||
- | \\ Autor: Javier Arencibia Díaz | ||
- | \\ Correo: arencibia88@hotmail.com | ||
- | |||
- | |||
- | ===== 1.INSTALACION ZABBIX 1.8 ===== | ||
- | |||
- | - Instalamos los paquetes que necesitaremos: | ||
- | |||
- | < | ||
- | # yum install zlib-devel mysql-devel glibc-devel curl-devel gcc automake mysql libidn-devel openssl-devel net-snmp-devel rpm-devel OpenIPMI-devel | ||
- | |||
- | </ | ||
- | |||
- | - Obtenemos los source de zabbix: | ||
- | |||
- | < | ||
- | # wget http:// | ||
- | # wget http:// | ||
- | </ | ||
- | |||
- | - Instalamos: | ||
- | < | ||
- | # rpm -ivh iksemel-1.3-1.el5.rf.i386.rpm | ||
- | # rpm -ivh iksemel-devel-1.3-1.el5.rf.i386.rpm | ||
- | </ | ||
- | |||
- | - Dependencias: | ||
- | < | ||
- | # wget http:// | ||
- | |||
- | </ | ||
- | - Descomprimimos: | ||
- | < | ||
- | # gunzip zabbix-1.8.1.tar.gz && tar -xvf zabbix-1.8.1.tar | ||
- | </ | ||
- | - Entramos y creamos configuración: | ||
- | < | ||
- | # cd zabbix-1.8.1 | ||
- | </ | ||
- | < | ||
- | # ./configure --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl --with-openipmi --enable-agent | ||
- | |||
- | </ | ||
- | |||
- | < | ||
- | < | ||
- | Enable server: | ||
- | With database: | ||
- | WEB Monitoring via: cURL | ||
- | Native Jabber: | ||
- | SNMP: net-snmp | ||
- | IPMI: openipmi | ||
- | Enable agent: | ||
- | </ | ||
- | - Ejecutamos " | ||
- | < | ||
- | # make | ||
- | </ | ||
- | |||
- | No usaremos el comando "make install", | ||
- | |||
- | - Esto nos da la ventaja de ser capaz de desinstalar de nuevo con zabbix rpm. Procedemos a instalarlo ya que no se encuentra en los repositorios de Centos. | ||
- | |||
- | < | ||
- | # rpm -ivh checkinstall-1.6.0-3.el5.rf.i386.rpm | ||
- | # yum install rpm-build | ||
- | </ | ||
- | |||
- | - Usamos el comando checkinstall: | ||
- | < | ||
- | # cd zabbix-1.8.1 | ||
- | # checkinstall --nodoc --install=yes -y | ||
- | </ | ||
- | |||
- | Ya que estamos en Centos elegiremos la opción [R]: | ||
- | |||
- | {{: | ||
- | |||
- | - Si todo ha salido bien tendríamos que ver el siguiente mensaje: | ||
- | < | ||
- | ********************************************************************** | ||
- | Done. The new package has been installed and saved to | ||
- | / | ||
- | You can remove it from your system anytime using: | ||
- | rpm -e zabbix-1.8.1-1 | ||
- | ********************************************************************** | ||
- | </ | ||
- | Ya esta instalado Zabbix en el PC. | ||
- | |||
- | ===== 2.CREANDO BASE DE DATOS MYSQL ===== | ||
- | |||
- | - Comprobamos estado de MySQL: | ||
- | < | ||
- | # service mysqld status | ||
- | </ | ||
- | - Iniciamos: | ||
- | < | ||
- | # service mysqld start | ||
- | </ | ||
- | - Si esta es la primera vez que iniciamos MySQL, probablemente tendrás un mensaje que indica que el root no tiene contraseña. | ||
- | Cambiamos la contraseña para root: | ||
- | < | ||
- | # mysqladmin –u root password ‘nueva_contraseña_aquí’ | ||
- | </ | ||
- | - Usaremos el siguiente comando para hacer una instalación segura de MySQL: | ||
- | < | ||
- | # mysql_secure_installation | ||
- | </ | ||
- | |||
- | 1º Nos pide la contraseña de root. | ||
- | |||
- | 2º Nos pide que si queremos cambiar la contraseña de root. | ||
- | |||
- | 3º Nos pide que si queremos quitar el usuario anónimo. | ||
- | |||
- | 4º Nos dice que si queremos prohibir el logueo de root remotamente. | ||
- | |||
- | 5º Nos dice que si queremos quitar la base de datos " | ||
- | |||
- | 6º Nos pide que si queremos actualizar los privilegios ahora. | ||
- | |||
- | - Conectamos con la base de datos: | ||
- | < | ||
- | # mysql -u root -p | ||
- | </ | ||
- | - Cuando introduzcamos la contraseña crearemos una base de datos con el siguiente comando: | ||
- | < | ||
- | mysql> create database zabbix character set utf8; | ||
- | </ | ||
- | - Aplicamos privilegios: | ||
- | < | ||
- | mysql> grant all privileges on zabbix.* to ‘zabbix‘@‘localhost‘ identified by ‘establecer_contraseña_aqui‘; | ||
- | |||
- | </ | ||
- | < | ||
- | mysql> quit; | ||
- | </ | ||
- | |||
- | **Nota**: Recordar siempre la contraseña para la configuración de los ficheros del Zabbix mas adelante. | ||
- | |||
- | - Dentro del directorio que nos encontrábamos anteriormente entramos en el siguiente directorio e importamos comandos de SQL: | ||
- | < | ||
- | # cd create/ | ||
- | # cat mysql.sql | mysql -u zabbix -p zabbix | ||
- | # cd ../data | ||
- | # cat data.sql | mysql -u zabbix -p zabbix | ||
- | # cat images_mysql.sql | mysql -u zabbix -p zabbix | ||
- | </ | ||
- | - Entramos de nuevo en MySQL y ejecutamos los siguientes comandos: | ||
- | < | ||
- | mysql> use zabbix; | ||
- | mysql> show tables; | ||
- | mysql> quit; | ||
- | </ | ||
- | - Si existe algún problema ejecutamos el comando siguiente para borrar la base de datos (No creo que sea nuestro caso), | ||
- | en caso de ejecutarlo habría que empezar de nuevo este apartado: | ||
- | < | ||
- | mysql> drop database zabbix; | ||
- | </ | ||
- | |||
- | ===== 3. CONFIGURANDO ZABBIX ===== | ||
- | |||
- | - Creamos una carpeta para Zabbix donde se alojaran los ficheros de configuración y copiamos ficheros en ese nuevo directorio: | ||
- | < | ||
- | # mkdir /etc/zabbix | ||
- | # cd ../.. | ||
- | # cp misc/ | ||
- | </ | ||
- | |||
- | - Abrimos el fichero **// | ||
- | < | ||
- | # vim / | ||
- | </ | ||
- | < | ||
- | DBName=zabbix | ||
- | DBUser=zabbix | ||
- | DBPassword=tu_zabbix_mysql_contraseña | ||
- | </ | ||
- | - Es recomendable cambiar los permisos de este fichero de configuración ya que en el se encuentra la contraseña: | ||
- | < | ||
- | # chmod 400 / | ||
- | # chown zabbix / | ||
- | </ | ||
- | - Zabbix sabrá ahora con quien tiene que conectar. | ||
- | |||
- | ===== 4. CREAMOS USUARIO E INICIAMOS ZABBIX SERVER ===== | ||
- | |||
- | - Creamos usuario: | ||
- | < | ||
- | #useradd -m -s /bin/bash zabbix | ||
- | </ | ||
- | - Ingresamos como ese usuario: | ||
- | < | ||
- | #su - zabbix | ||
- | </ | ||
- | - Ejecutamos los scripts para iniciar los servicios: | ||
- | < | ||
- | $ / | ||
- | $ / | ||
- | </ | ||
- | |||
- | **Nota importante**: | ||
- | Si no se hace eso se tiene que volver a ejecutar los comandos de arriba para poder iniciar luego el servidor y agente. | ||
- | |||
- | - Con el siguiente comando deberíamos ver los procesos arrancados para zabbix_server y zabbix_agentd: | ||
- | < | ||
- | $ ps -e | grep zabbix | ||
- | </ | ||
- | ===== 5.CREACIÓN DE SCRIPTS DE INICIO ===== | ||
- | |||
- | - Nos logueamos como root: | ||
- | < | ||
- | $ su - | ||
- | </ | ||
- | |||
- | - Copiamos los scripts de nuestra fuente Zabbix en **/ | ||
- | < | ||
- | # cd zabbix-1.8.1 | ||
- | # cp misc/ | ||
- | </ | ||
- | - Tras copiar zabbix_server y zabbix_agentd, | ||
- | < | ||
- | # vim / | ||
- | </ | ||
- | - Añadimos los 2 servicios para que se inicien al encender el PC: | ||
- | < | ||
- | # chkconfig --add zabbix_server | ||
- | # chkconfig --add zabbix_agentd | ||
- | </ | ||
- | **Nota**: El zabbix_server puede que haya que arrancarlo **SIEMPRE** con el comando " | ||
- | |||
- | - Verificamos que se han añadido correctamente: | ||
- | < | ||
- | # chkconfig --list | ||
- | # chkconfig --list | grep zabbix | ||
- | </ | ||
- | - Damos permisos: | ||
- | < | ||
- | # chmod 755 / | ||
- | # chmod 755 / | ||
- | </ | ||
- | |||
- | - Comandos para este servicio: | ||
- | < | ||
- | # service zabbix_server {start|stop|restart|condrestart} | ||
- | </ | ||
- | |||
- | ===== 6.INSTALACIÓN DE LA INTERFAZ WEB ===== | ||
- | |||
- | Tenemos Zabbix Server y el Agente instalado y funcionando en nuestro servidor, podemos controlar los servicios a éstos y el inicio cada vez que la máquina arranca en el nivel 3 o 5, pero todavía no tenemos nuestra interfaz web. | ||
- | |||
- | Aquí es donde Apache y PHP entran en juego. Tendremos que instalar algunos paquetes adicionales php para funcionalidad completa: | ||
- | < | ||
- | # yum install php-mysql php-gd php-bcmath php-mbstring | ||
- | </ | ||
- | - Creamos la carpeta para los archivos web en / | ||
- | < | ||
- | # mkdir / | ||
- | # cp -r frontends/ | ||
- | </ | ||
- | Decir que **" | ||
- | |||
- | - Para poder acceder a la página a través http:// | ||
- | < | ||
- | # mv / | ||
- | </ | ||
- | **Nota**: Para entrar yo en enlace web tuve que poner la siguiente dirección: http:// | ||
- | < | ||
- | vim / | ||
- | </ | ||
- | - Cambie lo siguiente: | ||
- | < | ||
- | DocumentRoot "/ | ||
- | </ | ||
- | - Comente las líneas siguientes: | ||
- | < | ||
- | # First, we configure the " | ||
- | # features. | ||
- | # | ||
- | ######## | ||
- | ######## | ||
- | ######## | ||
- | ######## | ||
- | |||
- | ... | ||
- | |||
- | # The Options directive is both complicated and important. | ||
- | # http:// | ||
- | # for more information. | ||
- | # | ||
- | ######## | ||
- | |||
- | # | ||
- | # AllowOverride controls what directives may be placed in .htaccess files. | ||
- | # It can be " | ||
- | # | ||
- | # | ||
- | ######### | ||
- | |||
- | # | ||
- | # Controls who can get stuff from this server. | ||
- | # | ||
- | ######## | ||
- | ######## | ||
- | |||
- | ######## | ||
- | </ | ||
- | - Una vez ingresado la dirección web nos tiene que salir una imagen como la siguiente donde se nos da la bienvenida: | ||
- | |||
- | {{: | ||
- | |||
- | - Le damos a Next y veremos la pantalla de la licencia: | ||
- | |||
- | {{: | ||
- | |||
- | - Tras poner "I agree" le damos a siguiente para pasar a la pantalla de los pre-requisitos: | ||
- | |||
- | {{: | ||
- | |||
- | - Vemos que nos dará muchos //failed// la primera vez, es porque nos hace falta modificar un fichero para que este acorde con lo que pide el Zabbix. | ||
- | |||
- | - Entramos en el fichero a modificar: | ||
- | < | ||
- | # vim / | ||
- | </ | ||
- | - Cambiamos las líneas siguientes con los nuevos parámetros: | ||
- | < | ||
- | max_execution_time = 600 | ||
- | memory_limit = 256M | ||
- | post_max_size = 32M | ||
- | date.timezone = Atlantic/ | ||
- | mbstring.func_overload = 2 | ||
- | </ | ||
- | |||
- | - Reiniciamos " | ||
- | < | ||
- | # service httpd restart | ||
- | </ | ||
- | - Tras dar a " | ||
- | |||
- | {{: | ||
- | |||
- | - Damos a Next y pasamos a la pantalla de " | ||
- | |||
- | {{: | ||
- | |||
- | - Introducimos los datos que se nos pide y le damos a "Test connection" | ||
- | pasamos a la siguiente pantalla de " | ||
- | |||
- | | ||
- | |||
- | - En la siguiente página nos aparece los detalles de la instalación y tras comprobar que todo está correcto pasamos a la siguiente pantalla donde se instalará. | ||
- | |||
- | {{: | ||
- | |||
- | {{: | ||
- | |||
- | - Posiblemente nos saldrá un " | ||
- | que genera lo guardamos en "/ | ||
- | |||
- | - Pasamos a la siguiente pantalla y solo nos queda dar a " | ||
- | |||
- | {{: | ||
- | |||
- | - Ya tenemos zabbix instalado como agente y servidor. Ahora tendriamos que instalar el agente zabbix en los PCs que queramos monitorizar. | ||
- | |||
- | ===== 7. INSTALAR AGENTE ZABBIX EN CENTOS. ===== | ||
- | |||
- | - Creamos usuario zabbix, descargamos e instalamos: | ||
- | < | ||
- | # useradd -s / | ||
- | </ | ||
- | < | ||
- | # wget http:// | ||
- | |||
- | </ | ||
- | < | ||
- | # gunzip zabbix-1.8.1.tar.gz && tar -xvf zabbix-1.8.1.tar | ||
- | </ | ||
- | < | ||
- | # ./configure --enable-agent --prefix=/ | ||
- | </ | ||
- | < | ||
- | # make install | ||
- | </ | ||
- | < | ||
- | # echo ' | ||
- | </ | ||
- | < | ||
- | echo ' | ||
- | </ | ||
- | - Copiamos la configuración estándar: | ||
- | < | ||
- | # mkdir /etc/zabbix | ||
- | # cp misc/ | ||
- | </ | ||
- | |||
- | - Editamos la configuración del segundo archivo // | ||
- | < | ||
- | Server= "Ip del servidor instalado anteriormente" | ||
- | </ | ||
- | |||
- | {{: | ||
- | |||
- | - Di todos los permisos a / | ||
- | < | ||
- | # chmod 777 zabbix_agentd.conf | ||
- | </ | ||
- | - Copiamos los siguientes archivos: | ||
- | < | ||
- | # cp misc/ | ||
- | </ | ||
- | - Editamos / | ||
- | < | ||
- | BASEDIR=/ | ||
- | </ | ||
- | |||
- | {{: | ||
- | |||
- | - En / | ||
- | < | ||
- | # chkconfig: 345 95 95 | ||
- | # description: | ||
- | </ | ||
- | |||
- | {{: | ||
- | |||
- | - Ejecutamos comando para que el servicio se inicie al encender el PC: | ||
- | < | ||
- | # chkconfig --level 345 zabbix_agentd on | ||
- | </ | ||
- | - Iniciamos los agentes: | ||
- | < | ||
- | # / | ||
- | </ | ||
- | - Si sale un error como el de abajo ejecutar el siguiente comando e intentamos iniciar el servicio: | ||
- | < | ||
- | / | ||
- | or directory | ||
- | / | ||
- | </ | ||
- | -Si tenemos algún tipo de error así: | ||
- | < | ||
- | # ln -s / | ||
- | </ | ||
- | **Nota**: Aun con el comando anterior puede seguir dando fallo, lo arregle de la siguiente manera: | ||
- | < | ||
- | # cd / | ||
- | </ | ||
- | - Copiamos el contenido de la carpeta sbin en el lugar donde nos encontramos ahora: | ||
- | < | ||
- | # cp sbin/* . | ||
- | </ | ||
- | - Iniciamos ahora el servicio: | ||
- | < | ||
- | # service zabbix_agentd start | ||
- | </ | ||
- | - Y nos tiene que salir el siguiente mensaje: | ||
- | < | ||
- | / | ||
- | </ | ||
- | - Ya tenemos el agente zabbix instalado en el PC a monitorizar. | ||
- | |||
- | ===== 8. INSTALAR AGENTE ZABBIX EN WINDOWS. ===== | ||
- | |||
- | - Descargamos el agente desde la siguiente dirección: | ||
- | |||
- | http:// | ||
- | |||
- | - Descomprimimos el zip e ejecutamos el instalador. | ||
- | |||
- | - Configuramos el agente con la IP de nuestro servidor Zabbix. Habilitamos “Enable Remote Commands” si queremos que el servidor Zabbix pueda ejecutar comandos sobre este PC. | ||
- | |||
- | {{: | ||
- | |||
- | - Instalamos. En este momento el servicio Zabbix Agentd ya está configurado y es visible en la sección “Servicios” de nuestro servidor. | ||
- | |||
- | ===== 9. EJECUTAR COMANDOS REMOTOS EN OTROS PCs. ===== | ||
- | |||
- | Si algún servicio de un PC cae, este puede ser iniciado nuevamente sin necesidad de ir al PC correcto para ejecutar el comando ya que zabbix puede hacerlo, para ello necesitamos que en cada PC que vayamos a ejecutar comandos remotos tenga la siguiente configuración: | ||
- | |||
- | 1. Editar el fichero de configuración de Zabbix: | ||
- | < | ||
- | # vim / | ||
- | </ | ||
- | 2. Descomentar la siguiente linea: | ||
- | < | ||
- | EnableRemoteCommands=1 | ||
- | </ | ||
- | 3. Reiniciamos Zabbix: | ||
- | < | ||
- | # / | ||
- | </ | ||
- | 4. Editar los permisos de sudo para zabbix: | ||
- | < | ||
- | # visudo | ||
- | </ | ||
- | 5. Cometar la siguiente linea: | ||
- | < | ||
- | # Defaults requiretty | ||
- | </ | ||
- | 6. Añadir la siguiente linea al final del fichero (para dar permisos al usuario zabbix de ejecutar comandos como root sin preguntar contraseña): | ||
- | < | ||
- | # allows ‘zabbix’ user to run all commands without password. | ||
- | zabbix ALL=NOPASSWD: | ||
- | </ | ||
- | |||
- | **Nota**: Para poder ejecutar comandos en equipos Windows tenemos que habilitar la casilla de " | ||
- | |||
- | Ahora podemos crear una acción que cuando un iniciador cambie de estado se ejecute un comando concreto por ejemplo. | ||
- | |||
- | ===== 10. MANUAL DE USUARIO. ===== | ||
- | |||
- | Antes que nada decir que el usuario // | ||
- | |||
- | Usuario: admin | ||
- | |||
- | Contraseña: | ||
- | |||
- | Esta contraseña se puede cambiar en la pestaña de “Administración” del zabbix y señalando luego “usuarios”. Destacar que dentro de los usuarios podremos poner el lenguaje en español. | ||
- | |||
- | {{: | ||
- | |||
- | La aplicación Zabbix está compuesta por 5 menús que dependiendo del usuario que creamos podremos verlos todos o no. Estos 5 menús poseen a su vez una serie de submenús. | ||
- | |||
- | {{: | ||
- | |||
- | Ahora nombraremos cada uno de ellos: | ||
- | |||
- | ** 1º Monitorización**: | ||
- | |||
- | -__Dashboard__ : Es la pantalla principal del programa | ||
- | |||
- | Estado de zabbix: | ||
- | |||
- | {{: | ||
- | |||
- | Estado del sistema y estado de los equipos: | ||
- | |||
- | {{: | ||
- | |||
- | Últimos 20 temas: | ||
- | |||
- | {{: | ||
- | |||
- | Estado de las páginas web monitorizadas y descubrimiento de la red: | ||
- | |||
- | {{: | ||
- | |||
- | -__Vistazo general__: Aquí vemos detalles mas ampliados de los equipos que tenemos monitorizando. | ||
- | |||
- | -__Web__: Este submenú es para ver el estado de las web que estamos monitorizando, | ||
- | |||
- | -__Última fecha__: Vemos últimos datos de los PCs monitorizados con sus respectivas gráficas. | ||
- | |||
- | -__Iniciadores__: | ||
- | |||
- | {{: | ||
- | |||
- | -__Eventos__: | ||
- | |||
- | -__Gráficos, | ||
- | |||
- | Ejemplo de una gráfica: | ||
- | |||
- | {{: | ||
- | |||
- | Ejemplo de un mapa: | ||
- | |||
- | {{: | ||
- | |||
- | -__Descubrimiento__: | ||
- | |||
- | -__Servicios TI__: En este submenú podemos ver el estado de los servicios que hemos creado y tambíen ver una gráfica del estado de cada servicio. | ||
- | |||
- | **2º Inventario**: | ||
- | |||
- | {{: | ||
- | |||
- | Lugar donde se ingresan estos datos (En la configuración de los equipos o cuando ser agrega un equipo nuevo): | ||
- | |||
- | {{: | ||
- | |||
- | **3º Informes**: Este menú posee 4 submenús en los que se puede ojear mas detenidamente lo que esta ocurriendo en los agentes, teniendo la posibilidad de filtrar informes para encontrar uno deseado. | ||
- | |||
- | **4º Configuración**: | ||
- | |||
- | -__Grupos de equipos__: En el se podrá crear grupos para luego ingresar PCs y monitores en ellos. | ||
- | |||
- | -__Equipos__: | ||
- | |||
- | {{: | ||
- | |||
- | Cuando creas un equipo podrás ver si este esta disponible o no, debería estar disponible si tiene el agente instalado en el y además lo tiene iniciado. | ||
- | |||
- | Ejemplo de equipo disponible: | ||
- | |||
- | {{: | ||
- | |||
- | Ejemplo de equipo no disponible: | ||
- | |||
- | {{: | ||
- | |||
- | Como vemos si esta disponible para su monitorización veremos que la “Z” de la derecha esta en verde y si no lo esta estará en rojo. | ||
- | |||
- | Podemos crear también aplicaciones, | ||
- | |||
- | -__Maintenance__: | ||
- | |||
- | -__Web__: Creando un escenario podemos monitorizar también páginas web. | ||
- | |||
- | -__Acciones__: | ||
- | |||
- | En la imagen siguiente vemos que cuando el equipo sea igual a “Zabbix Server” y el Iniciador sea igual a “SSH server esta apagado en Zabbix Server” ejecutaremos un comando sudo / | ||
- | |||
- | [[http:// | ||
- | |||
- | Imagen de como crear una acción para que cada vez que se apague el servicio SSH en " | ||
- | |||
- | {{: | ||
- | |||
- | Destacar que hay 3 tipos de “Origen del evento”: **Iniciadores**, | ||
- | |||
- | -__Pantallas__: | ||
- | |||
- | {{: | ||
- | |||
- | -__Mapas__: Para crear un mapa de nuestra distribución de la red. | ||
- | |||
- | -__Servicios TI__: Aquí se crea servicios para calculen el estado de por ejemplo, si falla algún iniciador. | ||
- | |||
- | -__Descubrimiento__: | ||
- | |||
- | -__Exportar/ | ||
- | |||
- | **5º Administración**: | ||
- | |||
- | ===== REFERENCIAS. ===== | ||
- | \\ http:// | ||
- | \\ http:// | ||
- | \\ http:// | ||
- | \\ http:// | ||
- | \\ [[http:// | ||
- | \\ [[http:// | ||
- | \\ [[http:// | ||
- | \\ http:// | ||
- | \\ http:// | ||
- | \\ http:// | ||
- | \\ http:// | ||
- | \\ http:// |