Utilizamos cookies propias y de terceros. Al navegar entendemos que aceptas el uso de cookies. +Info.
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Usuario
· Wiki

Nick


Contraseña


Nuevo usuario


English

Pandora FMS: Monitorizar servidor VMware ESXi mediante Pandora FMS Open Source y PowerCLI
Seguridad Informática


Mostramos en este tutorial cómo monitorizar un servidor de virtualización VMware ESXi usando el software de monitorización Pandora FMS Open Source. Con este método podremos monitorizar casi cualquier parámetro: espacio en datastores, uso de RAM, uso de CPU, número de máquinas virtuales, número de máquinas virtuales con VMware Tools no instaladas, alarmas lanzadas, etc.



Requisitos para monitorizar un servidor de VMware con Pandora FMS Open Source y PowerCLI

Para poder monitorizar los parámetros de rendimiento, uso de disco, alarmas y demás en un servidor de virtualización VMware ESXi necesitaremos disponer de los siguientes elementos:

  • Un servidor de virtualización con VMware ESXi. A continuación mostramos cómo montar un servidor de virtualización profesional con VMware ESXi, en el tutorial siguiente montamos VMware ESXi de prueba sobre un VMware Workstation, obviamente en un entorno de producción VMware ESXi se montará en un equipo limpio, nunca sobre otro sistema operativo:
  • Un equipo con sistema operativo Windows, con las VMware PowerCLI instaladas y con Pandora FMS Windows Agent instalado. Este equipo deberá tener visibilidad de red con el servidor de VMware ESXi. A continuación mostramos un tutorial donde explicamos cómo instalar VMware PowerCLI en un equipo con Windows 7 y cómo acceder a un servidor ESXi:

    En el siguiente tutorial mostramos cómo instalar y configurar Pandora FMS Windows Agent en un equipo con sistema operativo Windows:

  • Un servidor de monitorización con Pandora FMS Open Source que tendrá visibilidad de red con el equipo con las VMware PowerCLI. A continuación mostramos un tutorial donde explicamos cómo montar un servidor de monitorización gratuito con Pandora FMS Open Source:
  • Usuario y contraseña del servidor VMware ESXi con permisos de lectura al menos en el servidor VMware ESXi. Para crear un usuario de solo lectura en VMware ESXi usaremos VMware vSphere Client o bien, si disponemos de un clúster VMware vCenter, podremos acceder vía cliente web VMware vSphere Web Client. A continuación mostramos cómo crear un usuario en un VMware ESXi con permisos de lectura.

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Accederemos a la administración del servidor VMware ESXi mediante VMware vSphere Client, pulsaremos en la pestaña "Local Users & Groups", pulsaremos con el botón derecho del ratón en cualquier espacio en blanco de esta pestaña y en el menú emergente seleccionaremos "Add":

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Introduciremos el nombre del usuario en "Login", por ejemplo "pandora" y la contraseña en "Enter password", por ejemplo "monitorizacion2015", marcaremos "Grant shell access to this user" y pulsaremos "OK" para crearlo:

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Una vez creado estableceremos los permisos, para ello accederemos a la pestaña "Permissions", pulsaremos con el botón derecho sobre alguna zona en blanco y en el menú emergente seleccionaremos "Add permission":

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Pulsaremos en "Add":

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Seleccionaremos el usuario creado "pandora" y pulsaremos "Add":

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Pulsaremos "OK":

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

Una vez establecido el usuario, seleccionaremos en el desplegable de "Assigned Role" la opción "Read-only" y pulsaremos "OK":

Crear usuario con permisos de lectura en VMware ESXi mediante VMware vSphere Client

De esta forma ya tendremos creado un usuario con permisos de solo lectura para acceso a consulta del VMware ESXi. Lo usaremos más adelante para el acceso a este servidor mediante las VMware PowerCLI.

 

Crear broker Pandora FMS para monitorizar el servidor VMware ESXi desde otro equipo con PowerCLI

Para no tener que instalar plugin ni usar software de terceros en el propio servidor VMware ESXi y para poder monitorizarlo, usaremos un equipo "puente", este equipo, con Windows, las PowerCLI instaladas y el agente de Pandora instalado, será el que conecte con el servidor VMware ESXi y obtenga los datos de monitorización. Por ello, en los requisitos, indicamos que debemos disponer de un equipo con Windows, VMware PowerCLI y Pandora FMS Windows Agent.

