ZABBIX Forums  
  #1  
Old 05-04-2010, 10:01
angelhc angelhc is offline
Senior Member
Zabbix certified specialist
 
Join Date: Nov 2009
Location: Madrid, Spain
Posts: 226
Cool ¿quien se anima a unos how-to?

Buenas,
He encontrado muchísima información en el manual de Zabbix (en ingles) y poco a poco te vas haciendo con la herramienta pero echo en falta unos how-to's para el día a día.
Se me ocurren algunos de ellos:

"Crear un nuevo host en zabbix"
"Instalación agentes en diferentes plataformas"
"Crear nuevas monitorizaciones para un host (no aplicar el template por defecto)"
...
¿Alguien me ayuda?, yo me ocupo de los dos primeros y los publicaré esta semana en este hilo.
A ver si hacemos una buena comunidad zabbix en castellano
Reply With Quote
  #2  
Old 08-04-2010, 10:16
angelhc angelhc is offline
Senior Member
Zabbix certified specialist
 
Join Date: Nov 2009
Location: Madrid, Spain
Posts: 226
Default Bueno pues aqui tenemos el primero de todos!

Os copio lo que he hecho hasta ahora, me gustaría que alguien se dedicara a corregirme / ampliar para que quede lo mejor posible.
GRacias.

HOW-TO Crear un nuevo host en Zabbix
======================================

Este how-to asume que se ha instalado zabbix correctamente y se encuentra funcionando, las pruebas se han realizado sobre un
zabbix 1.6.4 sobre ubuntu.



1.- Primeros pasos
___________________

Para crear un nuevo host en zabbix tenemos que disponer previamente de varios datos.

- Nombre dns del servidor
- Ip del servidor
- S.O. del servidor
- Entorno en el funciona (desarrollo, producción...)

Primero nos dirigimos a la pestaña configuration (configuración) --> Hosts
a la derecha nos aparece un menu desplegable con las opciones de que queremos ver y a su derecha la opción Create Host.
En la ventana nos aparecen los siguientes campos:

Name: Nombre del servidor a monitorizar
In groups: Deberemos añadirle a alguno de los grupos creados o crear uno nuevo.
DNS Name: Nombre dns dentro de la red.
IP. Address: IP del servidor.
Connect to: aqui podemos elegir entre el dns o la IP para conectar con la máquina
Zabbix agent port: aqui dejaremos el de por defecto (10050)
Monitored by proxy: Si tenemos un proxy en alguna DMZ o similar le indicaremos que este server se conecta a el.
Status: Si queremos que inmediatamente después de crearlo se monitorize lo dejaremos en monitored, si queremos hacer cambios antes activaremos Not monitored.
Link with Template: En este apartado podemos asociar el host a una plantilla genérica de monitorización, si pulsamos add nos abrirá una nueva ventana con las disponibles.
Use IPMI: Se recomienda leer la descripción de IPMI en "http://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface" para saber si es necesaria en nuestro caso.
Use Profile: Opción para inventariar el servidor
Use extended Profile: Idem que la anterior pero con bastantes mas opciones.
Reply With Quote
  #3  
Old 28-04-2010, 10:29
angelhc angelhc is offline
Senior Member
Zabbix certified specialist
 
Join Date: Nov 2009
Location: Madrid, Spain
Posts: 226
Default

Visto el descomunal exito de la propuesta cuando vaya teniendo documentación de la que estoy haciendo la colgaré por si a alguien le es útil.
Saludos-
Reply With Quote
  #4  
Old 30-04-2010, 12:26
bashman bashman is offline
Senior Member
 
Join Date: Dec 2009
Location: Madrid (Spain)
Posts: 432
Default

Os copio mi How-to, corregirme en caso de errores y en caso de que falte algo, ampliarlo.

HOW-TO Instalar agente Zabbix en linux
===============================

Este how-to asume que vale para versiones posteriores al agente v1.4.4, ha sido probado con versiones v1.4.4, v1.6.6, v1.8.x sobre RedHat, Debian y Ubuntu.


1. Instalar agente.

A continuación se detalla la instalación del agente logueado como root.

1.1. Crear usuario zabbix, contraseña y home:

