Avisos de Veeam B&R en Telegram!

Antes que todo, esto es por mero entretenimiento y puesto en mi laboratorio para pruebas.

Hace tiempo llevo dandole vueltas al tema, las notificaciones por mail están bien, pero cuando tienes el buzón lleno, te llegan 100 o más correos al día, etc. se te escapan los realmente importantes, por ello, le daba vueltas a la manera de recibir alertas importantes fuera del correo, y de ahí nació la idea de ser notificado por Telegram!

Por partes, vamos a crear un bot de Telegram, para que podamos recibir los mensajes, y de ahí redirigirlos a un grupo de chat o lo que sea:

En Telegram:

  1. Escribe @BotFather en la barra de búsqueda de Telegram
  2. Elige la primera opción, que aparece con un “check” rojo de verificación (demuestra que es el bot oficial de Telegram)
  3. Clica en INICIAR
  4. Escribe el comando /newbot o haz clic sobre el mismo en la lista de comandos que se muestra en el chat
  5. Seguidamente, escribe un nombre para tu bot y pulsa enter (Ejemplo: Telegram_Notifier)
  6. Ahora se te pedirá establecer un nombre de usuario, que en este caso debe terminar en “bot” (Ejemplo: telegramnotifierBot)
  7. Listo! guarda bien el token, que mas adelante nos servirá para validarnos, click en el enlace de tu nuevo bot, y entrarás en el, como un canal de chat.
  8. ahora necesitamos nuestro ID de telegram, para ello, otro bot:
    Accede a IDbot, y escribe el comando /getid
    contestará tu ID es: …
    apuntalo bien también.

Ahora en Windows, yo he creado un fichero ps1 llamado telgram, el cual contiene lo siguiente:

Function Send-Telegram {
Param([Parameter(Mandatory=$true)][String]$Message)
$Telegramtoken = "AQUÍ DEBEIS PEGAR VUESTRO TOKEN"
$Telegramchatid = "AQUI EL ID"
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$Response = Invoke-RestMethod -Uri "https://api.telegram.org/bot$($Telegramtoken)/sendMessage?chat_id=$($Telegramchatid)&text=$($Message)"}

$A = Get-WinEvent -MaxEvents 1  -FilterHashTable @{Logname = "Veeam Backup"}
$Message = $A.Message
$MachineName = $A.MachineName
$Source = $A.ProviderName

Send-Telegram $Message

guardarlo, donde más os guste! Editarlo con vuestro TOKEN e ID!!

Nos vamos a ir ahora al programador de tareas de windows, os pongo unos pantallazos que será mas sencillo!

Abrimos el programador de tareas de Windows

Seguimos el asistente

seguimos

En la lista, seleccionamos el origen de los logs, Veeam Backup, y en Source, aquí Veeam Backup y mas adelante añadiremos un segundo source.
indicamos que queremos iniciar un programa
OJO el programa es POWERSHELL!
el argumento será el fichero powershell .ps1 que guardamos antes, hay que poner el path completo de donde está!

Finalizamos

Ahora, editamos las propiedades de la tarea

Dejamos las opciones como se muestran en el pantallazo, que se ejecute siempre y que no guarde password.

Aqui le decimos qué eventos disparan nuestra tarea, añadimos Veeam Backup, ahora añadiremos el otro

Revisamos que todo esté ok

Ya tenemos nuestra tarea programada lista!

ya lo tenemos todo configurado, una prueba rápida, abrimos nuestro Veeam B&R si no lo tenemos abierto, nos vamos a Configuration Backup, y subimos en 1 día la retención de los backups de configuración, nos debería llegar una notificación a nuestro Telegram

Configuration job has been modified.

Y si Lanzas una tarea de backup, te notificará así:

Desde aquí, ya es ir afinando desde el programador de tarea los eventos que queremos recibir a través de Telegram de nuestro Veeam B&R!

Espero que os sea útil,
no soy ningún amigo de la programación, si lo mejoráis (seguro que lo haréis) no dudes en contactarme para que podamos ir actualizando el post y tener una notificación por Telegram Épica!

Saludos.