Cuando dispongamos de este equipo "puente", en Pandora llamado broker, accederemos a él y editaremos el fichero de configuración de Pandora FMS, que normalmente está ubicado en:

C:/Program Files (x86)/pandora_agent

Con el nombre pandora_agent.conf, podremos editarlo con cualquier editor de ficheros de texto plano sin formato, por ejemplo Notepad. Abriremos este fichero:

Crear broker Pandora FMS para monitorizar el servidor VMware ESXi desde otro equipo con PowerCLI

Añadiremos el broker para el servidor ESXI, para ello añadiremos la siguiente línea:

broker_agent Nombre_Servidor

Donde "Nombre_Servidor" podrá ser cualquier nombre, que puede coincidir con su nombre DNS (hostname) o no, lo normal es que coincida.

Guardaremos los cambios en el fichero pandora_agent.conf:

Crear broker Pandora FMS para monitorizar el servidor VMware ESXi desde otro equipo con PowerCLI

Tras añadir la línea del broker, podremos esperar unos minutos a que se ejecute el agente o bien podremos forzar la ejecución ejecutando el script restart_pandora_agent.bat:

Crear broker Pandora FMS para monitorizar el servidor VMware ESXi desde otro equipo con PowerCLI

Si todo es correcto, el agente de Pandora FMS habrá creado un nuevo fichero de configuración con el nombre del broker, en nuestro caso SERVIDORESX.conf, en este fichero será donde añadamos el código necesario para monitorizar el servidor de virtualización VMware ESXi, como veremos a continuación. Podemos editar este fichero y establecer, por ejemplo, la dirección IP del servidor ESXi:

Crear broker Pandora FMS para monitorizar el servidor VMware ESXi desde otro equipo con PowerCLI

Añadiendo la línea:

address 192.168.1.44

Donde cambiaremos "192.168.1.44" por la IP del servidor de virtualización VMware ESXi que queramos monitorizar. Este valor se puede establecer también en la consola web de administración de Pandora FMS. Más adelante volveremos a editar este fichero para establecer el script de monitorización:

Crear broker Pandora FMS para monitorizar el servidor VMware ESXi desde otro equipo con PowerCLI

Si todo es correcto, tras crear el broker en el equipo que hará de "puente", transcurridos unos minutos, podremos acceder a la consola de administración web de Pandora FMS y comprobar que se habrá creado automáticamente un nuevo agente, con el nombre indicado en agent_name del fichero SERVIDORESX.conf (fichero de configuración del broker):

Crear broker Pandora FMS para monitorizar el servidor VMware ESXi desde otro equipo con PowerCLI

A partir de ahora podremos configurar el agente creado como si se tratara de un equipo normal en Pandora FMS, como veremos a continuación.

 

Configurar agente servidor VMware ESXi en Pandora FMS

Tras crear el broker, Pandora FMS habrá creado el agente, ahora podremos editarlo para establecer la configuración, desde la consola de administración de Pandora FMS Open Source, accederemos a "Gestionar la monitorización" - "Gestionar agentes", en Buscar introduciremos el nombre del servidor (agent_name), en nuestro caso "SERVIDORESXI", si todo el proceso anterior ha sido correcto nos mostrará el agente, pulsando sobre él podremos editar su configuración:

Configurar agente servidor VMware ESXi en Pandora FMS

Por ejemplo, podremos especificar el Grupo al que pertenezca, la dirección IP, el Sistema Operativo, una Descripción, etc.:

Configurar agente servidor VMware ESXi en Pandora FMS

Pulsando en "Módulos" podremos comprobar los módulos (monitores o sondas) que se habrán creado de forma automática:

Configurar agente servidor VMware ESXi en Pandora FMS

Estos módulos no sirven pues se han generado a partir de la copia del fichero de configuración del agente de Pandora FMS en el equipo "puente" al fichero de configuración del broker, por lo tanto, explicaremos ahora cómo eliminarlos:

Configurar agente servidor VMware ESXi en Pandora FMS

Para eliminar los módulos anteriores (que no sirven), en primer lugar editaremos el fichero de configuración del broker, en nuestro caso, el fichero SERVIDORESX.conf y eliminaremos todas las líneas a partir de "# Module Definition", más adelante añadiremos aquí lo necesario para monitorizar el servidor VMware ESXi:

Configurar agente servidor VMware ESXi en Pandora FMS