Code:
su -
groupadd zabbix
useradd -c 'Zabbix' -d /home/zabbix -g zabbix -s /bin/bash zabbix
passwd zabbix
mkdir -v /home/zabbix
cp -Rv /etc/skel/.[a-z]* /home/zabbix
chown -Rv zabbix:zabbix /home/zabbix
NOTA:

Según qué distribución no sería necesario copiar el esqueleto del home.

Uso extendido de useradd:

Code:
useradd -c <Nombre completo> -g <grupo primario> -G <admin> -s </bin/shell> -p <xxxx> -d </home/usario> -m <usuario>
Ejemplos:

Code:
useradd -G users zabbix
useradd -G users zabbix -d /home/zabbix -m
1.2. Crear los directorios de zabbix:

Code:
mkdir -v /opt/zabbix
mkdir -v /opt/zabbix/bin
mkdir -v /opt/zabbix/conf
1.3. Instalar agente:

Copiar el binario en /opt/zabbix/bin:

Code:
cp -v zabbix_agentd /opt/zabbix/bin
1.4. Instalar archivo de configuración del agente:

Copiar el archivo de configuración en /opt/zabbix/conf:

Code:
cp -v zabbix_agentd.conf /opt/zabbix/conf
1.5. Crear directorios de información, de log y cambiar el dueño y grupo:

Code:
mkdir -v /var/log/zabbix-agent
mkdir -v /var/run/zabbix-agent
chown -v zabbix:zabbix /var/log/zabbix-agent
chown -v zabbix:zabbix /var/run/zabbix-agent
chown -Rv zabbix:zabbix /opt/zabbix
1.6. Añadir las siguientes lineas al archivo /etc/services:

Code:
echo "zabbix_agent    10050/tcp                       # Zabbix ports" >> /etc/services
echo "zabbix_trap     10051/tcp" >> /etc/services
FIN INSTALACIÓN AGENTE

1.7. Esta opción sólo es necesaria si los scripts necesitan autenticación:

Dar permisos al home donde residen los scripts de monitorización (en caso de que existan), asignar a zabbix el grupo de <usuario> donde residen los scripts de monitorización, añadir al final del archivo sudoers la siguiente linea para poder ejecutar los scripts desde zabbix como <usuario>:

Code:
chmod -v g+rx /home/<usuario>
usermod -g <grupo de usuario> zabbix
echo "zabbix ALL = (<usuario>) NOPASSWD: <path/a/los/scripts/de/monitorización/*>" >> /etc/sudoers
NOTA:

Para editar a mano el archivo /etc/sudoers:

Code:
visudo -f /etc/sudoers
1.8. Comprobar el paso 1.7:

Code:
ls -l /home
cat /etc/passwd
1.9. Para desinstalar el agente:

Code:
killall /opt/zabbix/bin/zabbix_agentd
rm -Rv /opt/zabbix
rm -rv /var/log/zabbix-agent /var/run/zabbix-agent
userdel -r zabbix
2. Configurar agente.

A continuación se detalla la configuración del agente logueado como zabbix.

2.1. Crear directorio bin:

Comprobar que el usuario zabbix se encuentra en el grupo de <usuario> (sólo es necesario comprobar si los scripts necesitan alguna autenticación), dar permisos de ejecución al agente, crear el directorio bin y darle permisos:

Code:
su - zabbix
chmod -v ug+x /opt/zabbix/bin/zabbix_agentd
mkdir -v /home/zabbix/bin
chmod -v 700 /home/zabbix/bin
2.2. Crear los scripts:

Se crean los scritps de arranque/parada/chequeo del agente en /home/zabbix/bin:

Code:
echo "/opt/zabbix/bin/zabbix_agentd -c /opt/zabbix/conf/zabbix_agentd.conf" > /home/zabbix/bin/startAgenteZabbix.sh
chmod -v ug+x /home/zabbix/bin/startAgenteZabbix.sh
echo "killall /opt/zabbix/bin/zabbix_agentd" > /home/zabbix/bin/stopAgenteZabbix.sh
chmod -v ug+x /home/zabbix/bin/stopAgenteZabbix.sh
echo "pgrep -l zabbix_agentd" > /home/zabbix/bin/comprobarAgenteZabbix.sh
chmod -v ug+x /home/zabbix/bin/comprobarAgenteZabbix.sh
echo "/opt/zabbix/bin/zabbix_agentd -c /opt/zabbix/conf/zabbix_agentd.conf -t \$1" > /home/zabbix/bin/probarClave.sh 
chmod -v ug+x /home/zabbix/bin/probarClave.sh
2.3. Archivo de configuración:

