Monitorizando Jobs de Copia de seguridad o Réplica de Veeam Backup & Replication

Siguiendo con una mentalidad centralizadora, hoy veremos cómo desde Centreon poder monitorizar el estado de las copias de seguridad de Veeam Backup & Replication, con esto descargaremos otra tarea más a tener en cuenta en nuestros pensamientos, ya que si falla una tarea de copia o de réplica lo sabremos al momento. No tendremos que estar pendientes más de tener que entrar en la consola para checkearlos,

 

Bien, nos apoyaremos en un script llamado ‘check_veeam_eventlogs.ps1‘, que vamos a descargar en la máquina encargada de realizar los backups. Un script de PowerShell que sencillamente ejecutaremos de forma remota mediante NRPE desde la máquina de Centreon y leeremos su output para monitorizar si las tareas de Copia o de Replica se ejecutan bien. Como está claro, primero necesitamos tener NRPE instalado y bien configurado en nuestra máquina de Centreon, si no lo tienes hecho, repasa este documento.

 

El funcionamiento es muy sencillo, podemos probarlo a ejecutarlo desde una PowerShell, habremos dejado el fichero descargado en la carpeta de scripts de NSClient, deberemos pasarle un par de parámetros al script, uno el nombre del Job y otro con el tiempo en horas para checkear dentro de ese tiempo. Ejemplo:

.\check_veeam_eventlogs.ps1 'Backup Job Open Services IT' 24

 

El script funciona perfectamente para Jobs de tipo Copia, pero no para los Jobs de tipo Réplica, nada, duplicamos el script y a este le renombramos con un ‘_replica’ para tener 2 scripts, uno que monitorizará Jobs de Copia y otros de Réplica (en otro post veremos los Jobs de los EndPoint). En este nuevo fichero realizamos las siguientes modificaciones:

En la línea 35 cambiamos por:

$ArgEventID = 190 # Replication Job complete event id

 

En la línea 78, reemplazaríamos

if ($LogEntry.Message.ToString() -like "*Replica*`'$ArgBackupJobName`'*")

 

Y luego ya si queremos dejarlo chulo y cambiar el output por algo más personalizado en Castellano, cambiaríamos la línea 186:

$ResultString += "CRITICAL: Se encontraron $CriticalErrorResultCount errores criticos en la replica $ArgBackupJobName en las ultimas $ArgLastHours horas"

 

También la línea 192:

$ResultString += "Warning: La replica $ArgBackupJobName tiene $WarningResultCount mensajes Warning en las ultimas $ArgLastHours horas"

 

La 202:

$ResultString += "CRITICAL: La replica $ArgBackupJobName acabo con errores en las ultimas $ArgLastHours horas"

 

Y por último la 208:

$ResultString += "OK: La replica $ArgBackupJobName acabo perfectamente en las ultimas $ArgLastHours horas "

 

Ale, pues lo tenemos listo, ahora no es más que dar de alta en el fichero nsclient.ini (configuración de NSClient) los alias y comandos que debe ejecutar cuando le llamemos de otro equipo, como es en nuestro caso desde un Centreon. Añadimos:

[/settings/external scripts/scripts]
check_veeam_copia_os = cmd /c echo scripts\\check_veeam_eventlogs.ps1 'Backup Job Open Services IT' 24; exit($lastexitcode) | powershell.exe -command -
check_veeam_replica = cmd /c echo scripts\\check_veeam_eventlogs_replica.ps1 'Replication Job Open Services IT' 24; exit($lastexitcode) | powershell.exe -command -
...

[/settings/external scripts/alias]
check_veeam_copia_os = check_veeam_copia_os
check_veeam_replica = check_veeam_replica
...

 

Reiniciamos el servicio de NSClient++ del equipo para que relea la configuración y ya nos vamos a Centreon para dar de alta el Servicio que monitorizará los Jobs de Copia y de Réplica.

 

Desde “Configuration” > “Services”, duplicamos cualquier Servicio que tengamos monitorizado con NRPE y así será mucho más sencillo, lo editamos y modificamos:

  • Description: El nombre del Servicio, por ejemplo el nombre del Job monitorizado.
  • Lined with Hosts: Lo enlazamos al servidor que tiene Veeam instalado y NRPE configurado.
  • Check Command: Seleccionamos el Comando, si has seguido los documentos de este blog, se llamará ‘check_nrpe’.
  • Argument: En el argumento debemos poner el Alias que hemos definido en el archivo nsclient.ini para que ejecute el script que nos interese.

 

Y estaría bien indicar en el ‘Normal Check Interval’ que se ejecute cada las X horas que nos interese, obviamente no nos interesa que se ejecute el checkeo cada 5 minutos si el job se ejecuta cada 24h por ejemplo. Grabamos el nuevo servicio con “Save” y podremos crear tantos servicios como necesitemos para otros Jobs de Copia o los de Réplica…

Grabamos la configuración & exportamos ficheros como es habitual…

 

Y podremos ver tras un rato que ya tenemos monitorizado nuestras tareas de copia de seguridad o de replicación! Con esto, otra cosa más centralizada y que podremos controlar y saber en todo momento su estado, además de disrutar de todas las ventajas de un sistema monitorizado, podremos medir SLAs…

 

Héctor Herrero

Autor del blog Bujarra.com
Cualquier necesidad que tengas, no dudes en contactar conmigo, os intentare ayudar siempre que pueda, compartir es vivir 😉 . Disfrutar de los documentos!!!

Últimos Posts de: Héctor Herrero (ver todos)