Una vez eliminadas todas las líneas del fichero anterior ya podremos eliminar los módulos desde la consola de administración web de Pandora FMS. En Módulos, los seleccionaremos todos y pulsaremos en "Borrar":

Configurar agente servidor VMware ESXi en Pandora FMS

Es necesario realizar el proceso anterior porque, repetimos, los módulos por defecto no son válidos y arrojan valores que no se corresponden con la realidad del servidor VMware ESXi. Y es preciso eliminar primero el código de los módulos en el fichero de configuración del agente broker, de lo contrario volverían a regenerarse aunque los elimináramos en la consola web.

 

Añadir script PowerCLI para monitorizar servidor VMware ESXi con Pandora FMS

Para realizar la conexión con el servidor VMware ESXi y extraer la información que queramos, para la monitorización, crearemos un fichero de script PowerCLI, en la misma carpeta donde tengamos instalado el agente de Pandora FMS, en el equipo "puente", donde hemos creado el broker. En nuestro caso crearemos un fichero con el nombre datos_host.ps1, lo editaremos con cualquier editor de texto plano, como el Notepad:

Añadir script PowerCLI para monitorizar servidor VMware ESXi con Pandora FMS

Y añadiremos el siguiente código PowerCLI, explicando un poco lo que hacen las línes de código más importantes:

  • param([string]$ip, [string]$user, [string]$password) --- Para obtener los parámetros que le pasaremos al ejecutar el script (IP servidor ESXi, usuario y contraseña).
  • $conexion = Connect-VIServer -server $ip -user $user -password $password --- Establecer conexión con el servidor ESXi.
  • Con el resto de código obtendremos los datos estadísticos de: uso de CPU, uso de memoria RAM, espacio usado en todos los datastores, número de máquinas virtuales, número de máquina virtuales con VMware Tools obsoletas, número de máquinas virtuales con VMware Tools no instaladas y alarmas en el servidor ESXi (o vCenter).

Así pues, añadiremos este código al fichero y guardaremos los cambios:

Añadir script PowerCLI para monitorizar servidor VMware ESXi con Pandora FMS

Código completo de script PowerCLI.

Por último, para que el agente de Pandora FMS ejecute este script anterior y extraiga los datos necesarios para la monitorización del servidor VMware ESXi, editaremos el fichero de configuración del broker, en nuestro caso el fichero SERVIDORESX.conf:

Crear broker Pandora FMS para monitorizar el servidor VMware ESXi desde otro equipo con PowerCLI

y añadiremos al final de este fichero la siguiente línea:

module_plugin powershell -ExecutionPolicy RemoteSigned -File "%ProgramFiles(x86)%\pandora_agent\datos_host.ps1" 192.168.1.44 pandora monitorizacion2015

Cambiando, lógicamente, la IP por la IP del servidor ESXi y el usuario y la contraseña por lo que hayamos establecido en los pasos anteriores. Si hemos creado el scritp en otra ubicación y con otro nombre lo especificaremos también.

Guardaremos los cambios en el fichero SERVIDORES.conf (o el nombre que le hayamos dado):

Añadir script PowerCLI para monitorizar servidor VMware ESXi con Pandora FMS

Transcurridos unos minutos, si hemos realizado y establecido las configuraciones anteriores correctamente, desde la consola de administración web de Pandora FMS podremos acceder al agente creado y comprobar que, efectivamente, se han añadido los módulos (sondas o monitores) del script PowerCLI (espacio en datastores, RAM, CPU, número de máquinas virtuales, alarmas, etc.):

Añadir script PowerCLI para monitorizar servidor VMware ESXi con Pandora FMS

 

Configurar los módulos del agente del servidor VMware ESXi en Pandora FMS, establecer alertas

Tras seguir los pasos anteriores, ya tendremos disponibles los módulos (sondas, sensores, monitores) correspondientes para el servidor (agente) de VMware ESXi. Ahora podremos, desde la consola web de Pandora FMS Open Source, establecer los umbrales y configuraciones que deseemos para cada módulo. En la ventana de Módulos, podremos pulsar sobre el que queramos para establecer su configuración. Como ejemplo, estableceremos el umbral crítico en el que queramos que Pandora FMS cambie el estado a crítico para el espacio ocupado de un datastore determinado:

Configurar los módulos del agente del servidor VMware ESXi en Pandora FMS, establecer alertas