Una vez instalado el archivo de configuración, es necesario modificar ciertos parámetros como la IP y el hostname. También es donde se añaden las claves:

Code:
sed -i 's/#Hostname=/Hostname='<nombre de la máquina>'/g' /opt/zabbix/conf/zabbix_agentd.conf
sed -i 's/#ListenIP=/ListenIP='<IP de la máquina>'/g' /opt/zabbix/conf/zabbix_agentd.conf
En caso de que se ejecuten scripts, hay que añadirlos con una clave. En caso de que el script necesite que sea ejecutado como <usuario>, hay que anteponer a <path al programa>, sudo -u <usuario>:

Code:
echo "UserParameter=<clave>,<path al programa>" >> /opt/zabbix/conf/zabbix_agentd.conf
Para editar el archivo de configuración a mano:

Code:
vi /opt/zabbix/conf/zabbix_agentd.conf
Hostname=<nombre de la máquina>
ListenIP=<IP de la máquina>
NOTA:

Si no se especifica “ListenIP” el agente saldrá por todas las IPs disponibles. El hostname debe ser único.

Y para los scripts:

Code:
UserParameter=<clave>,<path al programa>
Para configurar nuevos puertos, hay que indicarlo en el archivo de configuración del agente y en configuración del hosts del servidor zabbix.

2.4. Arrancar el agente:

Code:
/home/zabbix/bin/startAgenteZabbix.sh
/home/zabbix/bin/comprobarAgenteZabbix.sh
FIN CONFIGURACIÓN AGENTE

2.5. Parar y arrancar:

Para todos los cambios realizados, es necesario parar, comprobar que el agente esté parado y volver a inicar:

Code:
/home/zabbix/bin/stopAgenteZabbix.sh
/home/zabbix/bin/comprobarAgenteZabbix.sh
/home/zabbix/bin/startAgenteZabbix.sh
/home/zabbix/bin/comprobarAgenteZabbix.sh
2.6. Para probar las claves:

Code:
/home/zabbix/bin/probarClave.sh <clave a probar>
NOTA:

Con la nueva versión del agente (v1.6.6) ya no se puede probar las claves de la forma probarClaves.sh <clave> si está definida en UserParameters del zabbix_agentd-conf. De hecho en la ayuda (zabbix_agentd -h) tiene la siguiente nota: “Note that -t and -p switches do not work with user parameters. Use zabbix_get instead”. Por lo que la opción -t y -p ya no funciona para claves definidas en UserParameters, por lo que para probar claves hay que usar el programa zabbix_get del lado del servidor para que se comunique con el agente:

Code:
./zabbix_get -s<ip> -p<puerto> -k"<clave>"
2.7. Si se usan variables de entorno:

Es importante que los scripts que usen variables de entorno de <usuario>, las cargen, por lo que es recomendable que en la primera linea de los scripts de monitorización se añada.:

Code:
source <home path usuario>/.bash_profile
y en el home path es necesario introducir la ruta home de <usuario> sin usar la variable de entorno HOME, ya que tomaría el HOME de zabbix.

NOTA:

Hay que tener en cuenta que no se muestre nada en el prompt cada vez que se carge el .bash_profile.

3. Añadir agente como servicio.

A continuación se detalla cómo añadir el agente como servicio en el arranque de la máquina logueado como root.

3.1. Crear el script en "/home/zabbix/bin", cambiar permisos y crear enlace simbólico:

Obtener el archivo según la distribución: zabbix_agentd_ctl

Code:
su -
chmod -v 755 /home/zabbix/bin/zabbix_agentd_ctl
ln -s /home/zabbix/bin/zabbix_agentd_ctl /etc/init.d/zabbix_agentd_ctl
3.2. Añadir, activar y comprobar servicio, en caso de RedHat:

