Agrupar en Grafana tus gráficas por mes

Esto es algo que posibloemente sepáis, pero que es algo con lo que yo me he pegado bastante y me ha costado. De hecho quería contar esto antes pero por la propia característica de lo que quería contar requiría de tiempo y “dejarlo correr”. Hasta admito que estoy escribiendo esto para dejármelo guardado para cuando quiera volver a hacerlo y no me acuerde.

Esto además, es algo que os contaré en otro artículo más detalladamente. También lo quería presentar antes pero necesitaba mucho testing y además algunas cosas que tengo en Córdoba (vivo en Málaga) y que por el confinamiento, no he podido ir. Pero vendrá, os lo garantizo.

El caso es que tengo una placa solar que compré.

Esta placa la conecté a un foco que, durante el confinamiento, decidí establecerlo como la luz por defecto de mi habitación y cambié la lámpara por este foco.

Sé que el acabado no es lo mejor, pero mucho material para hacer estas cosas las tengo en Córdoba. Esto lo publiqué en abril en mi cuenta de Twitter, que fue además cuando decidí monitorizar el uso real de la placa, cuánta batería le quedaba y cuánto utilizaba diariamente la placa con el foco.

Conforme fue pasando el tiempo, las gráficas se iban haciendo. Para ésto utilicé un servidor mío propio al que le instalé Grafana. Como son datos muy concretos, añad´i el datasource de MySQL y yo, con queries, voy actualizando la base de datos. Esto es algo que ya contaré, pero hoy me quiero detener en otra cosa.

Grafana, con el datasource de MySQL, tira del timestamp de Unix, por lo que hacer algo que yo quería que era ver qué mes es el que más uso la placa con el foco, puede resultar complicado pasar de día a día a mes.

Yo pensé crear otra tabla en la que, con crontab, tener programado que el último día del mes (con los problemas que esto supone en meses como febrero), saque el uso del mes con una query que utilice la condición BETWEEN y en el propio SELECT la función SUM(). Estos datos insertarlos en la nueva tabla y visualizarlo en Grafana, aunque podría tener aún el problema del timestamp pues Grafana está hecho principalmente para sacar el registro diario.

Pero al final es mucho más fácil que eso. Tan simple como añadir una nueva gráfica y en “Visualización”, seleccionar que el eje X sea modo “series”. Finalmente nos creamos una query como esta

SELECT
Día AS "time",

MONTHNAME(Día) AS 'metric',
SUM(horaON)/60
FROM times
GROUP BY MONTH(Día)
ORDER BY Día

Utilizamos la función MONTHNAME() para tener la métrica por mes y finalmente agrupar por meses. Aquí es donde se entiende que necesitaba tiempo para comprobar que efectivamente funciona. Necesitaba al menos 2 meses y empecé a obtener datos en abril.

Y así me ha quedado. Ya puedo analizar mejor por cada mes. Obviamente, cuanto más tarde anochezca, menos uso haré de la placa por una cuestión básica. Si me acuesto a la misma hora pero un mes enciendo el foco a las 21:00 y otro mes a las 22:00; pues se araña una hora.

Es posible que tenga errores aún, pues sólo tengo 2 meses de análisis y no completos (en abril empecé a hacerlo el día 9 y mayo aún no ha terminado). Conforme pasen los meses veré si tengo que hacer ajustes o no. En la informática es importante la humildad.

Y os preguntaréis si me sale rentable tener un foco. Pues bien, esto es algo que detallaré mejor en otro artículo donde explique todo esto y la monitorización de la placa, pero tened en cuenta que yo sólo estoy utilizando la placa para iluminar mi cuarto, por lo que los beneficios son mínimos. Podría tener otra en el salón o incluso en la cocina, pero de momento quería testear en mi cuarto y de momento estoy contento y animado a, en cuanto pase esto, ampliar al salón.

Os iré contando, espero que os sirva lo que he contado, pues lo podéis utilizar para cualquier cosa, analizar qué meses tenéis más tickets o, si sois muy frikis como yo y os gusta tenerlo todo contabilizado, analizar vuestro gasto por mes (que también lo tengo). Ya os iré contando también cómo hago yo esto, porque es curioso

Nos leemos

Manu

@hippi3c0w

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: