Vous êtes sur la page 1sur 6

Ejecutar comandos remotos en Zabbix

Voy a intentar explicar las opciones para usar comandos remotos para administrar nuestros
dispositivos monitorizados. Como requisito previo en la configuracin del agente de nuestros
dispositivos zabbix_agentd.conf tenemos que habilitar la opcin de ejecutar comandos
remotos EnableRemoteCommands=1.
Tenemos varias opciones para diferentes escenarios.
OPCIN 1. Comando remoto mediante Configuration-Intems.
Esta opcin sirve para recoger la informacin que produce un comando de manera peridica.
system.run[comando_remoto]
OPCIN 2. Comando remoto mediante Configuration-Actions.
Esta opcin la utilizaramos para ejecutar un comando de manera automtica si se produce
alguna condicin previamente configurada.
{HOSTNAME}:comando_remoto
OPCIN 3. Comando remoto mediante Administration-Scrips.
Esta opcin sirve para ejecutar de manera manual un comando y ver el resultado.
zabbix_get -s {HOST.CONN} -k system.run[comando_remoto]

Ejemplo mensaje Alerta/Accin para zabbix


Aqu os dejo un pequeo ejemplo para configurar un mensaje de alerta/accin para zabbix
"Configuration-Actions".
Default subject:
{HOSTNAME} {TRIGGER.NAME}: {STATUS}
Default message:

Date: {DATE}
Time: {TIME}
Hostname: {HOSTNAME}
IP: {IPADDRESS}
Severity: {TRIGGER.SEVERITY}
Last Key:
{{HOSTNAME}:{TRIGGER.KEY}.last(0)}
Preview Key:
{{HOSTNAME}:{TRIGGER.KEY}.prev(0)}
Por ltimo os dejo un link con varias variables para utilizar en los mensajes.
http://www.zabbix.com/wiki/howto/config/alerts/customizing_your_alerts

ZABBIX, ALERTS TO LOG


By: Javier Terceiroon 2/09/2013

Zabbix trae muchas formas de alertarnos de que un trigger (y por lo tanto algo no esperado)
ha pasado. Las ms comunes son en envo de mail's o avisar directamente por Jabber. Ya hace
tiempo vimos aqu cmo enviar las notificaciones a Twitter. Hoy vamos a explicar cmo poder
almacenar dichas alertas en nuestro log de sistema o tratarlas directamente desde syslog.
Para lograr esto, emplearemos el comando logger, que se encargar de hacer el envo
ordenado al servicio del sistema, que luego ser el que se encargue de procesarlo. Una vez el
mensaje en syslog, podremos mandarlo a otro servidor, crear cadenas de filtrado especiales,
o lo que queramos.
Lo primero es crear el pequeo script que es necesario para procesar las alertas generadas.
#!/bin/bash

/usr/bin/logger -p syslog.notice -t zabbix-alert $2


Como vemos es realmente sencillo. Una simple llamada a logger y le pasamos como
parmetro $2, que es el contenido del mensaje generado. En $1 tendremos almacenado la

direccin a la que se enva. Yo guard este script como sendToLog.sh y a continuacin le di


permisos de ejecucin. La carpeta donde almacenar el script est en la variable de
configuracin AlertScriptsPath y por defecto es /etc/zabbix/alert.d.
Todo lo que nos queda por hacer ahora es configurar la parte del envo de alertas desde
Zabbix. Lo primero es crear un nuevo Media types de tipo script.

SendToLog Media Type


Y a continuacin agregar ste a un usuario. Si nos interesa que quede registro de todas las
alertas, lo agregamos a un usuario con permisos completos, como pudiera ser admin.

Aadir Media Type a usuario


Una vez aceptado, simplemente nos queda por crear una accin que enve todas las alertas a
ste usuario y por ste tipo y es comenzara a funcionar. El resultado sera similar a ste,
shell> tail -f /var/log/syslog
Feb 9 17:17:22 zabbix zabbix-alert: PROBLEM: server-h not responds
Feb 9 17:24:25 zabbix zabbix-alert: OK: server-f not responds
Feb 9 17:24:58 zabbix zabbix-alert: PROBLEM: server-d, restarted
Feb 9 17:26:00 zabbix zabbix-alert: OK: server-d, restarted
Feb 9 17:28:33 zabbix zabbix-alert: OK: server-f not responds
Nota: En la versin 1.8 de Zabbix es funcionamiento y configuracin es el mismo, con la
salvedad de que en la creacin del Media Type, es necesario indicarle la ruta completa del
fichero, no nicamente el fichero de script.