Code:
chkconfig --add zabbix_agentd_ctl
chkconfig --level 345 zabbix_agentd_ctl on
chkconfig --list
NOTA:

Para añadir un servicio en Debian/Ubuntu:

Code:
sudo update-rc.d <nombre_del_script> defaults
3.3. Probar arranque/estado/parada/reinicio/ayuda:

Code:
/etc/init.d/zabbix_agentd_ctl start
/etc/init.d/zabbix_agentd_ctl status
/etc/init.d/zabbix_agentd_ctl stop
/etc/init.d/zabbix_agentd_ctl restart
/etc/init.d/zabbix_agentd_ctl help
FIN AÑADIR AGENTE COMO SERVICIO

3.4. Para eliminar el agente del arranque de la máquina:

Code:
/etc/init.d/zabbix_agentd_ctl stop
chkconfig --level 345 zabbix_agentd_ctl off
chkconfig --del zabbix_agentd_ctl
rm -v /etc/init.d/zabbix_agentd_ctl
NOTA:

Para eliminar el agente del arranque de un Debian/Ubuntu:

Code:
sudo update-rc.d -f <nombre_servicio> remove
NOTA:

Para hacer un script usable por chkconfig se necesitan varias cosas:

Una cabecera que sea procesable por chkconfig que le permita saber: Nombre a usar para ese servicio, descripción de ese servicio y en que inits debe levantarse/pararse y el número de orden en el que debe ser levantado/parado (útil cuando necesitas que un servicio se levante después de haber levantado otro antes, por ejemplo, leventar mysql antes del servidor web y parar el servidor web antes que mysql).

El script necesita incluir una cabecera de este tipo:

Code:
#!/bin/bash
#
# chkconfig: <runlevels> <orden arranque (01-99)> <orden parada (01-99)>
# description: <descripción de servicio>
# processname: <nombre del proceso>
# pidfile: <path al pid file del proceso>
#
Ejemplo extraído de Tomcat:

Code:
#!/bin/sh
#
# Startup script for Tomcat Servlet Engine
#
# chkconfig: 345 99 01
# description: Tomcat Servlet Engine
# processname: tomcat
# pidfile: /usr/local/jakarta-tomcat/bin/tomcat.pid
#
Las líneas resaltadas (chkconfig, description y processname) son las que interesa informar para que chkconfig haga el trabajo de ubicar el script y los links en el arranque/parada de servicios correctamente.

chkconfig: 345 99 01 → será de lo último en arrancar y de lo primero en parar durante la subida/bajada/cambio de los runlevels 3,4 y 5.
__________________
978 Hosts / 16.901 Items / 8.703 Triggers / 44 usr / 90,59 nvps / v1.8.15

Last edited by bashman; 13-05-2010 at 11:05.
Reply With Quote
  #5  
Old 21-05-2010, 09:36
bashman bashman is offline
Senior Member
 
Join Date: Dec 2009
Location: Madrid (Spain)
Posts: 432
Default

Os copio otro pequeño How-to, corregirme en caso de errores y en caso de que falte algo, ampliarlo.

HOW-TO Escalada y repetición de alertas
================================

Este how-to asume que vale para versiones v1.8, ha sido probado con versiones v1.8.1 y v1.8.2.

Documentación oficial:

http://www.zabbix.com/documentation/..._notifications

Hay varias formas de gestionar un problema a través de una acción:

1. A través de mensajes simples, alertando al instante.
2. Escalar los mensajes hacia el jefe y/o otros grupos.
3. Ejecución de commandos remotos.
4. Notificaciones repetidas hasta que se resuelve el problema.
5. Notificaciones y comandos retardados.
6. Escenario complejo, la combinación de todo lo anterior.

Lo importante de las acciones es definir bien las condiciones y las operaciones. Hay tres condiciones necesarias en cada acción:

* Trigger value = “PROBLEM”
* Trigger severity >= “Average” o Trigger severity >= “High”
* Host group = ”<grupo de máquinas>”

Las operaciones pueden ser: mensajes, ejecución de comandos o ambos. Para escalar hay que habilitar las escaladas y definir el periodo en el que se iniciaran esas escaladas, que se definen a través de pasos.

