{"id":2855,"date":"2018-08-28T23:31:46","date_gmt":"2018-08-29T03:31:46","guid":{"rendered":"http:\/\/arielantigua.com\/weblog\/?p=2855"},"modified":"2018-08-28T23:31:46","modified_gmt":"2018-08-29T03:31:46","slug":"librenms-exportando-data-a-influxdb-para-crear-graficos-en-grafana","status":"publish","type":"post","link":"https:\/\/arielantigua.com\/weblog\/2018\/08\/librenms-exportando-data-a-influxdb-para-crear-graficos-en-grafana\/","title":{"rendered":"LibreNMS \u2013 Exportando data a Influxdb para crear gr\u00e1ficos en Grafana."},"content":{"rendered":"<p>LibreNMS \u2013 Exportando data a Influxdb para crear gr\u00e1ficos en Grafana.<\/p>\n<p><strong>Grafana<\/strong> es un software para crear gr\u00e1ficos con distintas formas y colores, lo interesante es que la data a desplegar se puede manipular de muchas maneras y puede originarse desde diferentes softwares\/plataformas.<\/p>\n<p>Esto no es nada nuevo, personalmente vi Grafana hace m\u00e1s de 4 a\u00f1os en un subreddit, quede impresionado e inmediatamente busque como hacer los mismo, el primero intento fue exportando data desde un pfSense para crear un heatmap con los IPs bloqueados por el firewall. Luego de un tiempo se hizo m\u00e1s dif\u00edcil mantener los equipos enviando informaci\u00f3n a InfluxDB para graficar en Grafana y decid\u00ed detener el proyecto.<\/p>\n<p><strong>LibreNMS soporta exportar a influxDB.<\/strong><\/p>\n<p>Para mi sorpresa encontr\u00e9 que LibreNMS soportar\u00eda exportar data desde su DB en MySQL a una InfluxDB, todo era experimental y en el primero intento nada funciono.<\/p>\n<p>\u00a1En el segundo intento todo funciono a la primera, impresionante!!<\/p>\n<p>Se instal\u00f3 InfluxDB en el mismo equipo que tiene LibreNMS, tambi\u00e9n se instal\u00f3 Grafana. Una vez ambos softwares corriendo correctamente, la configuraci\u00f3n de LibreNMS es muy sencilla. Pero primero crearemos la base de datos para LibreNMS en InfluxDB.<\/p>\n<pre>CREATE DATABASE librenms\r\nCREATE USER admin WITH PASSWORD \u2018admin\u2019 WITH ALL PRIVILEGES\r\nCREATE USER librenms WITH PASSWORD 'admin\r\nGRANT ALL ON librenms TO admin\r\nGRANT READ ON librenms_db TO grafana\r\nexit<\/pre>\n<p><strong>Configuraci\u00f3n en config.php<\/strong><\/p>\n<pre>$config['influxdb']['enable'] = true;\r\n$config['influxdb']['transport'] = 'http'; # Default, other options: https, udp\r\n$config['influxdb']['host'] = '127.0.0.1';\r\n$config['influxdb']['port'] = '8086';\r\n$config['influxdb']['db'] = 'librenms';\r\n$config['influxdb']['username'] = 'admin';\r\n$config['influxdb']['password'] = 'admin';\r\n$config['influxdb']['timeout'] = 0; # Optional\r\n$config['influxdb']['verifySSL'] = false; # Optional<\/pre>\n<p>Si revisamos el documento oficial de como conectar LibreNMS con InfluxDB ( <a href=\"https:\/\/docs.librenms.org\/#Extensions\/metrics\/InfluxDB\/\">https:\/\/docs.librenms.org\/#Extensions\/metrics\/InfluxDB\/<\/a> ), se puede ver que no se ha cambiado absolutamente nada, ya s\u00e9 que deber\u00eda de haber cambiado por lo menos el password, eso ser\u00e1 para otra ocasi\u00f3n.<\/p>\n<p>Como validamos que se est\u00e1 exportando data a InfluxDB \u00bf?<\/p>\n<p>Podemos conectarnos a la InfkuxDB desde la l\u00ednea de comando y ejecutar un query contra la base de datos de librenms que creamos anteriormente.<\/p>\n<pre>$ influx\r\n&gt; use librenms\r\n&gt; show measurements<\/pre>\n<p>En pantalla tendremos los nombres de nuestros equipos en LibreNMS con informaci\u00f3n relacionada a sus NIC, CPU, Espacio en Disco y mucho m\u00e1s, b\u00e1sicamente todo lo que tiene LibreNMS en los gr\u00e1ficos, ser\u00e1 exportado a InfluxDB.<\/p>\n<p><strong>\u00bfPero, si ya tengo graficos en LibreNMS, para que quiero Grafana?<\/strong><\/p>\n<p>En mi caso, quer\u00eda crear gr\u00e1ficos personalizados los cuales LibreNMS a\u00fan no soporta de una manera tan sencilla como Grafana.<\/p>\n<p>Un ejemplo es relacionado al \u201capp\u201d de <a href=\"https:\/\/arielantigua.com\/weblog\/2018\/08\/librenms-como-crear-una-aplicacion-para-monitorear-componentes-no-soportados\/\">ATS-Watts<\/a>, usando Grafana con la data recibida desde LibreNMS puede crear gr\u00e1ficos que muestren el consumo diario y lo calculen para saber el precio de cada KWh consumido.<\/p>\n<p><strong>En LibreNMS tengo esto:<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1864\" height=\"649\" class=\"wp-image-2856\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-6.png\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-6.png 1864w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-6-300x104.png 300w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-6-768x267.png 768w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-6-1024x357.png 1024w\" sizes=\"auto, (max-width: 1864px) 100vw, 1864px\" \/><\/p>\n<p><strong>En Grafana tengo esto:<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1857\" height=\"817\" class=\"wp-image-2857\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-7.png\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-7.png 1857w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-7-300x132.png 300w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-7-768x338.png 768w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-7-1024x451.png 1024w\" sizes=\"auto, (max-width: 1857px) 100vw, 1857px\" \/><\/p>\n<p>Otro caso es tener todas las interfaces de equipos de bordes en una misma pantalla, en LibreNMS es muy sencillo hacerlo, pero si decidimos usar Grafana, al momento de compartir esta informaci\u00f3n es mucho m\u00e1s f\u00e1cil que con LibreNMS.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"1838\" height=\"882\" class=\"wp-image-2858\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-8.png\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-8.png 1838w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-8-300x144.png 300w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-8-768x369.png 768w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2018\/08\/word-image-8-1024x491.png 1024w\" sizes=\"auto, (max-width: 1838px) 100vw, 1838px\" \/><\/p>\n<p>El potencial de Grafana es grande, tambi\u00e9n tenemos la posibilidad de recibir datos desde equipos que no est\u00e9n en LibreNMS y mezclar esta informaci\u00f3n en gr\u00e1ficos de la manera que m\u00e1s nos guste.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>LibreNMS \u2013 Exportando data a Influxdb para crear gr\u00e1ficos en Grafana. Grafana es un software para crear gr\u00e1ficos con distintas formas y colores, lo interesante es que la data a desplegar se puede manipular de muchas maneras y puede originarse desde diferentes softwares\/plataformas. Esto no es nada nuevo, personalmente vi Grafana hace m\u00e1s de 4 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24,10,34],"tags":[136],"class_list":["post-2855","post","type-post","status-publish","format-standard","hentry","category-debian","category-linux","category-networking","tag-librenms"],"_links":{"self":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/posts\/2855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/comments?post=2855"}],"version-history":[{"count":0,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/posts\/2855\/revisions"}],"wp:attachment":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/media?parent=2855"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/categories?post=2855"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/tags?post=2855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}