Showing posts with label data. Show all posts
Showing posts with label data. Show all posts

Wednesday, July 18, 2018

instalando grafana

Deje este dataset household power consumption:

https://archive.ics.uci.edu/ml/machine-learning-databases/00235/


Grafana tiene multiples sources:
mysql, elastichsearch, influxdb, cloudwatch, graphite, opentsdb, postgresql, prometheus.

Por facilidad use mysql, de igual forma más adelante agregaré otros sources y otros datos.

mysql> create database household_power_consumption;

subiendo los datos:
create table consumption (
id int PRIMARY KEY NOT NULL AUTO_INCREMENT,
    date_consumption date NOT NULL ,
    datetime_consumption datetime NOT NULL,
    global_active_power float NOT NULL,
    global_reactive_power float NOT NULL,
    voltage float NOT NULL,
    global_intensity float NOT NULL,
    sub_metering_1 float NOT NULL,
    sub_metering_2 float NOT NULL,
    sub_metering_3 float NOT NULL
);
----

load data infile 'final.csv'
into table consumption
fields terminated by ','
OPTIONALLY ENCLOSED BY '"'
lines terminated by  '\n'
IGNORE 1 LINES
-- (`date_consumption`, `datetime_consumption`, `global_active_power`, `global_reactive_power`, `voltage`, `global_intensity`, `sub_metering_1`, `sub_metering_2`, `sub_metering_3`);
(@consumptiondate, @consumptiondatetime, `global_active_power`, `global_reactive_power`, `voltage`, `global_intensity`, `sub_metering_1`, `sub_metering_2`, `sub_metering_3`)
set date_consumption = STR_TO_DATE(@consumptiondate, '%d/%m/%Y'),
datetime_consumption = STR_TO_DATE(@consumptiondatetime, '%d/%m/%Y %H:%i:%s');


Inicializando grafana.

$ systemctl enable grafana

o sólo para levantarlo temporalmente

$ systemctl start grafana

luego se habilita la url:

http://127.0.0.1:3000/datasources/new?gettingstarted


Algo interesante es que grafana no hace validacion de las querys que le manda a mysql en caso de enviar una query que contenga DROP, DELETE y si el usuario que especificamos tiene los permisos de ejecucion lo va a hacer! asi que fuertemente recomienda al usuario   a CREAR un usuario con los permisos solo de lectura en la  base de datos.

este sería un vistazo de la interface y como configurarlo con la base de dato mysql.




Muy bueno es que tiene una comunidad muy activa con muchos tipos de dashboards creados:

https://grafana.com/dashboards?utm_source=grafana_search


Se puede agregar data sources acá se ve el listado de los que se ha definido:
http://127.0.0.1:3000/datasources

en settings > variables > Add variable

o agregar manualmente el grafico al dashboard:

El tema con agregar variables por query desde el datasource es que para mas de un millon de registros, el template de series de tiempo hace crash, sólo permite menos de 1millon de registros, por lo que lo recomendable es ajustar el rango de fechas teniendo en cuenta este límite del fetch permitido por la query. Otra cosa buena son los ejemplos que trae en cuanto a ese formato de macros que tiene siendo intuitivo, también se puede configurar alertas! para los picos y bueno es una alternativa más al mar de opciones.



Y eso es todo por hoy.
para más info:
http://docs.grafana.org/features/datasources/mysql/
:D

Sunday, May 26, 2013

D3 js una alternativa, para hacer visualizaciones con Javascript.



En este caso realicé un treemap de las aplicaciones de cliente para twitter que usaron las personas para hacer tweets en el flisol 2012 y que tuvieran en su "location" alguna información o palabra de estados de venezuela, o venezuela en sus distintas formas y además que mostrara el tamaño del cuadro con respecto a la cantidad de followers que tiene el usuario:

El ejemplo del treemap fue tomado de acá: http://bl.ocks.org/mbostock/4063582

Y Quiero hacer estas modificaciones: http://www.billdwhite.com/wordpress/2012/12/16/d3-treemap-with-title-headers/

pero será para otro post y en otro tiempo:

El enlace del resultado está acá: Flisol 2012 App de Twitter

El código es Js y html, con un wget de esto les funcionará.

La data formateada la realicé con varios scripts.

0 Obtener la data de los usuarios de acuerdo a los Ids. los Ids los pueden conseguir acá:

Github J3nnn1 Ids Twitter 

1 Pasar de CSV a Json al fomato que recibe el layout de treemap.

importante:
Ayuda a corregir si un json está mal formado! :)

http://jsonformatter.curiousconcept.com/#jsonformatter