Monitorizando los Jobs de los Agentes de Veeam Backup and Replication
Si solemos utilizar el Agente de Veeam Backup and Replication en nuestra organización para realizar copias de seguridad de nuestros equipos, portátiles o servidores; usaremos este post para centralizar y por supuesto tener controladas perfectamente todas nuestras copias de seguridad en Centreon!
Como supongo que sabemos ya todos, con Veeam Backup and Replication podemos instalar un Agente en máquinas remotas para poder hacerles copias de seguridad, si ya tenemos una instalación de Centreon, podemos desde ahí mismo checkear si las tareas o Job de copia de los Agentes se ha realizado bien o no. Es otro ítem más que centralizamos en nuestra herramienta de monitorización, menos cosas a controlar manualmente o tener en cuenta!
Con este maravilloso script de PowerShell podremos de una manera muy sencilla verificar si la tarea de copia del Agente acabó bien, mal o con algún warning, lo que hace es mirar en el visor de sucesos del equipo por los registros de la tarea y leer su estado. Por tanto, habrá que consultar desde Centreon a los equipos con el Agente mediante NRPE, para así ejecutar el script de manera remota, leer su output, y tratarlo. Instalaremos NSClient++ en los puestos, si necesitas algo de ayuda en este tema, echa un vistazo a este post.
He tenido que hacer alguna modificación en el script, ya que los eventos se almacenan en un registro diferente en mi Visor de Sucesos, en mi caso se llama “Veeam Agent” y eso habrá que indicárselo al script, modifiqué:
En la linea 34:
[sourcecode]Cambiar: $ArgLogName = "Veeam Endpoint Backup"
Por: $ArgLogName = "Veeam Agent"[/sourcecode]
En la linea 36:
[sourcecode]Cambiar: $ArgProviderName = "Veeam Endpoint Backup"
Por: $ArgProviderName = "Veeam Agent"[/sourcecode]
Y finalmente en la linea 73:
[sourcecode]Cambiar: if ($LogEntry.Message.ToString() -like "*EndpointBackup job `’Backup Job*")
Por: if ($LogEntry.Message.ToString() -like "*Veeam Agent `’Backup Job*")[/sourcecode]
Como es costumbre, guardamos el script en “%ProgramFiles%\NSClient++\scripts”, podremos abrir una consola de PowerShell y probar a ejecutarlo para verificar que el funcionamiento es el correcto.
Bien, para permitir que de manera remota Centreon pueda ejecutar dicho comando, en el archivo de configuración ‘nsclient.ini’ daremos de alta el alias y el script que ejecutará, quedando algo como:
[sourcecode][/settings/external scripts/scripts]
check_veeam_copia_agente = cmd /c echo scripts\\check_veeam_endpoint_eventlogs.ps1; exit($lastexitcode) | powershell.exe -command –
[/settings/external scripts/alias]
check_veeam_copia_agente = check_veeam_copia_agente[/sourcecode]
Reiniciamos el servicio NSClient++ en el equipo para que lea la nueva configuración y tenemos el equipo listo!
Ya desde Centreon, lo mejor será crear un comando similar al check_nrpe, y duplicarlo desde “Configuration” > “Commands”. Le indicamos un nombre y que sea de tipo check, en el ‘Command Line’ pondremos algo como:
[sourcecode]$USER1$/check_nrpe -H $ARG1$ -t 30 -c check_veeam_copia_agente[/sourcecode]
La idea es no tener que dar de alta cada equipo con el Agente como si fuera un host distinto, eso no me interesa 😉 Lo que se pretende es que crearé tántos Servicios de monitorización de Agente como equipos tenga, pero los enlazaré al servidor de Veeam directamente. Así que al crear el comando, usaré un argumento que será la dirección IP o hostname del equipo a checkear.
Lo dicho, desde “Configuration” > “Services”, duplicaremos algún servicio que ya tenga el host de copias Veeam, o si no lo creamos de nuevo, vaya, con la siguiente información:
- Description: Será el nombre del servicio, algo como Veeam Agente NOMBRE_EQUIPO seguro que nos vale!
- Linked with Hosts: Enlazamos aquí el Host de la máquina Veeam, simplemente por tenerlo todo junto en esta máquina.
- Template: Asociamos una plantilla padre para que herede ciertas configuraciones.
- Check Command: Será aquí donde seleccionaremos el Comando que hemos creado en el paso anterior.
- Argumentos: Al haber seleccionado el Comando anterior nos pedirá el argumento para que indiquemos cual es el nombre de la máquina con el Agente.
Grabamos el Servicio y creamos tantos servicios como máquinas con el Agente de Veeam Backup and Replication queramos monitorizar! Grabamos, exportamos y reiniciamos también la configuración en Centreon para ver que tal queda…
Listo!! Si refrescamos la vista de lo que tenemos monitorizado ya podremos ver los Servicios que checkearán nuestros equipos remotos y estaremos seguros si la copia se hace o se deja de hacer 😉 Por cierto en este otro documento que igual te interesa, puedes ver cómo monitorizar cualquier Job de copia de seguridad o réplica de Veeam. Espero os haya parecido interesante!