
Saludos amigos, continuamos con esta interesante serie sobre monitorización de nuestra Infraestructura usando InfluxDB, Telegraf y Grafana, y en esta ocasión llegamos hasta la parte número siete. Hoy hablaremos de cómo monitorizar un entorno vSphere.
Topología de la Infraestructura
Para monitorizar vSphere voy a usar los Scripts de Mike Nisk, aquí su GitHub. Estso scripts son muy interesantes porque no usa Telegraf para enviar la información a InfluxDB, y además consulta directamente a las API de VMware vCenter y desde ahí lo lanza a InfluxDB, todo un lujazo.

Requisitos de Sistema
Esta configuración tiene varios requisitos de sistema que quiero mencionar antes de comenzar:
- Un entorno con Grafana, InfluxDB y Telegraf, este último opcional. Este entorno puede ser Windows o Linux.
- Es necesario tener vCenter para Windows o VCSA
- Un equipo que tenga la última versión de VMware PowerCLI, en mi caso estoy usando 6.5. Este equipo será el que lance el Powershell a vCenter. Nota: Podríais usar el propio vCenter si queréis.
- Descargar los scripts de vFlux-Stats-Kit – aquí
- El equipo desde donde lanzamos los Scripts, tiene que tener acceso a vCenter, preferiblemente mediante Active Directory, si no dará error.
Configuración de InfluxDB
Es un paso muy simple y pequeño, pero los Scripts de vFlux utilizan un usuario para ser lanzados, aunque podríamos editar los Scripts al gusto, yo prefiero crear el usuario y la password:
CREATE USER "esx" WITH PASSWORD 'esx' WITH ALL PRIVILEGES
Descarga, configuración y programación de los Scripts vFlux-Stats-Kit
Antes de comenzar con la descarga de los Scripts, de nuevo recordaros que tenéis que descargar VMware PowerCLI e instalarlo.
Bien, una vez que tenemos VMware PowerCLI, vamos a descargar los ficheros de Script y los pondremos en una carpeta, por ejemplo en C:/vmware-stats
Ahora tendremos que editarlos al gusto, por ejemplo yo he seleccionado que SI quiero Logs, y la ruta donde los quiero, aparte he decidido guardar todo en mi Base de Datos llamada telegraf, porque es allí donde ya estoy guardando todas mis métricas, además y no menos importante hay que decirle la IP o hostname del InfluxDB
Una vez hemos configurado los dos Scripts, podemos probar que funcionan ejecutándolos de manera manual, por ejemplo:
C:\vmware-stats> ./Invoke-vFlux-IOPS.ps1 -Compute vcenter.zimbra.io -Verbose
Esto nos debería devolver lo siguiente:
Si lanzamos el otro Script para la parte de Compute, veríamos algo como lo siguiente:
C:\vmware-stats> ./Invoke-vFlux-IOPS.ps1 -Compute vcenter.zimbra.io -ReportVMs -Verbose
En ambos casos si hacemos un tail del log en InfluxDB tendriamos que ver algo como lo siguiente:
[httpd] 192.168.1.42 - esx [11/Jun/2017:11:35:15 +0100] "POST /write?db=telegraf HTTP/1.1" 204 0 "-" "Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) WindowsPowerShell/5.1.14393.1198" a7d15d58-4e91-11e7-a710-000000000000 945 [httpd] 192.168.1.42 - esx [11/Jun/2017:11:35:15 +0100] "POST /write?db=telegraf HTTP/1.1" 204 0 "-" "Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) WindowsPowerShell/5.1.14393.1198" a7d1ab99-4e91-11e7-a711-000000000000 641 [httpd] 192.168.1.42 - esx [11/Jun/2017:11:35:15 +0100] "POST /write?db=telegraf HTTP/1.1" 204 0 "-" "Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) WindowsPowerShell/5.1.14393.1198" a7d1ec5c-4e91-11e7-a712-000000000000 752 [httpd] 192.168.1.42 - esx [11/Jun/2017:11:35:15 +0100] "POST /write?db=telegraf HTTP/1.1" 204 0 "-" "Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) WindowsPowerShell/5.1.14393.1198" a7d23205-4e91-11e7-a713-000000000000 665 [httpd] 192.168.1.42 - esx [11/Jun/2017:11:35:15 +0100] "POST /write?db=telegraf HTTP/1.1" 204 0 "-" "Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) WindowsPowerShell/5.1.14393.1198" a7d27463-4e91-11e7-a714-000000000000 730 [httpd] 192.168.1.42 - esx [11/Jun/2017:11:35:15 +0100] "POST /write?db=telegraf HTTP/1.1" 204 0 "-" "Mozilla/5.0 (Windows NT; Windows NT 10.0; en-US) WindowsPowerShell/5.1.14393.1198" a7d2b7fc-4e91-11e7-a715-000000000000 679
Si queremos estar doblemente seguros que nuestros Scripts están mandando datos a InfluxDB, podemos irnos a la Consola Web y lanzar el siguiente comando, y si vemos los nuevos campos, entonces todo habrá ido bien:
Creación tarea de Windows
Si ya estamos convencidos que tenemos información en nuestro InfluxDB, es el momento de crear la programación de las Tareas de Windows para que se ejecute este powershell cada 5 minutos por ejemplo así queda mi programación de Tareas:
Y dentro de ellas nada especial excepto el comando a ejecutar, powershell.exe y los atributos que son los mismos que lanzamos antes, “ruta” -Compute TUVCENTER -ReportVMs o para ESXi -ReportVMHosts
Creando los Dashboards para vSphere en Grafana
Llega uno de los momentos más deseados, la creación de los Dashboards en Grafana, en mi caso he creado uno nuevo, y una vez está todo configurado se ve de la siguiente manera:
Si analizamos el Dashboard de arriba abajo y de izquierda a derecha tenemos:
Pestaña de Hypervisor Status
- Hypervisor CPU – gráfica con la media de consumo de CPU en % y el consumo en MHz. La selección solo tiene un Host, pero se pueden añadir más
- Hypervisor Memory – gráfica con la media de consumo de RAM de los Hypervisores, además se incluyen el mínimo, media y actual consumo. La selección solo tiene un Host, pero se pueden añadir más
- Hypervisor Net Usage – gráfica con la media de consumo de Networking de los Hypervisores, además se incluyen el máximo, media y actual consumo. La selección solo tiene un Host, pero se pueden añadir más
- vCenter CPU/RAM – gráfica que hace uso del tutorial sobre Windows que os mostré en el pasado para mostrarnos el consumo de CPU y la RAM libre.
Pestaña de Virtual Machine Status
- Virtual Machine CPU Usage MHz – gráfica con la media de consumo de CPU de las máquinas virtuales en MHz. Se podría deshabilitar la leyenda si tenemos muchas VMS (recomendado).
- Virtual Machine Memory Usage – gráfica con la media de consumo de RAM de las máquinas virtuales. Se podría deshabilitar la leyenda si tenemos muchas VMS (recomendado). Además se excluye los Hosts de ESXi de este listado.
- Virtual Machine CPU READY % – gráfica con el % de uso de CPU READY por cada máquina virtual. Esta gráfica es muy importante para saber si alguna VM está tardando más de lo normal acceder a la CPU. Se podría deshabilitar la leyenda si tenemos muchas VMS (recomendado).
- Virtual Machine Network Usage – gráfica con la media de consumo de Networking de las máquinas virtuales. Se podría deshabilitar la leyenda si tenemos muchas VMS (recomendado). Además se excluye los Hosts de ESXi de este listado.
- Y por último tres gráficas sobre Storage para conocer cómo acceden nuestras VMs a los Datastores.
Como siempre, os dejo el fichero JSON que solamente tenéis que importar en vuestro Grafana y luego ya podéis cambiar vuestros Hosts, etc, y debería funcionar todo bien:
Para importarlo nos iremos hasta Grafana – Dashboards – Import y seleccionaremos el fichero descargado:
Además os dejo el Snapshot en vivo que podéis manejar, jugar, y ver más detalles de cómo está hecha cada gráfica, etc.
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)





