Grafana es un software libre basado en licencia de Apache 2.0, que permite la visualización y el formato de datos métricos. Permite crear cuadros de mando y gráficos a partir de múltiples fuentes, incluidas bases de datos de series de tiempo como Graphite, InfluxDB y OpenTSDB. Originalmente comenzó como un componente de Kibana y que luego le fue realizado una bifurcación.
Grafana es multiplataforma sin ninguna dependencia y también se puede implementar con Docker. Está escrito en lenguaje Go y tiene un HTTP API completo.
Además de administrar cuadros de mando clásicos (adiciones, eliminaciones, favoritos), Grafana ofrece compartir un cuadro de mando actual mediante la creación de un enlace o una instantánea estática del mismo.
Todos los paneles de control y las fuentes de datos están vinculados a una organización, y los usuarios de la aplicación están vinculados a organizaciones a través de roles.
Web: https://grafana.com/
Grafana API: https://grafana.com/docs/http_api/
Como obtener grafana: https://grafana.com/get
Wikipedia: https://es.wikipedia.org/wiki/Grafana
Introducing grafana 6: https://www.hostedgraphite.com/blog/introducing-grafana-6
Instalar Grafana
Download: https://grafana.com/grafana/download
Instalación en sistemas linux: https://grafana.com/docs/installation/rpm/
Para iniciar el servicio: sudo service grafana-server start
Esto iniciará el proceso grafana-server como el usuario grafana, que se crea durante la instalación del paquete. El puerto HTTP predeterminado es 3000, y el usuario y el grupo predeterminados son admin. Nombre de usuario y contraseña por defecto admin/admin
Guia de instalación en Debian/Ubuntu: https://grafana.com/docs/installation/debian/
Guia de instalación CentOS: https://grafana.com/docs/installation/rpm/
Instalar y configurar en CentOS: https://www.fosslinux.com/8328/how-to-install-and-configure-grafana-on-centos-7.htm
Actualizar grafana: https://grafana.com/docs/installation/upgrading/
Tutoriales para CentOS:
- https://computingforgeeks.com/install-grafana-and-influxdb-on-centos-7/
- solo influxdb: https://www.urban-software.com/cacti-howtos/howto-install-influxdb-on-centos/
- grafana + influxdb + telegraf: https://www.petersplanet.nl/index.php/2018/11/18/basic-installation-of-grafana-influxdb-and-telegraf-on-centos-7/
- Otro: https://dbiers.me/setup-grafana-influxdb-collectd-centos-7-x/
Instalar Grafana en Raspberry Pi
Download para Raspberry Pi: https://grafana.com/grafana/download?platform=arm
Comandos:
- sudo apt update
- sudo apt upgrade
- wget https://dl.grafana.com/oss/release/grafana_6.4.3_armhf.deb
- sudo dpkg -i grafana_6.4.3_armhf.deb
Para actualizar: sudo apt-get install grafana
Iniciar el servicio: sudo service grafana-server start
Para configurar grafana en el arranque: sudo systemctl enable grafana-server.service
Más información: https://grafana.com/docs/installation/rpm/
Ahora podemos acceder a Grafana desde el navegador en http://127.0.0.1:3000 con admin/admin y nos pedirá que cambiemos la contraseña.

Adicionalmente si queremos instalar influxDB: sudo apt-get install influxdb
Getting started InfluxDB: https://docs.influxdata.com/influxdb/v1.7/introduction/getting-started/
Configuring InfluxDB: https://docs.influxdata.com/influxdb/v1.7/administration/config/
Instalar Telegraf (opcional):
- sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add –
- echo «deb https://repos.influxdata.com/debian buster stable» | sudo tee /etc/apt/sources.list.d/influxdb.list
- sudo apt update
- sudo apt install telegraf
Herramientas:
- Grafana: Una herramienta que te permite visualizar series de datos temporales de una forma visualmente muy atractiva. Además de la parte visual, dispone de un potente motor y editor de consultas, que te permite seleccionar y tratar los datos que necesitas mostrar en las gráficas y Dashboards que puedes crear en su interfaz web. Además, los datos que muestra se pueden incluir desde diversas fuentes de datos, entre las que se encuentran Graphite, InfluxDB, Prometheus, ElasticSearch, AWS CloudWatch, StackDriver, MySQL y muchos otros mediante los plugins que tiene disponibles.
- InfluxDB: Es una base de datos diseñada para almacenar series de datos temporales, esto quiere decir, que se almacenan una serie de datos en registros asociados a un valor principal o índice, que es la marca de tiempo (fecha y hora). La monitorización es un caso típico de este almacenamiento de datos, donde se guarda la marca de tiempo, el nombre del host y los valores de métricas que se pretenden almacenar (CPU, memoria, IO, red, …). InfluxDB es software libre, y el rendimiento que definen para este tipo de entornos es muy competitivo.
- Telegraf: Es un agente que se encarga de recopilar datos/métricas de un determinado sistema y almacenarlos donde le indiquemos. Por ejemplo, Telegraf recopilará datos de sistema tradicionales (uso de memoria, uso de MySQL/Apache, …) y los enviará a la URL con la API de InfluxDB, que se encargará de almacenarlo. Telegraf, al igual que InfluxDB, pertenecen a Influxdata, por lo que la integración entre ambos es perfecta.
- Chronograf es la aplicación web de código abierto de InfluxData. Utilice Chronograf con los otros componentes de la pila TICK para visualizar sus datos de monitorización y crear fácilmente reglas de alerta y automatización.
- Kapacitor es un motor de procesamiento de datos nativo. Puede procesar stream de datos de InfluxDB. Kapacitor le permite conectar su propia lógica personalizada o funciones definidas por el usuario para procesar alertas con umbrales dinámicos, hacer coincidir las métricas de los patrones, calcular anomalías estadísticas y realizar acciones específicas basadas en estas alertas, como el reequilibrio de carga dinámico.
TICK Stack: https://www.influxdata.com/time-series-platform/

