Saludos amigos, he hablado de Veeam Backup para Microsoft 365 en múltiples ocasiones aquí, creo que es la mejor Solución de Protección de Datos del Mercado para aquellas cargas de trabajo específicas en Microsoft 365 nativo, aquí tenéis una lista de artículos sobre ella:
- Veeam anuncia Veeam Backup for Microsoft Office 365 v6 – Self-Service Portal e integración nativa con Azure Archive y AWS S3 Glacier
- Veeam: Análisis detallado de la nueva RESTful API de Veeam Backup for Microsoft Office 365 v5
- Veeam: Veeam Backup for Microsoft Office 365 v5 – Notificaciones de Seguridad por cada operación de Restauración
- Veeam: Cómo crear administradores adicionales para acceso a la Consola de Veeam Backup for Microsoft Office 365
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIII – Veeam Backup for Microsoft Office 365 v4
Una gran solución, que por ahora, no se puede complementar con Veeam Availability Suite para una mejor monitorización. Si llevas tiempo utilizando Veeam Backup and Replication, y has desplegado Veeam Backup for Microsoft 365, es posible que eches en falta el Informe Diario HTML que puede ayudar a entender rápidamente cómo ha ido todo.
Veeam Backup for Microsoft 365 viene con este gran informe de forma nativa después de que se ejecute cada trabajo:

El Informe HTML nativo es genial pero no da opción a ejecutarlo por trabajo, y diariamente por ejemplo, además de enviarlo a la dirección de correo electrónico que elijas (pensando en Proveedores de Servicios aquí).
Entiendo que son bastante importantes, ya que, con las ofertas de SaaS, tendemos a proteger esas cargas de trabajo con un RPO mejorado, como hacer Backups más a menudo, incluso cada x minutos, etc. Tranquilos, después de unas cuantas horas ayer, he cogido el realmente impresionante Veeam Backup for Microsoft 365 RESTful API, y he construido el Informe para vosotros. Si sigues todos los pasos de este post, tendrás algo parecido a esto en tu correo electrónico todos los días:

Topología con todos los componentes lógicos
Esta entrada es bastante nueva, ya que nunca he hecho ningún informe HTML desde Bash, fue bastante bueno, y gran curva de aprendizaje, toneladas de ecos en el código, un diagrama se ve así:
Como podemos ver, el script de la shell descargará las métricas de Veeam Backup for Microsoft 365 usando la API RESTful, que luego se juntarán en un bonito Informe HTML, y se enviarán después al Backup Admin, o a los Backup Admins.
Pequeños requisitos del sistema antes de continuar
Necesitaremos dos pequeños requisitos del sistema antes de continuar, el primero será JQ, que es un paquete que nos ayuda a parsear el JSON, vamos a instalarlo, yum install si es CentOS:
apt-get install jq
La segunda está relacionada con la capacidad de enviar correos electrónicos. Estoy usando un paquete avanzado llamado s-nail, así que vamos a instalarlo:
apt-get install s-nail
Como no queremos que vayan al SPAM, utilizaremos un servidor de correo externo para enviar estos correos, para ello, editaremos el archivo de configuración local del paquete:
vi ~/.mailrc
Y añade lo siguiente al archivo, que probablemente estaba vacío, cambia el servidor, el usuario y el pass por los tuyos:
set smtp-use-starttls set ssl-verify=ignore set smtp=smtp://TUSMTPSERVER:587 set smtp-auth=login set smtp-auth-user="[email protected]" set smtp-auth-password="TUPASSWORD" set from="[email protected]"
Eso es todo. Pasemos a lo siguiente.
Descargar, y configurar el script veeam_microsoft365_email_report.sh.
Ya tenemos casi todo listo, nos queda un último paso, el script que hará que todo esto funcione, vamos a descargar la última versión desde el repositorio de Github:
Este script de shell se puede descargar y ejecutar desde cualquier Linux, necesitará tener acceso a la API RESTful de Veeam Backup for Microsoft 365, que es HTTPS, y al puerto 4443. Tendremos que editar los parámetros de configuración, aquí puedes tocar si quieres más de las últimas 24 horas, el correo electrónico, además de la IP de tu Veeam Backup for Microsoft 365, el usuario/pass, etc:
veeamUsername="TUUSUARIO" veeamPassword="TUPASSWORD" veeamRestServer="TUSERVIDORDEVEEAMOFFICE365IP" veeamRestPort="4443" #Puerto por defecto ## Variables del sistema sessionsJob="48" #Basado en la programación de VBO, 48 significa ejecutar el trabajo cada 30 minutos durante las últimas 24 horas reportDate=$(date"+%A, %B %d, %Y %r") reportDatePath=$(date "+%A%B%d%Y") reportDateTo=$(date "+%Y-%m-%d") reportDateFrom=$(date -d "$reportDateTo" '+%s') reportPath="/home/oper/vbo_daily_reports" email_add="TUEMAILPARARECIBIREMAILS"
Una vez hechos los cambios, haz que el script sea ejecutable con chmod:
chmod +x veeam_microsoft365_email_report.sh
Lo ejecutamos, no debería salir nada, así que no hay errores, una vez terminado revisa la ruta de informes y mira si tienes un Informe HTML ahí:
ls vbo_daily_reports/ -la -rw-r--r-- 1 root 140817 Aug 3 13:32 Microsoft365-Job-Report-BJ-EXCHANGE-ALL-TuesdayAugust032021.html -rw-r--r-- 1 root 70407 Ago 3 13:33 Microsoft365-Job-Report-BJ-ONEDRIVE-ALL-MartesAgosto032021.html -rw-r--r-- 1 root 70373 Ago 3 13:33 Microsoft365-Job-Report-BJ-SHAREPOINT-MartesAgosto032021.html -rw-r--r-- 1 root 140362 Aug 3 13:32 Microsoft365-Job-Report-BJ-TEAMS-TuesdayAugust032021.html -rw-r--r-- 1 root 70527 Ago 3 13:32 Microsoft365-Job-Report-GERMANY-SHAREPOINT-SITES-MartesAgosto032021.html -rw-r--r-- 1 root 70239 Aug 3 13:32 Microsoft365-Job-Report-M365x789721-EXCHANGE-MartesAgosto032021.html -rw-r--r-- 1 root 70497 Ago 3 13:33 Microsoft365-Job-Report-M365x789721-ONEDRIVE-MartesAgosto032021.html -rw-r--r-- 1 root 70718 Ago 3 13:31 Microsoft365-Job-Report-M365x789721-SHAREPOINT-MartesAgosto032021.html -rw-r--r-- 1 root 240443 Ago 3 13:32 Microsoft365-Job-Report-M365x789721-TEAMS-MartesAgosto032021.html -rw-r--r-- 1 root 70506 Ago 3 13:32 Microsoft365-Job-Report-POLAND-SHAREPOINT-SITES-MartesAgosto032021.html -rw-r--r-- 1 root 70438 Ago 3 13:33 Microsoft365-Job-Report-UK-SHAREPOINT-SITES-MartesAgosto032021.html -rw-r--r-- 1 root 140289 Aug 3 13:33 Microsoft365-Job-Report-UK-TEAMS-TuesdayAugust032021.html
Si es así, ahora añade este script a tu crontab, como por ejemplo, todos los días será mi recomendación:
30 23 * * * /home/oper/veeam_microsoft365_email_report.sh >> /var/log/vboreport.log 2>&1 >/dev/null 2>&1
¡Ya está, todo bien y listo!
Informe diario HTML Veeam Backup for Microsoft 365
En el caso de que toda la configuración del correo electrónico esté bien, SmartHost, etc. Deberíais recibir un email muy bonito como este, con todas las sesiones que habían ocurrido durante las últimas 24 horas:
Lo dicho, absolutamente asombroso ver todo esto en un solo lugar, si echas un vistazo rápido, puedes ver rápidamente las estadísticas por Trabajo, tiempo que tardó, objetos procesados, etc.
Eso es todo, estoy planeando añadir muchos más detalles en estos informes HTML, ya que puedo ver que parece haber una gran demanda de ellos. Para la monitorización en tiempo real, y algún gran dashboarding, no olvidéis que ya tenemos el Grafana Dashboard para Veeam Backup for Microsoft 365:


Leave a Reply