hola sirve para la versión 5.1 ??
Saludos, puede ser que algunos valores no los recoja, pero en general, si, debería funcionar.
Jorge primero que nada quisiera agradecerte por compartir lo que sabes y felicitarte por los Dashboards que creaste. Realmente en pocos minutos se puede tener un monitoreo muy útil de toda la infraestructura de VMware.
Te quiero consultar porque en el Dashboard “VMware vSphere – VMs” no me aparecen todas las maquinas virtuales que tengo en los host esxi. Sabrías orientarme por donde empezar a mirar? Será alguna configuración de Telegraf?
Desde ya te agradezco
Saludos!
Saludos Luis,
Tienes todas las VMs en influxdb, puedes comprobarlo con Chronograf.
un saludo
Buenas tardes,
primero de todo un placer ir siguiendo tus artículos. Por otro lado, creo que el fichero json no se encuentra disponible para la descarga. ¿Podrías volver a compartirlo?
Un saludo
Hola David,
Es mejor que uses el plugin nativo de telegraf: https://www.jorgedelacruz.es/2018/10/01/telegraf-nuevo-plugin-nativo-para-monitorizacion-de-entornos-vsphere/
Sigue esos pasos, seguro que todo va bien.
Saludos
Jorge, cree todo el ambiente Ubuntu-influx-telegraf-grafana con tus pasos publicados, pero no logro tener datos en la base de datos. Como puedo arreglar esto?? los dos vcenter que tengo acceso son appliance, y al tratar de conectarme via web a la ruta del sdk, me aparece que no existe pagina
Saludos, que version de VMware vSphere? Que error te dal telegraf.log?
Saludos
Jorge,
Vmware vCenter Server 6.0.0, 3634974
grafana-server -v
Version 11.0.0 (commit: 277ef258d4b9a5acdf2932347c6a4ca72d739b28, branch: HEAD)
telegraf -version
Telegraf 1.30.2 (git: HEAD@10c15ce4)
syslog
May 23 09:50:09 bumvmonlnx01 systemd[1]: Starting Telegraf…
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Loading config: /etc/telegraf/telegraf.conf
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Loading config: /etc/telegraf/telegraf.d/influx.conf
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Loading config: /etc/telegraf/telegraf.d/ping.conf
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Loading config: /etc/telegraf/telegraf.d/vsphere-stats.conf
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z W! DeprecationWarning: Option “force_discover_on_init” of plugin “inputs.vsphere” deprecated since version 1.14.0 and will be removed in 2.0.0: option is ignored
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Starting Telegraf 1.30.2 brought to you by InfluxData the makers of InfluxDB
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Available plugins: 233 inputs, 9 aggregators, 31 processors, 24 parsers, 60 outputs, 6 secret-stores
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Loaded inputs: cpu disk diskio kernel mem ping processes swap system vsphere
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Loaded aggregators:
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Loaded processors:
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Loaded secretstores:
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Loaded outputs: influxdb_v2
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! Tags enabled: host=bumvmonlnx01
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z W! Deprecated inputs: 0 and 1 options
May 23 09:50:09 bumvmonlnx01 systemd[1]: Started Telegraf.
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:”bumvmonlnx01″, Flush Interval:10s
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z D! [agent] Initializing plugins
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z D! [agent] Connecting outputs
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z D! [agent] Attempting connection to [outputs.influxdb_v2]
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z D! [agent] Successfully connected to outputs.influxdb_v2
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z D! [agent] Starting service inputs
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z I! [inputs.vsphere] Starting plugin
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z D! [inputs.vsphere] Creating client: 10.91.xxx.yyy
May 23 09:50:09 bumvmonlnx01 telegraf[2208]: 2024-05-23T13:50:09Z E! [telegraf] Error running agent: starting input inputs.vsphere: Post “https://10.91.xxx.yyy/sdk”: EOF
May 23 09:50:09 bumvmonlnx01 systemd[1]: telegraf.service: Main process exited, code=exited, status=1/FAILURE
May 23 09:50:09 bumvmonlnx01 systemd[1]: telegraf.service: Failed with result ‘exit-code’.
gracias por tu ayuda, no encuentro otra forma igual de facil para monitorear mi ambiente
Saludos Daniel,
Pero en la version oficial del plugin dice que solo soporta desde vSphere 6.5 en adelante – https://github.com/influxdata/telegraf/blob/master/plugins/inputs/vsphere/README.md
Cuando actualices VMware me cuentas que tal funciona.
Un saludo.
puedo utilizar un appliance de version 6.5 para administrar un ambiente vmware mas antiguo??
Si claro, sin problema. Ya no me deja ver la interoperatividad, porque esas versiones están sin soporte, pero para que te hagas una idea:
https://interopmatrix.vmware.com/Interoperability?col=2,&row=1363,
Saludos