ZABBIX-PROXY: INSTALACIN
By: Javier Terceiroon 10/22/2012

La instalacin de proxy's por la red es uno de los puntos fuertes de zabbix, que permite as
escalar la recoleccin de datos desde un nico punto a varios puntos, aunque siga a
centralizar todos los datos sobre una misma base de datos y de consulta. La idea es que
desde un punto centralizado (zabbix_server) estn todos los datos pero que la recoleccin de
los mismos se haga desde varios puntos deferentes, para as poder levantar el nmero
de threads necesarios de cada poller y distribuir la carga de CPU entre varias mquinas.
'divide y vencers'.
Antes de comenzar con la instalacin de un zabbix-proxy hay que aclarar un par de
conceptos.
1. La cantidad de equipos que cada uno de los proxy's va a controlar y la frecuencia de
los check's. Es decir, cuantos vps va a tener que soportar la base de datos. No hay un
nmero exacto que podamos decir, pero esto es importante pues segn estos datos
tendremos que optar por instalar un proxy con sqlite o un proxy con una base de datos
ms potente (mysql o postgress).
2. El tipo de proxy que vamos a tener:

Activo

El propio proxy enviar la informacin al servidor zabbix segn la configuracin que tenga. El
servidor nicamente tendr que atender las peticiones y recolectar los datos.
o

Pasivo

Ser el propio servidor zabbix el que se encargue de pedirle al proxy los datos con una
frecuencia determinada.
Una vez tengamos esto decidido ya es hora de instalar el servicio y de configurarlo sobre
todo.

SQLite

Esta es la solucin ms sencilla y no necesita prcticamente nada. Simplemente se instala y


la configuracin de la base de datos es inmediata. El propio proceso la crea al arrancar por
primera vez, no hay que desplegar el schema.

shell> apt-get install zabbix-proxy-sqlite

MySQL

Esta es junto con la opcin de postgress la opcin a elegir si tenemos ms carga de trabajo en
el proxy. Vamos a partir de que la instalacin del servidor MySQL ya est realizada. Por lo
tanto slo queda instalar el servicio y desplegar el schema de zabbix.
o

Instalamos el servicio

Primero vamos a instalar el servicio de zabbix-proxy. Para eso empleamos el gestor de


paquetes de nuestra distribucin.
shell> apt-get install zabbix-proxy-mysql
o

Configuramos la base de datos

La versin de MySQL no instala la base de datos al arrancarse por primera vez, as que
tenemos que desplegar el schema y crear un usuario con acceso a la nueva base de datos
del proxy. El schema que emplea es el mismo que el servidor zabbix, pero el proxy no
necesita datos, esos se los provee el servidor en su debido momento.
mysql> CREATE DATABASE zabbix_proxy_1;
mysql> USE zabbix_proxy_1;
mysql> SOURCE ~/create/schema/mysql.sql
mysql> GRANT ALL PRIVILEGES ON zabbix_proxy_1.*
-> to 'proxy_1'@'192.168.1.51'
-> IDENTIFIED BY 'YOURPASSWD';
o

Configuramos zabbix_proxy.conf para emplear MySQL


Esta parte es especfica si empleamos una base de datos diferente a SQLite.

...

DBHost

DBName

DBUser

DBPassword = YOURPASSWD

...

= 192.168.1.33
= zabbix_proxy_1
= proxy_1

Una vez est todo instalado hay que realizar la configuracin del servicio como primer paso
antes de arrancarlo. Esta configuracin se lleva a cabo en el
fichero /etc/zabbix/zabbix_proxy.conf y est perfectamente documentada en
la documentacin oficial. Al finalizar la configuracin, arrancamos el servicio y desde el
servidor zabbix creamos un nuevo proxy (Administration/DM/Proxy), segn sea activo o
pasivo.

Create a zabbix new proxy


Una vez tengamos el nuevo proxy creado, todos aquellos equipos que nos interese
monitorizar a travs de l tendremos que indicarlo desde el interfaz web y en su fichero de
configuracin indicar que la IP del servidor zabbix ser la del proxy y no la del servidor real.

Vous aimerez peut-être aussi