Cuando se crea una operación se puede definir un paso, a través de tres valores, el paso 1 siempre es el instantáneo y no le afecta la escalada:

* From: Dónde comienza el paso. Por ejemplo definimos un periodo inicial de escalada de 5 minutos, el paso 2 empezará a los 5 minutos y el 3 a los 10.
* To: Dónde finaliza el paso. Por ejemplo si no queremos que se repita este paso, este campo tendrá el mismo valor que el anterior, pero si por ejemplo definimos un periodo inicial de escalada de una hora y el paso se inicia en 2, si definimos el fin del paso en 5, se repetirá el paso cada hora durante 4 horas.
* Period: Permite substituir el periodo inicial de la escalada por un nuevo periodo para este paso. Por ejemplo, tenemos un periodo inicial de 5 minutos y queremos que cuando se ejecute este paso se repita 4 veces cada hora, pues definimos un periodo de 1 hora y el paso se inicia en 2 y acaba en 5.

La operación además del paso se define el tipo de operación (mensaje o ejecución de comando), mandar mensaje a usuario o grupo de usuarios, mandar a email, jabber o sms, permite definir un nuevo mensaje y añadir una condición para deshabilitar la escalada cuando se acepta (ack) el problema a través del dashboard (Event acknowledged = “Not Ack”).

Con todo esto se puede hacer una escalada y repetición de mensajes.
__________________
978 Hosts / 16.901 Items / 8.703 Triggers / 44 usr / 90,59 nvps / v1.8.15

Last edited by bashman; 21-05-2010 at 09:38.
Reply With Quote
  #6  
Old 26-10-2012, 15:14
la mujer esponja la mujer esponja is offline
Junior Member
 
Join Date: Oct 2012
Location: Spain
Posts: 1
Smile Agrupacion de How-TO en una web

No es mejor agrupar todos los HOW-TO en una web en vez de que se pierda este hilo en el foro? O hacerlo como un post permanente en lo alto de la lista de hilos.

Es posible?

Pero principalmente... gracias por vuestros esfuerzos!!
Reply With Quote
  #7  
Old 29-10-2012, 14:01
exkg exkg is offline
Senior Member
Zabbix certified trainerZabbix certified specialist
 
Join Date: Mar 2007
Location: Porto Alegre - Rio Grande do Sul - Brasil
Posts: 711
Send a message via MSN to exkg Send a message via Skype™ to exkg
Default

Creo que es mejor usar el WIKI para eso ... http://www.zabbix.org/. Que opinan ?


[]s,
Luciano
Reply With Quote
  #8  
Old 07-11-2012, 14:27
angelhc angelhc is offline
Senior Member
Zabbix certified specialist
 
Join Date: Nov 2009
Location: Madrid, Spain
Posts: 226
Default

Creo que la wiki no tiene apartado por idiomas y la documentación oficial si, aunque hacer una traducción de toda ella puede ser una tarea titanica la verdad.
Mandaré un mensaje al administrador para que ponga este post como fijo a ver qué opina
Gracias a tod@s por vuestras aportaciones.
__________________
Number of hosts 1600,Number of items +90k,Number of triggers +22k, Number of users +100, New values per second +1270

http://zabbixes.wordpress.com/
Reply With Quote
  #9  
Old 08-11-2012, 13:25
exkg exkg is offline
Senior Member
Zabbix certified trainerZabbix certified specialist
 
Join Date: Mar 2007
Location: Porto Alegre - Rio Grande do Sul - Brasil
Posts: 711
Send a message via MSN to exkg Send a message via Skype™ to exkg
Default

... yo lo pongo ...


[]s,
Luciano
Reply With Quote
  #10  
Old 12-11-2012, 16:05
angelhc angelhc is offline
Senior Member
Zabbix certified specialist
 
Join Date: Nov 2009
Location: Madrid, Spain
Posts: 226
Default

Gracias exkg!!
__________________
Number of hosts 1600,Number of items +90k,Number of triggers +22k, Number of users +100, New values per second +1270

http://zabbixes.wordpress.com/
Reply With Quote
Reply

Tags
castellano, how-to

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 12:08.