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