Saludos amigos, por demanda popular y porque también tenía ganas de escribir este Blog post, hoy continuo con esta seria de Blogs que está teniendo bastante repercusión, En Busca del Dashboard Perfecto, una serie que comenzó el año pasado sobre cómo conseguir un Dashboard con tecnologías opensource como son Grafana, Telegraf e InfluxDB, hoy Grafana y Veeam.
Arquitectura lógica de Veeam, Grafana, InfluxDB y Telegraf
Así es cómo quedaría la arquitectura lógica del diseño en este caso monitorizando Veeam, cómo ya os explique en otro post, los Scripts Powershell pueden ser ejecutados desde el propio server Veeam, o desde otro equipo que tenga la standalone Console.
Como podemos observar, el flujo será el siguiente: en el server de veeam (o uno con standalone console) tendremos unos scripts, Telegraf lanzará estos scripts en el intervalo que mencionemos y enviará las métricas al server de influxdb, en Grafana construiremos el Dashboard a nuestro gusto.
Creación y configuración del Script Powershell para Veeam
Me he basado en el Script que ya os comenté el otro día del bueno de Markus Kraus, pero en mi caso he tenido que procesar el output de una manera muy especial para que fuera un JSON que Telegraf sabe como procesar, además he añadido algunas líneas para ver el número de Endpoints que estamos protegiendo, y espero que con vuestra ayuda podamos hacerlo crecer. Descargar el Script desde aquí o ir a GitHub, y ubicarlo en la ruta que queráis en mi caso C:, estar atentos a la siguiente línea y poner vuestro veeam server fqdn o IP
[Parameter(Position=0, Mandatory=$false)] [string]$BRHost ="veeamsrv",
Si lanzamos el comando desde nuestra Shell, para probar que todo va bien, debemos ver algo como lo siguiente, pero con vuestros números:
{
"Successful-Backups" : 2,
"Warning-Backups" : 6,
"Failes-Backups" : 0,
"Failed-Backups" : 0,
"Running-Backups" : 0,
"Successful-BackupCopys" : 0,
"Warning-BackupCopys" : 0,
"Failes-BackupCopys" : 0,
"Failed-BackupCopys" : 0,
"Running-BackupCopys" : 0,
"Idle-BackupCopys" : 0,
"Successful-Replications" : 0,
"Warning-Replications" : 0,
"Failes-Replications" : 0,
"Failed-Replications" : 0,
"TotalBackupTransfer" : 3,
"REPO - VEEAM" : 87,
"REPO - VMFS6" : 100,
"Number of protected Endpoints" : 2,
"TotalBackupRead" : 8,
"Running-Replications" : 0
}
Si es así ya estamos listos para configurar Telegraf
Configuración de Telegraf para Veeam
No voy a mencionar todo el proceso de instalación de Telegraf en Windows, porque ya comenté los pasos con detalle en esta otra entrada de Blog. Adjunto las opciones nuevas que tendremos que tener en nuestro Telegraf, lo podemos añadir al final del todo:
[[inputs.exec]] commands = ["powershell C:/veeam-stats.ps1"] name_override = "veeamstats" interval = "60s" timeout = "60s" data_format = "influx"
Básicamente lo que estamos haciendo es:
- Usar un ejecutable, un Powershell en este caso, en la ruta que queramos, si tenemos que usar C:/
no C:\, - Hemos seleccionado el nombre que tendrá nuestras stats dentro de Grafana
- Un intervalo largo, ya que no necesitamos ejecutarlo cada menos, pero aquí podéis jugar como queráis
- Un timeout, ya que ejecutar el Script y crear el JSON lleva unos segundos
- El formato en el que crearemos el resultado en este caso “json”
Me he permitido el lujo de añadir unos contadores adicionales para monitorizar con más precisión la interfaz de red y la CPU:
[[inputs.win_perf_counters.object]]
# Networking in/out/total bytes
ObjectName = "Network Interface"
Instances = ["*"]
Counters = ["Bytes Sent/sec","Bytes Received/sec"]
Measurement = "win_net"
[[inputs.win_perf_counters.object]]
# Processor usage, alternative to native, reports on a per core.
ObjectName = "Processor"
Instances = ["*"]
Counters = [
"% Idle Time",
"% Interrupt Time",
"% Privileged Time",
"% User Time",
"% Processor Time",
]
Measurement = "win_count_cpu"
Ya podemos reiniciar el proceso de Telegraf y revisar el log por si tenemos algún error.
Configuración de Grafana para Veeam
Os dejo el Dashboard aquí directo para que lo descarguéis e importéis en vuestro Grafana de la siguiente manera:

