Monitoreo de PC con OpenHWMonitor, Home Assistant y Grafana

Si eres un entusiasta de los juegos de PC, sabes lo importante que es obtener el mejor rendimiento posible de tu hardware. Con la rápida evolución de los juegos y la tecnología, la necesidad de optimizar tu ordenador para garantizar no solo un rendimiento excelente sino también una buena longevidad de los componentes se ha vuelto crucial. Este deseo surge tanto del afán de maximizar la inversión como de la pura pasión por el tuning de ordenadores que muchos de nosotros, yo incluido, siempre hemos tenido.

Esta pasión nos impulsa a buscar siempre ese “algo más” más allá del simple mantenimiento rutinario.

En el mundo de los PCs, servidores o de las Tecnologías de la Información en general, ese “algo más” se traduce en dos palabras clave: “Fine Tuning”.


La Importancia de la Medición Objetiva en el Tuning

Para ser eficaz, el tuning requiere mediciones objetivas. Sin herramientas de medición adecuadas, corre el riesgo de convertirse en un proceso extremadamente subjetivo — hecho “a ojo” — que raramente alcanza los objetivos establecidos. Esto a menudo lleva a gastos excesivos con resultados decepcionantes, sin siquiera darse cuenta, precisamente porque no existe un punto de referencia real con el que comparar.

Un buen proceso de tuning en IT, al igual que en cualquier otra disciplina, siempre comienza con una medición objetiva inicial. En jerga técnica esto se denomina “assessment” — una evaluación preliminar en la que se recopilan datos para comprender la situación de partida. A partir de estos datos, se definen los objetivos que se desean alcanzar y se estiman los costes necesarios. Luego se llevan a cabo las primeras intervenciones y se vuelve a medir. Si el objetivo aún no se ha alcanzado, se interviene de nuevo, se vuelve a medir, y así sucesivamente, hasta que la meta se consigue por completo.

Esta es la única manera de hacer tuning de forma objetiva: trabajar con números. No hay alternativas. Trabajar sin datos lleva a modificaciones continuas, insatisfacción e intervenciones guiadas por la emoción, que acaban dejando un sabor amargo — al no tener ninguna referencia objetiva que garantice una mejora real y la consecución del resultado deseado.


Mi Solución de Monitorización para el PC de Gaming

Partiendo de estas premisas, para optimizar mi PC de gaming desarrollé una solución de monitorización basada en Home Assistant. A esta plataforma, que ya tenía funcionando en una Raspberry Pi, añadí algunos elementos clave, todos del mundo del código abierto. Veámoslos juntos.

  1. Agente de Recopilación de Datos: Open Hardware Monitor
    El primer elemento indispensable es un agente de software que instalar en el PC para recopilar todos los datos de interés. En mi caso, elegí Open Hardware Monitor. Se trata de una herramienta completamente de código abierto capaz de detectar y mostrar en tiempo real una amplia gama de métricas de tu PC, como temperaturas, velocidades de los ventiladores, cargas de CPU y GPU, y mucho más. Su gran ventaja, fundamental para nuestro propósito, es la capacidad de exponer un servidor web. Esto permite que una sonda externa (en nuestro caso Home Assistant) recopile periódicamente las métricas y las almacene de forma histórica.
  2. Integración con Home Assistant
    A continuación, en nuestro servidor de Home Assistant, instalaremos y configuraremos la integración necesaria para comunicarse con Open Hardware Monitor. Esto significa configurar Home Assistant para recopilar datos de nuestro agente OHM, indicándole la dirección IP donde puede encontrarlo en la red local.
  3. Base de Datos de Series Temporales: InfluxDB
    Una vez iniciada la recopilación de datos, es esencial almacenar todos estos valores en una base de datos optimizada para series temporales. Las series temporales son secuencias continuas de valores que producen enormes cantidades de datos, que deben guardarse con el menor gasto de recursos posible. Para este propósito, mi elección recayó en InfluxDB, una base de datos extremadamente eficiente que se integra fácilmente dentro de Home Assistant.
  4. Visualización de Datos: Grafana
    Por último, pero no menos importante, es necesario representar estos datos de forma legible e intuitiva. Elegí Grafana, una herramienta ligera y ágil capaz de manejar grandes cantidades de datos de monitorización. Grafana también es de código abierto y ha sido optimizada desde hace tiempo para la visualización de series temporales, capaz de gestionar volúmenes de datos muy superiores a los que recopilaremos con nuestra monitorización doméstica.

Una vez configurados estos elementos, podrás crear tus propios paneles personalizados y gráficos, esenciales para llevar un seguimiento de las variables sobre las que quieres trabajar. En mi caso, me centré especialmente en el consumo de recursos (CPU, RAM, GPU), el consumo energético y sobre todo la temperatura de funcionamiento de los distintos componentes.


Recursos Útiles para la Instalación

Aquí están las referencias útiles de las que partir y algunas guías para implementar esta solución:

Es importante subrayar que configurar lo que se ha descrito no es un proceso rápido y está recomendado principalmente para entusiastas que deseen crear una plataforma de domótica y monitorización. Esta plataforma, una vez construida, también puede ser útil para otros propósitos: puedes crear gráficos de la temperatura de tu hogar, monitorizar el consumo de electrodomésticos y recopilar datos de cualquier sensor doméstico compatible con Home Assistant.

Pero puedo garantizarte que una vez creada, esta solución te dará grandes satisfacciones gracias a la posibilidad de personalizarla completamente a tu gusto.


Análisis de Datos: Ejemplos Prácticos

Aquí hay un par de gráficos que creé, documentando la situación de mi PC.

Primero, la situación en reposo, con solo las actividades del sistema en ejecución tras el arranque:

…y a continuación, una situación de carga elevada durante una sesión de juego de aproximadamente cuarenta minutos de Spider-Man: Miles Morales (un título realmente muy bien hecho que no puedo más que recomendar).

Aquí están todos los números objetivos sobre los que basar tus decisiones. ¿Necesitas mejorar la refrigeración de tu CPU? ¿Realmente necesitas más RAM? ¿Es estable la temperatura de la GPU? Todas preguntas que puedes responder fácilmente consultando tus gráficos. Luego, una vez realizadas tus intervenciones, puedes volver a mirar los gráficos para verificar el impacto de los cambios… y así sucesivamente, intentando siempre hacerlo mejor.

Con esto espero haberte ofrecido una visión clara y de alto nivel de mi solución, con todas las referencias necesarias para evaluarla y planificarla según tus necesidades. Para la instalación, te remito a las guías detalladas en los enlaces proporcionados en el artículo. Es obviamente una solución para usuarios experimentados que requiere cierta familiaridad con los procedimientos de instalación y muchas ganas de personalizar y crear una solución que, una vez completada, será exclusivamente tuya.

¿Qué puedo decir llegados a este punto?

Diría: ¡Feliz Fine Tuning a todos! 🙂

p.s. un enorme agradecimiento a mi amigo GolemWasHere (nombre real Andre 🙂 ) que me dio todas las ideas y consejos para ensamblar la solución.