Podremos configurar el módulo, por ejemplo, establecer el Umbral crítico, entre 90 y 100, de forma que si llega al 90% de ocupación (de espacio ocupado del datastore), el módulo pasará a estado crítico:

Configurar los módulos del agente del servidor VMware ESXi en Pandora FMS, establecer alertas

También podremos configurar las alertas correspondientes, por ejemplo para que nos envíe un correo electrónico en caso de pasar el módulo a estado crítico. Para ello pulsaremos en "Alertas":

Configurar los módulos del agente del servidor VMware ESXi en Pandora FMS, establecer alertas

Añadiremos las alertas para cada módulo que consideremos importante, previamente hemos de tener dadas de alta las plantillas de las alertas (qué tipo de alerta y a quién se le envía, como indicamos en el siguiente tutorial: Definir acciones para las alertas en Pandora FMS). Para añadir una nueva alarma especificaremos el Módulo (sensor o monitor) y la plantilla (tipo de alarma: envío por SMS, por mail, etc. y a quién se le envía)

Configurar los módulos del agente del servidor VMware ESXi en Pandora FMS, establecer alertas

 

 

Anexo

  • Script PowerCLI para obtener los datos a monitorizar del VMware ESXi:
param([string]$ip, [string]$user, [string]$password)
Add-PSSnapin VMware.VimAutomation.Core
$certificado = Set-PowerCLIConfiguration -InvalidCertificateAction "Ignore" -Confirm:$false
$conexion = Connect-VIServer -server $ip -user $user -password $password

$datosHostESX =  Get-VMHost
$estadisticasCPURAM = "cpu.usage.average","mem.usage.average"

$estadisticas = Get-Stat -Entity $datosHostESX -Realtime -Stat $estadisticasCPURAM -MaxSamples 1     
$estadisticas | Group-Object -Property Entity | %{          
  $hostESX = "" | Select HostName, VMName, CPUAvg    
  $hostESX.HostName = $_.name     
  $cpu = $_.Group | where {$_.MetricId -eq "cpu.usage.average"} | Measure-Object -Property value -Average   
  $memoria = $_.Group | where {$_.MetricId -eq "mem.usage.average"} | Select -ExpandProperty Value
  $hostESX.CPUAvg = [int]$cpu.Average          
  $hostname = $hostESX.HostName             
}

# Memoria RAM ocupada y % carga CPU
echo "<module>"
echo "    <name><![CDATA[Carga_CPU]]></name>"
echo "    <description><![CDATA[% carga de CPU]]></description>"
echo ("    <data><![CDATA[" + $cpu.Average + "]]></data>")
echo "</module>"
echo "<module>"
echo "    <name><![CDATA[RAM_Ocupada]]></name>"
echo "    <description><![CDATA[% memoria RAM ocupada]]></description>"
echo ("    <data><![CDATA[" + $memoria + "]]></data>")
echo "</module>"


# Calculo porcentaje de espacio ocupado en Datastore
function calcularPorcentaje 
{ 
  param([parameter(Mandatory = $true)] [int]$InputNum1, [parameter(Mandatory = $true)] [int]$InputNum2) 
  $ocupado = $InputNum2 - $InputNum1
  $ocupado / $InputNum2 * 100 
}

# Obtener datastores del host ESX y su espacio ocupado
 