Una vez que cambiéis los paneles con vuestros host de veeam correspondiente, deberíais de ver algo similar a esto:
PD: Las Tablas con los trabajos y VMS son simples HTML de momento, ya que no he conseguido pasarlo a InfluxDB.
Si queréis jugar con este Dashboard en tiempo real podéis ir aquí:
https://snapshot.raintank.io/dashboard/snapshot/Dt88CVVBdqULOw0jiT8Xt2PQh85EIUqp
Gracias a psvmware.wordpress.com
Espero que os guste, y me gustaría dejaros la serie completa aquí, para que empecéis a jugar con los plugins que os he ido contando todos estos años:
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte I (Instalando InfluxDB, Telegraf y Grafana)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte II (Instalar agente Telegraf en Nodos remotos Linux)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte III Integración con PRTG
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IV (Instalar agente Telegraf en Nodos remotos Windows)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte V (Activar inputs específicos, Red, MySQL/MariaDB, Nginx)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VI (Monitorizando Veeam)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VII (Monitorizar vSphere)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte VIII (Monitorizando Veeam con Enterprise Manager)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte IX (Monitorizando Zimbra Collaboration)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte X (Grafana Plugins)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XI
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XII – Plugin nativo de Telegraf para vSphere
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIII – Veeam Backup for Microsoft Office 365
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIV – Veeam Availability Console
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XV – Monitorización IPMI de nuestros Hosts ESXi
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVI – Rendimiento y seguridad avanzada de Veeam Backup for Microsoft Office 365
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVII – Mostrando los Dashboards en dos monitores usando Raspberry Pi 4
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XVIII – Monitorizar temperatura y estado de Raspberry Pi 4
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XIX (Monitorizando Veeam con Enterprise Manager) Shell Script
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XX (Monitorizando Certificados SSL x.509)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXI (Monitorizando HTTP Responses)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXII (Monitorizando Cloudflare con Mapa)
- En busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIII (Monitorizando WordPress con Jetpack RESTful API)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIV (Monitorizando de Veeam for Microsoft Azure)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXV (Monitorizando Consumo Eléctrico)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVI (Monitorizando Veeam Backup for Nutanix)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVII (Monitorizando ReFS y XFS (block-cloning y reflink)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXVIII (Monitorizando HPE StoreOnce)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXIX (Monitorizando PiHole)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXX (Monitorizando Veeam Backup for AWS)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXI (Monitorizando Unifi Protect)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXII (Monitorizando Veeam ONE – experimental)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIII (Monitorizando NetApp ONTAP)
- En Busca del Dashboard perfecto: InfluxDB, Telegraf y Grafana – Parte XXXIV (Monitorizando Goldshell Miners – JSONv2)


Jorge, gracias por tremendo MEGA Tutorial. Ojala pronto puedas subir el capitulo de ESXi.
Thank you so much for that tutorial.
In my case there is an error, when I run the PowerShell Skript with telegraf.
E! Error in plugin [inputs.exec]: unable to parse out as JSON, invalid character ‘v’ looking for beginning of value
I don´t know what this error message mean.
Thank you for your help.
Sebastian
Hi Sebastian,
You should replace
data_format = “json” => data_format = “influx”
Seems Jorge forgot to update this post.
Fixed it now 🙂
Buenas! gracias por el tutorial. Con que version de Veeam funciona? intente seguir los pasos pero no me toma varios indicadores.
Saludos.
Great Job, congrats!
Jorge, excelente articulo !
No lo puedo hacer funcionar, me indica que me falta el componente VeeamPPSnapIn, a pesar de que lo tengo instalado y accedo correctamente desde la consola de Veeam Backup & Replication.
Intenté también usar el script de tu otro post (Enterprise Manager) pero al parecer no me funciona porque no tengo EM sino VBR
Alguna idea ?
Saludos Diego,
Este script es algo viejo, tengo que revisarlo, es mucho mejor usar Enterprise Manager en Enterprise Plus. Ya lo ojeare cuando tenga un rato.
Un saludo
reemplazando Add-PSSnapin .PassThru VeeamPSSnapin por Import-Module Veeam.Backup.Powershell funciona
Muchas gracias Jorge, EM = VBR ? O nada que ver ?
Buenas tardes, jorge excelente el DAshboard lo que si es que no deja descarrgar el JSON sino que te da como el codigo me puedes ayudar en eso.
Recomiendo que uses el nuevo para Enterprise Manager, en caso de que tengas Enterprise+. Búscalo en el menú del post.
Un saludo
¡Buen día! La métrica “Total Backup Transfer”: 3, no se recopila, ¿cómo puedo resolver este problema?
My output:
PS C:> .\veeam-stats.ps1
veeam-stats successfulbackups=5
veeam-stats warningbackups=3
veeam-stats failesbackups=4
veeam-stats failedbackups=4
veeam-stats runningbackups=0
veeam-stats successfulbackupcopys=0
veeam-stats warningbackupcopys=0
veeam-stats failesbackupcopys=0
veeam-stats failedbackupcopys=0
veeam-stats runningbackupcopys=0
veeam-stats idlebackupcopys=0
veeam-stats successfulreplications=0
veeam-stats warningreplications=0
veeam-stats failesreplications=0
veeam-stats failedreplications=0
veeam-stats REPO_IBM=100
veeam-stats REPO_52=52
veeam-stats REPO_VEEAM01=4
veeam-stats protectedendpoints=0
veeam-stats totalbackupread=6497
veeam-stats runningreplications=0