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:
[sourcecode].\check_veeam_eventlogs.ps1 ‘Backup Job Open Services IT’ 24[/sourcecode]
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:
[sourcecode]$ArgEventID = 190 # Replication Job complete event id[/sourcecode]
En la línea 78, reemplazaríamos
[sourcecode]if ($LogEntry.Message.ToString() -like "*Replica*`’$ArgBackupJobName`’*")[/sourcecode]
Y luego ya si queremos dejarlo chulo y cambiar el output por algo más personalizado en Castellano, cambiaríamos la línea 186:
[sourcecode]$ResultString += "CRITICAL: Se encontraron $CriticalErrorResultCount errores criticos en la replica $ArgBackupJobName en las ultimas $ArgLastHours horas"[/sourcecode]
También la línea 192:
[sourcecode]$ResultString += "Warning: La replica $ArgBackupJobName tiene $WarningResultCount mensajes Warning en las ultimas $ArgLastHours horas"[/sourcecode]
La 202:
[sourcecode]$ResultString += "CRITICAL: La replica $ArgBackupJobName acabo con errores en las ultimas $ArgLastHours horas"[/sourcecode]
Y por último la 208:
[sourcecode]$ResultString += "OK: La replica $ArgBackupJobName acabo perfectamente en las ultimas $ArgLastHours horas "[/sourcecode]
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:
[sourcecode][/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
…
[/sourcecode]
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…