$datastores = Get-Datastore -Refresh -ErrorAction:SilentlyContinue -WarningAction:SilentlyContinue | Sort Name 
ForEach ($datastore in $datastores) 
{ 
  if (($datastore.Name -match "Shared") -or ($datastore.Name -match "")) 
  { 
    $porcentajeOcupado = calcularPorcentaje $datastore.FreeSpaceMB $datastore.CapacityMB 
    $porcentajeOcupado = "{0:N2}" -f $porcentajeOcupado
    $datastore | Add-Member -type NoteProperty -name PercentFree -value $porcentajeOcupado
  } 

  echo "<module>"
  echo ("    <name><![CDATA[DS_" + $datastore + "]]></name>")
  echo ("    <description><![CDATA[% Ocupacion DataStore " + $datastore + "]]></description>")
  echo ("    <data><![CDATA[" + $porcentajeOcupado + "]]></data>")
  echo "</module>"
}


  # Numero de maquinas virtuales
  $mv = Get-VM
  echo "<module>"
  echo ("    <name><![CDATA[Numero_MV]]></name>")
  echo "    <description><![CDATA[Numero MV]]></description>"
  echo ("    <data><![CDATA[" + $mv.Count + "]]></data>")
  echo "</module>"
  
  # Maquinas virtuales con VMware Tools obsoletas
  $mvToolsObsoletas = Get-VM | where{$_.Guest.ExtensionData.ToolsStatus -eq 'toolsOld'}
  echo "<module>"
  echo "    <name><![CDATA[Numero_MV_VMwareToolsOLD]]></name>"
  echo "    <description><![CDATA[Numero MV VMwrare Tools obsoletas]]></description>"
  echo ("    <data><![CDATA[" + $mvToolsObsoletas.Count + "]]></data>")
  echo "</module>"
  
  # Maquinas virtuales con VMware Tools no instaladas
  $mvToolsNoInstaladas = Get-VM | where{$_.Powerstate -eq "PoweredOn" -and $_.Guest.ExtensionData.ToolsStatus -eq 'toolsNotInstalled'}
  echo "<module>"
  echo "   <name><![CDATA[Numero_MV_VMwareToolsNoInstaladas]]></name>"
  echo "    <description><![CDATA[Numero MV VMwrare Tools no instaladas]]></description>"
  echo ("   <data><![CDATA[" + $mvToolsNoInstaladas.Count + "]]></data>")
  echo "</module>"  
   
  # Alarmas en el vCenter
  $descripcion = "Alarmas lanzadas en vCenter"  
  $numAlarmas = 0  
  $carpetasVCenter = Get-Folder # Obtenemos los contenedores de objetos del vCenter
  
  # Recorremos cada carpeta y cada alarma del vCenter
  foreach ($alarmaLanzada in $carpetasVCenter.ExtensionData.TriggeredAlarmState) 
  {
	$definicionAlarma = Get-View -Id $alarmaLanzada.Alarm # Obtenemos información de la alarma
	$entidadObjeto = Get-View $alarmaLanzada.Entity
	$entidadObjetoTipo = $entidadObjeto.GetType().Name
	$descripcionAlarma += " [Alerta][" + $entidadObjetoTipo + "]" + $definicionAlarma.Info.Name
	$numAlarmas = $numAlarmas + 1
  } 

  if ($numAlarmas -gt 0) 
  {
    $descripcion = $descripcionAlarma
  }
  
  echo "<module>"
  echo "   <name><![CDATA[Numero_Alarmas_vCenter]]></name>"
  echo ("  <description><![CDATA[" + $descripcion + "]]></description>")
  echo ("  <data><![CDATA[" + $numAlarmas + "]]></data>")
  echo "</module>"

  • Contenido por defecto del fichero de configuración del broker al darlo de alta (cogerá el contenido del fichero pandora_agent.conf del equipo donde hayamos creado el broker):

# (c) 2006-2014 Artica Soluciones Tecnologicas
# Version 5.1

# This program is Free Software, you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence or any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, without ever the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE

# General Parameters

server_ip 192.168.1.100
server_path /var/spool/pandora/data_in
temporal "C:/Program Files (x86)/pandora_agent/temp"

# Group assigned for this agent (descriptive, p.e: Servers)
group Servers
#include "C:/Archivos de programa/pandora_agent/pandora_agent_alt.conf"


# Agent uses your hostname automatically, if you need to change agent name
# use directive agent_name (do not use blank spaces, please).
# This parameter is CASE SENSITIVE.

agent_name SERVIDORESX


#Parent agent_name
#parent_agent_name caprica

# address: Enforce to server a ip address to this agent 
# You can also try to detect the first IP using "auto", for example

#address auto
# or setting a fixed IP address, like for example:
#address 192.168.36.73

# This limits operation if temporal dir has not enough free disk.
#temporal_min_size 1024

# Delay start execution X second before start to minonitoring nothing 
#startup_delay 30

# Interval is defined in seconds
interval 300

# tranfer_modes: Possible values are local, tentacle (default), ftp and ssh.
transfer_mode tentacle
server_port 41121

# In case of using FTP or tentacle with password. User is always "pandora"
#server_pwd pandora

# Debug mode do not copy XML data files to server.
# debug 1

# ODBC connections. Check documentation for more information.
# Configuring "ExampleDSN" DSN. Notice that this DSN connection must be configured
# under Control panel -> Administrative tools -> ODBC -> DSN
# odbc_ExampleDSN_username UserNameForDsn
# odbc_ExampleDSN_password Password1234