Otros tutoriales:
- http://pdacontroles.com/instalacion-completa-dashboard-grafana-en-raspberry-pi-3-b-b/
- https://www.circuits.dk/install-grafana-influxdb-raspberry/
- https://redesteleco.com/grafana-influxdb-telegraf-raspberry/
- https://www.jorgedelacruz.es/2019/07/22/en-busca-del-dashboard-perfecto-influxdb-telegraf-y-grafana-parte-xviii-monitorizar-temperatura-y-estado-de-raspberry-pi-4/
Configurar Grafana
El archivo de configuración se encuentra en /etc/grafana/grafana.ini.
Para obtener detalles sobre todas esas opciones de configuración consultar: https://grafana.com/docs/installation/configuration/
Seguridad: https://grafana.com/docs/installation/security/
Autenticación: https://grafana.com/docs/auth/overview/
Añadir fuentes de datos a Grafana
Getting started: https://grafana.com/docs/guides/getting_started/
Conceptos básicos: https://grafana.com/docs/guides/basic_concepts/
Añadir la BBDD de MySQL donde hemos guardado nuestros datos de Arduino:

Adding data sources:
- Graphite
- InfluxDB
- OpenTSDB
- Prometheus
- MySQL: https://grafana.com/docs/features/datasources/mysql/
- Postgre: https://grafana.com/docs/features/datasources/postgres/
- mssql: https://grafana.com/docs/features/datasources/mssql/
Primera Gráfica
Guia de novatos para hacer Dashboards: https://www.youtube.com/watch?v=sKNZMtoSHN4&index=7&list=PLDGkOdUX1Ujo3wHw9-z5Vo12YLqXRjzg2
Getting started: https://grafana.com/docs/guides/getting_started/
Pasos:
- Crear un nuevo Dashboard
- Añadir una Visualización
- Elegir “Graph”
- Poner en Column: IntensidadLuminosa
- Crear otra visualización como tabla.
Resultado:
Métricas fáciles: https://www.ochobitshacenunbyte.com/2018/03/01/metricas-faciles-con-influxdb-telegraf-y-grafana/
Paneles https://grafana.com/docs/features/panels/graph/
- Graph
- Logs
- Singlestat
- Table
- Heatmap
- Alert List
- Dasboard list
- Text
Visualizar los datos de la raspberry Pi en un dashboard:
- Utilizar este dashboard para copiarlos… https://grafana.com/grafana/dashboards/10578
- Importar un Dashboard: https://grafana.com/docs/reference/export_import/
- Tutorial: https://www.jorgedelacruz.es/2019/07/22/en-busca-del-dashboard-perfecto-influxdb-telegraf-y-grafana-parte-xviii-monitorizar-temperatura-y-estado-de-raspberry-pi-4/
Plugins Grafana
Plugings grafana: https://grafana.com/plugins
Instalar plugin grafana: https://grafana.com/grafana/plugins/grafana-piechart-panel/installation
Hosted Grafana
Web: https://grafana.com/products/cloud/
Si no queremos instalarlo tenemos disponible un grafana en la nube gratuito para un usuario y hasta 5 dashboards. Pricing: https://grafana.com/products/cloud/#pricing
Mi grafana cloud: https://aprendiendoarduino.grafana.net/