• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz

El Blog de Jorge de la Cruz - Todas las novedades sobre VMware, Veeam, InfluxData, Grafana, Zimbra, etc.

  • Home
  • VMware
    • VMworld
    • VMware vSphere 6.7
    • VMware vSphere 6.5
  • Veeam
    • Resumen Contenido 2021
    • Veeam v11
      • Continuous Data Protection (CDP
      • Ransomware Protection
      • Archive Tier
      • Mejoras en Instant Recovery
      • Veeam Agent for Mac
      • Veeam Backup for AHV v2.1
    • Veeam Backup for Microsoft Office 365
      • 1 – Razones para proteger nuestra información en Microsoft Office 365
      • 2 – Componentes lógicos de Veeam Backup for Microsoft Office 365 2.0
      • 3 – Instalación paso a paso de Veeam Backup for Microsoft Office 365 v2.0
      • 4 – Configuración inicial de Veeam Backup for Microsoft Office 365 v2.0
      • 5 – Creando trabajos de copia en Veeam Backup for Microsoft Office 365 v2.0
      • 6 – Restaurando elementos en Veeam Backup for Microsoft Office 365 v2.0
    • Veeam Backup for AWS
      • Veeam: Veeam anuncia Veeam Backup for AWS Free Edition
      • Veeam: Cómo Desplegar Veeam Backup for AWS – paso a paso
      • Veeam: Vistazo en profundidad al nuevo Veeam Backup for AWS – Creación de Políticas de Backup y Restauración
      • Veeam: Cómo conectar nuestro Veeam Backup & Replication a Veeam Backup for AWS
    • Veaam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte I – Introducción a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte II – Descarga e Instalación de Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte III – Añadir una Infraestructura de VMware vSphere a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte IV – Añadir una Infraestructura de Veeam Backup and Replication a Veeam ONE
      • En busca del Dashboard perfecto: Veeam ONE – Parte V – Realizando troubleshooting de vSphere usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VI – Realizando troubleshooting de Veeam Backup and Replication usando Veeam ONE Monitor
      • En busca del Dashboard perfecto: Veeam ONE – Parte VII – Vistazo profundo a los Dashboards en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte VIII – Vistazo profundo a Reportes en Veeam ONE Reporter
      • En busca del Dashboard perfecto: Veeam ONE – Parte IX – Chargeback para crear reportes de coste de nuestra Infraestructura
    • Veeam Availability Console
      • 1 – Teoría e información útil sobre el producto
      • 2 – Instalación de Veeam Availability Console
      • 3 – Configuración y conexión con VBR Server
      • 4 – Administración centralizada de Veeam Backup Agents
      • 5 – Backup de Agentes a diferentes destinos, SMB, Repositorio Veeam o Cloud Connect
      • 6 – Reportes de Backup de Veeam Agent y Veeam Backup and Replication
      • 7 – Manejando la Facturación de Veeam Agents, Backup and Replication y Cloud Connect
    • Backup y restore de cargas de trabajo a Microsoft Azure
      • 1 – Introducción
      • 2 – Conectividad entre nuestro Datacenter y Microsoft Azure
      • 3 – Desplegar Veeam Backup and Replication en Microsoft Azure
      • 4 – Configuración en nuestro Datacenter para backup a Microsoft Azure
      • 5 – Restaurando a Microsoft Azure, desde Microsoft Azure
      • 6 – Migrar cargas de trabajo desde Microsoft Azure hacía nuestro Datacenter
    • Veeam v9.5 Update 4
      • Veeam Cloud Tier
        • Cómo controlar el ancho de banda en Veeam Cloud Tier
      • Secure Restore y Staged Restore
      • Mejoras en Veeam Agent Management
      • Veeam Community Edition
      • Actualizar Veeam Enterprise Manager y Veeam Backup and Replication a la última versión
      • VeeamONE con Intelligent Diagnostics, Remediation actions, Business View 2.0 y Application Monitoring
    • VeeamON 2022
      • Novedades en Veeam ONE v12
    • VeeamON 2021
      • VBO v6 – Self-Service y Backup Copy Glacier-Azure Archive
    • VeeamON 2020
      • Veeam Backup for AWS v2.0
    • VeeamON 2019
      • Veeam Availability Orchestrator v2.0 – ¡novedades!
    • VeeamON 2017
      • Sesiones recomendadas
      • Día I – Veeam Availability Suite v10 – ¡novedades!
      • Día II – Veeam Azure PN (Powered Network), Scale-out Archive Tier y mucho más
    • VeeamON 2015
      • VeeamON 2015 volverá a Las Vegas en el único Evento sobre Disponibilidad en el Data Center
      • Completo resumen, keynotes e imágenes
      • vBrownBag – Jorge de la Cruz – Stop sending postcards to your customers
  • Zextras
  • PRTG
  • Office 365
    • Microsoft – Añadiendo nuestro dominio a Office 365, configuración de DNS y migración de actual Mailbox
    • Veeam: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
    • PRTG: Usando Microsoft Office 365 para nuestras notificaciones por correo electrónico
  • Zimbra
    • Instalación
      • Instalando Zimbra 8.7.6 sobre Ubuntu 14.04 LTS – ¡con Chat y Drive!
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte II
      • Amazon Lightsail para instalar Zimbra Collaboration 8.7.1, Parte I
      • Instalando Zimbra 8.7.x con un solo comando, incluye Chat y Drive
  • Linux
    • InfluxDB, Grafana y Telegraf
      • 1 – Instalación y configuración de los components
      • 2 – Instalar agente en Linux
      • 3 – Integración con PRTG
      • 4 – Instalar agente Telegraf en Nodos remotos Windows
      • 5 – Activar inputs específicos, Red, MySQL/MariaDB, Nginx
      • 6 – Monitorizando Veeam
    • Ansible y Zabbix
      • 1 – Inicio
      • 2 – Instalación de Ansible e integración con Active Directory
      • 3 – Configuración de AutoDiscovery en Zabbix
      • 4 – Instalación del agente de Zabbix en Windows
      • 5 – Instalación del agente de Zabbix en Linux y Auto Remove en Zabbix
    • Jenkins
      • 1 – Inicio
      • 2 – Instalación de Jenkins en Ubuntu
      • 3 – Instalando nuestro primer plugin
      • 4 – Sincronización NTP de Linux
      • 5 – Añadir un Slave Windows a Jenkins
      • 6 – Ejecutar tareas en Linux
      • 7 – Ejecutar tareas en Windows
    • Kubernetes
      • 1 – Introducción a Kubernetes
      • 2 – Instalación paso a paso
      • 3 – RollingUpdate con Kubernetes
      • 4 – Dashboard
      • 5 – Volúmenes NFS
      • 6 – Registry
      • 7 – Traefik
      • 8 – Systemd con Traefik y Proxy de Kubernetes
      • 9 – Heapster Influx Grafana
      • 10 – Labels de Kubernetes
      • 11 – API: Swagger
      • 12 – API: Creando nuestro primer POD
  • Contribuidores
    • Acerca de Jorge
    • Acerca de Oscar Mas
      • Clúster SQL
        • 1 – Introducción
        • 2 – Preparación de los equipos virtuales
        • 3 – Instalación del Clúster de Microsoft
        • 4 – Instalación de SQL Server para Clúster de Microsoft
        • 5 – Configuración de nuestro Clúster de SQL
        • 6 – Monitorización de Clúster de SQL con Zabbix
        • 7 – Actualizando clúster de SQL

VMware: Cómo extraer la información sobre Temperatura de ESXi for ARM, enviarla a InfluxDB, y visualizarlo con Grafana

17 November, 2020 - Escrito en: opensource, vmware

Saludos amigos, os conté hace unas semanas lo que VMware acababa de lanzar, y que iba a revolucionar el mundo de la virtualización y hacerla, todavía más, accesible en muchos nuevos casos de uso con el nuevo ESXi for ARM, os ¿perdisteis el vídeo? aquí os lo dejo:

Bien, una de las cosas que más me preocupaba, creo que en el vídeo lo menciono, era el poder controlar la temperatura de las Raspberry Pi con ESXi for ARM, ya que lo normal es que ESXi obtenga todos estos datos desde la IPMI, iDRAC, iLO, etc.

Pero por suerte tenemos un héroe (Tom Hebel) que trabaja en VMware y que ha compilado un driver nativo para extraer esta información, además de poder interactuar con muchas más cosas.

  • https://github.com/thebel1/thpimon

Diagrama de cómo funciona esta solución

Está bien, creo, sólo crear un .json que luego telegraf parsea  y escribe en InfluxDB, pero si encuentro una mejor manera de hacerlo, todo mejorará, aquí el diagrama:

Descargar e instalar el Driver Nativo de ESXi for ARM para Raspberry Pi

No se si hace falta decirlo, pero todos estos pasos obviamente son para un producto sin soporte, creado por la Comunidad 🙂

Para descargar el plugin desde nuestro ESXi por SSH, tendremos que desactivar primero el firewall para que pueda conectarse por el cliente http de ESXi, además de tener que bajar la seguridad del sistema para que podamos instalar este plugin:

esxcli software acceptance set --level=CommunitySupported
esxcli network firewall ruleset set -e true -r httpClient

Una vez tenemos realizados estos cambios, procederemos a descargar el paquete, directamente desde el GitHub de Tom, echar un vistazo vosotros, ya que puede nuevas versiones:

wget https://github.com/thebel1/thpimon/raw/main/build/vib/thpimon-0.1.0-1OEM.701.1.0.40650718.aarch64.vib

Fantástico, vamos a proceder a la instalación del driver de Raspberry Pi para ESXi for ARM:

esxcli software vib install -v /thpimon-0.1.0-1OEM.701.1.0.40650718.aarch64.vib

Esto os tendría que mostrar algo similar a esto, pasados unos segundos o hasta un minuto:

Installation Result
Message: Operation finished successfully.
Reboot Required: false
VIBs Installed: THX_bootbank_thpimon_0.1.0-1OEM.701.1.0.40650718
VIBs Removed:
VIBs Skipped:

Aunque el VIB dice que no hay que reiniciar, realmente es lo recomendado, así que ya sabéis:

reboot

Una vez reiniciamos, comprobamos que tenemos un nuevo dispositivo en /dev/vmgfxXX en mi caso es /dev/vmgfx32.

Nota: Poner esto en una partición de scratch o en algún datastore donde el ESXi pueda acceder para conservarlo aunque reiniciemos.

Ahora descargaremos el ejemplo de monitorizar la RPi que tiene nuestro amigo Tom.Tan sencillo como realizar los siguiente pasos:

mkdir /scratch/downloads
cd /scratch/downloads
wget https://github.com/thebel1/thpimon/archive/main.zip
unzip main.zip

Antes de lanzar el script, nos iremos con vi a editar el siguiente fichero /scratch/downloads/thpimon-main/pyUtil/pimonLib/init.py

vi /scratch/downloads/thpimon-main/pyUtil/pimonLib/__init__.py

Y modificaremos la línea llamada PIMON_DEVICE_PATH con nuestro dispositivo nuevo, tal que así:

################################################################################
import math
import struct
import fcntl
#########################################################################
PIMON_DEVICE_PATH = '/dev/vmgfx32'
#########################################################################
RPIQ_BUFFER_LEN = 32
RPIQ_PROCESS_REQ = 0

Vamos a probar que todo funciona, lanzaremos el siguiente script, que debería de darnos la información necesaria:

./thpimon-main/pyUtil/pimon_util.py
Firmware Revision: 0x5f440c10
Board Model: 0
Board Revision: 0xd03114
Board MAC Address: f7:12:b1:32:a6:dc
Board Serial: 0x000000ab401f61
Temp: 38.0 (deg. C)

¡Ya tenemos la parte más importante! Muchas gracias, de nuevo a Tom Hebel por su gran trabajo.

Descargar Script para recoger información crear el .json

Es la hora de descargar y configurar el script tan simple que he creado, podemos descargarlo desde aquí, directamente al ESXi for ARM:

cd /scratch/downloads/
wget https://raw.githubusercontent.com/jorgedlcruz/esxi_arm-grafana/main/esxi-arm-rpi_grafana.sh

Hay que editar algunos valores, para funcione correctamente, estos valores:

# Configurations
##
thepimonPath="/scratch/downloads/thpimon-main/pyUtil/pimon_util.py"

Haremos ejecutable el Script, como siempre:

chmod +x esxi-arm-rpi_grafana.sh

Y lanzaremos el script para ver que funciona:

./esxi-arm-rpi_grafana.sh
./esxi-arm-rpi_grafana.sh Building the JSON file All good, now you can go to https://esxi-zlon-rpi-001.jorgedelacruz.es/ui/pimonarm.json and use the JSON on your favourite Monitoring system

With this done, now you have a valid .json ANYTHING can take and parse, as long as they have access over HTTPS to the ESXi for ARM. I am using telegraf, so let’s take a look.

Crear cron para que se ejecute el Script cada minuto

Muchos de los cambios que hemos realizado se perderán al reiniciar, incluido el cron, pero bueno os lo dejo para que lo tengáis a mano, nos iremos al fichero /var/spool/cron/crontabs/root y lo editamos:

vi /var/spool/cron/crontabs/root

Añaidremos lo siguiente al final del mismo, podéis apuntar a la ruta donde tengáis el script:

*/1 * * * * /scratch/downloads/esxi-arm-rpi_grafana.sh

Vale, pues ya está, cada minuto enviaremos la información a InfluxDB.

Configuración del Telegraf para analizar el nuevo .json y enviarlo a InfluxDB

Esta vez voy a usar el siempre versátil inputs.http, para analizar directamente desde el .json, la configuración no puede ser más fácil, he creado un nuevo archivo bajo /etc/telegraf/telegraf.d/pimonarm.conf con esto dentro:

[[inputs.http]]
#URL for ESXi for ARM data in JSON format
urls = ["https://esxi-zlon-rpi-001.jorgedelacruz.es/ui/pimonarm.json"]
method = "GET"
#Overwrite measurement name from default `http` to `vsphere_esxi_arm`
name_override = "vsphere_esxi_arm"

#Exclude url and host items from tags
tagexclude = ["url", "host"]

#Data from HTTP in JSON format
data_format = "json"

#Parse `thpimon` array only
json_query = "thpimon"

#Set pimon metadata as tags
tag_keys = ["hostname", "firmware", "boardmodel", "boardrevision", "boardserial"]

#JSON values to set as string fields
json_string_fields = ["boardtemp"]

insecure_skip_verify = true

Podemos probarlo con el siguiente comando:

telegraf --config /etc/telegraf/telegraf.d/pimonarm.conf --test

Que nos muestra en pantalla algo similar a este output:

2020-11-15T00:17:41Z I! Starting Telegraf 1.16.1 > vsphere_esxi_arm,boardmodel=0,boardrevision=0xd03114,boardserial=0x000000ab401f61,firmware=0x5f440c10,hostname=esxi-zlon-rpi-001.jorgedelacruz.es boardtemp="37.0" 1605399462000000000

Si vamos a nuestro Grafana – Explorer, podemos ver que tenemos datos!

Grafana Dashboard para ver todo de manera centralizada

Ahora que tenemos toda esta información, seguramente queramos mostrarlo de manera más elegante. He usado el conocido vSphere Hosts Dashboard que ya tenía, y he añadido la parte de ESXi ARM al final del todo.

Con tan solo importarlo usando la URL de Grafana, ya tendréis algo similar a esto:

  • https://grafana.com/grafana/dashboards/8165

Al final del todo, en caso de que tengáis ESXi for ARM, os aparecerán. Recordar que necesitáis vCenter para que todo esto funcione:Eso es todo amigos, agradecer los siguientes links que me han ayudado muchísimo:

  • https://www.virten.net/2020/11/get-raspberry-pi-cpu-temperature-on-esxi-arm/
  • https://www.virten.net/2020/11/get-raspberry-pi-cpu-temperature-on-esxi-arm/
  • https://www.virtuallyghetto.com/2020/11/stateless-esxi-arm-with-raspberry-pi.html
  • https://www.virtuallyghetto.com/2020/10/automated-network-scripted-installation-of-esxi-arm-without-sd-card.html
  • https://www.virtuallyghetto.com/2020/10/esxi-on-arm-fling.html
  • https://github.com/thebel1/thpimon

Nota final – Usar CGI para obtener un JSON bajo demanda

Florian, de virten.net, ha publicado un proceso parecido utilizando un CGI que ESXi ejecuta cada vez que se llama a esta URL:

  • https://www.virten.net/2020/11/esxi-arm-on-raspi-pull-cpu-temperature-using-curl/

Parece un proceso muy sencillo y elegante, lo único que me pone algo nervioso es que esté usando hostd-operation.cgi que se supone que está reservado para el sistema, aunque no sabemos mucho más.

Igualmente, sus pasos son muy chulos y no hace falta cron, ahí os dejo la opción 🙂

Filed Under: opensource, vmware Tagged With: esxi arm grafana, esxi arm monitoring, esxi arm temperature

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Primary Sidebar

  • Email
  • GitHub
  • LinkedIn
  • RSS
  • Twitter
  • YouTube

Gold Partners

Silver Partners

Libros Gratuitos

Cloud por vExperts
VMware por vExperts

VMware vExpert

Puesto 16 en Top vBlog

Calendario de Posts

November 2020
M T W T F S S
 1
2345678
9101112131415
16171819202122
23242526272829
30  
« Oct   Dec »

Disclaimer

Todas las opiniones expresadas en este sitio son las mías propias y no representan las opiniones de ninguna compañía con la que haya trabajado, esté trabajando o vaya a estar trabajando.

Copyright © 2026 · El Blog de Jorge de la Cruz