# If set to 1 allows the agent to be configured via the web console 
# (only works on enterprise version).
remote_config 0

# Set XML encoding (ISO-8859-1 by default). For Windows 7 and 2012 works fine UTF-8 encoding.(Recommended)
#encoding UTF-8

# If set to 1 start Drone Agent's Proxy Mode 
# proxy_mode 1

# Max number of simmultaneus connection for proxy (by default 10)
# proxy_max_connection 10

# Proxy timeout (by default 1s)
# proxy_timeout 1

# Enable or disable XML buffer.
xml_buffer 0

# Secondary server configuration
# ==============================

# If secondary_mode is set to on_error, data files are copied to the secondary
# server only if the primary server fails. If set to always, data files are
# always copied to the secondary server.
#secondary_mode on_error
#secondary_server_ip localhost
#secondary_server_path /var/spool/pandora/data_in
#secondary_server_port 41121
#secondary_transfer_mode tentacle
#secondary_server_pwd mypassword
#secondary_server_ssl no
#secondary_server_opts

# Module Definition
# Check online documentation and module library
# =================

# CPU Load using WMI 
module_begin
module_name CPU Load
module_type generic_data
module_wmiquery SELECT LoadPercentage FROM Win32_Processor
module_wmicolumn LoadPercentage
module_description CPU Load (%)
module_min_warning 80
module_max_warning 90
module_min_critical 91
module_max_critical 100
module_end

# Number processes
module_begin
module_name Number processes
module_type generic_data
module_exec tasklist | gawk "NR > 3 {print$0}" | wc -l
module_description Number of processes running
module_min_warning 175
module_max_warning 249
module_min_critical 250
module_max_critical 300
module_end

# Free Memory
module_begin
module_name FreeMemory
module_type generic_data
module_freepercentmemory
module_description Free memory (%).
module_min_warning 21
module_max_warning 30
module_min_critical 0
module_max_critical 20
module_end

# Log events
module_begin
module_name System Events (TermService)
module_type async_string
module_logevent
module_description Log Events coming from Terminal Service
module_source System
module_application TermService
module_end

module_begin
module_name Security Events (Invalid Login)
module_type async_string
module_description Security log events for invalid login attempt
module_logevent
module_source Security
module_eventcode 529
module_end

# Check if Dhcp service is enabled
module_begin
module_name DHCP Enabled
module_type generic_proc
module_service Dhcp
module_description Check DCHP service enabled
module_end

#Antivirus monitoring
#This modules checks the antivirus is running on your system, if there is and antivirus
#This module gets the last date the signature file was updated and send this date to pandora.
module_begin
module_name Antivirus Last Update
module_type async_string
module_precondition =~ avguard.exe cmd.exe /c tasklist | grep avguard.exe | gawk "{print $1}"
module_exec dir "%ProgramFiles%/Avira/AntiVir Desktop/aevdf.dat" | grep aevdf.dat | gawk "{print $1/" /"$2}"
module_description Last update for Antivirus Signature file
module_end

# Example plugin to retrieve drive usage
module_plugin cscript.exe //B "%ProgramFiles%/Pandora_Agent/util/df.vbs"

# Free space on disk C: (%)
#module_begin
#module_name FreeDiskC
#module_type generic_data
#module_freepercentdisk C:
#module_description Free space on drive C: (%)
#module_min_warning 31
#module_max_warning 40
#module_min_critical 0
#module_max_critical 30
#module_end

# CPU usage percentage
#module_begin
#module_name CPUUse
#module_type generic_data
#module_cpuusage all
#module_description CPU# usage
#module_min_warning 70
#module_max_warning 90
#module_min_critical 91
#module_max_critical 100
#module_end

# Free space on disk D: (%)
# module_begin
# module_name FreeDiskD
# module_type generic_data
# module_freepercentdisk D:
# module_description Free space on drive D: (%)
# module_end

# Sample of Windows inventory module (ONLY ENTERPRISE)!
#module_begin
#module_name Inventory
#module_interval 7
#module_type generic_data_string
#module_inventory CPU RAM CDROM Video HD Patches Software Services NIC
#module_description Inventory
#module_end

# Example plugin to retrieve last 5 min events in log4x format
# module_plugin cscript.exe //B "%ProgramFiles%/Pandora_Agent/util/logevent_log4x.vbs" Aplicacion System 300

