Por ejemplo, para mostrar los procesos activos tenemos que ejecutar bajo windows este commando:
WMIC process GET Name
Ahora vamos a implementar esta funcionalidad en Zabbix.
Zabbix tiene la posibilidad de ejecutar items mediante comandos externos a nuestros hosts utilizando el comando system.run.
Como requisito en los host tiene que estar habilitado el EnableRemoteCommands=1 en nuestro archivo de configuración del agente (zabbix_agentd.conf)
PRIMER EJEMPLO. Number of Stopped Auto Services
En este ejemplo veremos como enumerara los servicios de Windows configurados en estado automático y que estén parados.
Posteriormente si el número de servicios en estado automático y parados cambiara nos avisará con un trigger.
Esto es muy práctico para controlar si se para algún servicio que tendría que estar iniciado.
Configuración del Item:
Description: Number of Stopped Auto Services
Type: ZABBIX agent
Key: system.run[WMIC service WHERE "State="Stopped" AND StartMode="Auto"" GET Name /FORMAT:list find "Name" /c]
Type of information: Numeric (integer 64bit)
Configuración del Trigger:
Name: Number of Stopped Auto Services has Changed
Expression: {HOST:system.run[WMIC service WHERE "State="Stopped" AND StartMode="Auto"" GET Name /FORMAT:list find "Name" /c].change(0)}#0
SEGUNDO EJEMPLO: Number of Software Installed
En este ejemplo veremos como enumerara los programas instalados en Windows y que nos avise si se desinstala o instala alguno de nuevo.
Configuración del Item:
Description: Number of Stopped Auto Services
Type: ZABBIX agent
Key: system.run[WMIC product GET Name /FORMAT:list find "Name" /c]
Type of information: Numeric (integer 64bit)
Configuración del Trigger:
Name: Number of Software Installed has Changed
Expression: {HOST:system.run[WMIC product GET Name /FORMAT:list find "Name" /c].change(0)}#0
En este último ejemplo seguramente tendremos que cambiar el timeout del Servidor de Zabbix ya que WMIC tarda un poco en hacer la consulta.
sudo nano /etc/zabbix/zabbix_server.conf
# Specifies how long we wait for agent response (in sec)
# Must be between 1 and 30
Timeout=30
Zabbix 1.6.2 SO: Ubuntu 8.10
Gracias por la info!
ResponderEliminarA ver si alguien se curra un manual en castellano para despues de instalarlo empezar a usarlo...
Muito bom, meu parabéns, conteúdo que estava procurando há muito tempo e que somente agora encontrei!! meus parabéns!!!
ResponderEliminarHola a Todos,
ResponderEliminarSolo indicar que actualmente este mandato:
"WMIC product GET Name /FORMAT:list find "Name" /c"
A mi no me ha funcionado en W7 ni en W10, imagino que debido a las nuevas versiones, para que funcione correctamente el mandato sería:
"WMIC PRODUCT GET NAME /FORMAT:list | FIND "Name" /c"
Un saludo.
Hola, le agradeceré mucho que me indiquen Cual es el equivalente para linux por ejemplo de
ResponderEliminarsystem.run[WMIC product GET Name /FORMAT:list find "Name" /c]