# Sample on how to get a value from registry
# This returns the last time user launch microsoft Windows update
#module_begin
#module_name Windows_Update_LastRun
#module_type generic_data_string
#module_exec getreg LM "SOFTWARE/Microsoft/Windows/CurrentVersion/WindowsUpdate/Auto Update" SetupWizardLaunchTime
#module_description Last date and time user launch microsoft Windows update
#module_end

# Example of a remote TCP check
#module_begin
#module_name Google Port 80
#module_type generic_proc
#module_tcpcheck http://www.google.com
#module_port 80
#module_timeout 5
#module_description Check local port 80
#module_end

# Example of regexp matching
#module_begin
#module_name PandoraAgent_log
#module_type generic_data_string
#module_regexp C:/archivos de programa/pandora_agent/pandora_agent.log
#module_description This module will return all lines from the specified logfile
#module_pattern .*
#module_end

# Get processor time from Performance Counter (SPANISH only, check your 
# locale string) using the Windows Performance tool to 
# identify proper PerCounter strings. Check documentation for detailed steps.
#module_begin
#module_name Processor_Time
#module_type generic_data
#module_perfcounter /Procesador(_Total)/% de tiempo de procesador
#module_end

# Example of module exec, used to know about the memory used by pandora process
# grep.exe and gawk.exe are included in the util directory of the agent.
#module_begin
#module_name PandoraFMS RAM
#module_type generic_data
#module_exec tasklist | grep Pandora | gawk "{ print $5 }" | tr -d "."
#module_end

# Example of module exec, used get number of active terminal services sessions
# Works on Windows 2003. In Windows XP the query.exe and quser.exe files were
# moved to %WINDIR%/system32/dllcache. If XP, copy the exe to %WINDIR%/system32
#module_begin
#module_name Active TS Sessions
#module_type generic_data_string
#module_exec query session | grep Activ | gawk "{ print $2 }" |wc -l
#module_description Number of active TS Sessions
#module_end

# Example of watchdog process opening it if it gets closed
# NOTE: This need to enable "Service can interactuate with the deskop" option
# in the Pandora FMS Service configuration (Windows Service Control management).
#module_begin
#module_name TaskManager
#module_type generic_proc
#module_proc taskmgr.exe
#module_description This keeps taskmgr always running in the system
#module_async yes
#module_watchdog yes
#module_start_command c:/windows/system32/taskmgr.exe
#module_end

# Example of watchdog service opening it if it gets closed
#module_begin
#module_name ServiceVNC_Server
#module_type generic_proc
#module_service winvnc
#module_description Service VNC Server watchdog/service
#module_async yes
#module_watchdog yes
#module_end

# Example UDP server to be able to execute remote actions such
# as starting or stopping process.
#udp_server 1
#udp_server_port 4321
#udp_server_auth_address 192.168.1.23
#process_firefox_start firefox
#process_firefox_stop killall firefox
#service_messenger 1

# Example of preconditions
#module_begin
#module_name Test Precondicion
#module_type generic_data
#module_precondition < 10 cmd.exe /c echo 5
#module_precondition > 10 cmd.exe /c echo 15
#module_precondition = 10 cmd.exe /c echo 10
#module_precondition != 10 cmd.exe /c echo 5
#module_precondition =~ 10 cmd.exe /c echo 10
#module_precondition (5,15) cmd.exe /c echo 10
#module_freepercentmemory
#module_description Precondition test module
#module_end

# Example of postconditions
#module_begin
#module_name Test Postcondicion
#module_type generic_data
#module_condition < 10 cmd.exe /c echo min >> c:/log.txt
#module_condition > 3 cmd.exe /c echo max >> c:/log.txt
#module_condition = 5 cmd.exe /c echo equal >> c:/log.txt
#module_condition != 10 cmd.exe /c echo diff >> c:/log.txt
#module_condition =~ 5 cmd.exe /c echo regexp >> c:/log.txt
#module_condition (3,8) cmd.exe /c echo range >> c:/log.txt
#module_exec echo 5
#module_description Postcondition test module
#module_end


 


Artículos relacionados

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del Proyecto AjpdSoft.

Artículo en inglés.


Anuncios


Enviado el Jueves, 18 junio a las 13:40:36 por ajpdsoft
Este sitio web NO CONTIENE malware, todos los programas con código fuente aquí. Autor: Alonso Javier Pérez Díaz Google+ Síguenos en Google+