====== Gráficas con influxdb y grafana ======
Usaremos influxdb como base de datos y grafana para hacer las gráficas
INVESTIGAR: Tenemos que crear el directorio var_grafana con permisos que pueda escribir el usuario con id 472. Por ejemplo con permisos 777
docker-compose.yml
version: '2'
services:
influxdb:
image: "influxdb"
container_name: "influxdb"
volumes:
- ./var_influxdb:/var/lib/influxdb
# - ./influxdb.conf:/etc/influxdb/influxdb.conf:ro
restart: always
environment:
- INFLUXDB_DB=grafanaFlux
- INFLUXDB_ADMIN_ENABLED=true
- INFLUXDB_ADMIN_USER=admin
- INFLUXDB_ADMIN_PASSWORD=gr4f4n4
- INFLUXDB_USER=grafanaflux
- INFLUXDB_USER_PASSWORD=gr4f4n4
ports:
- 8086:8086
grafana:
image: "grafana/grafana"
container_name: "grafana"
# user: "472"
links:
- "influxdb:influxdb"
volumes:
- ./var_grafana:/var/lib/grafana
# - ./ldap.toml:/etc/grafana/ldap.toml
environment:
- GF_SECURITY_ADMIN_PASSWORD=secret
# - GF_AUTH_LDAP_ENABLED=true
# - GF_AUTH_LDAP_CONFIG_FILE=/etc/grafana/ldap.toml
- GF_SERVER_PROTOCOL=http
ports:
- 3000:3000
restart: always
Desde el directorio que tenemos el fichero docker-compose.yml lanzamos el comando:
docker-compose up -d
Esto nos levanta un docker con la BBDD de influxdb y otro con grafana:
IMAGE COMMAND PORTS NAMES
grafana/grafana "/run.sh" 0.0.0.0:3000->3000/tcp grafana
influxdb "/entrypoint.sh infl…" 0.0.0.0:8086->8086/tcp influxdb
Creamos una base de datos:
curl -i -XPOST http://172.17.0.1:8086/query --data-urlencode "q=CREATE DATABASE borra"
Insertamos un dato:
curl -i -XPOST 'http://172.17.0.1:8086/write?db=borra' --data-binary 'ENCHUFE,id=1 value=1000'
Consultamos el dato
curl -G 'http://172.17.0.1:8086/query?db=borra' --data-urlencode 'q=SELECT * FROM "ENCHUFE"'
Metemos datos:\\
curl -i -XPOST 'http://172.17.0.1:8086/write?db=borra' --data-binary @data.txt
El fichero data.txt tiene este formato, el último número es el timestamp con 9 ceros mas.
data.txt
consumo,service=cec,environment=dev,type=real value=2 1548979200000000000
consumo,service=cec,environment=dev,type=real value=4 1549065600000000000
consumo,service=cec,environment=dev,type=real value=9 1549152000000000000
consumo,service=cec,environment=dev,type=real value=15 1549238400000000000
Vamos a Grafana:
http://172.17.0.1:3000/login
admin/secret (viene en el docker-compose)\\
Pulsamos add data source\\
{{:informatica:linux:grafana01.png|}}
SeleccionamosInfluxDB:\\
{{:informatica:linux:grafana02.png|}}
{{:informatica:linux:create_datasource_grafana.png|}}
===== Crear Dashboard Gráfica =====
Vamos al icono de + y create Dashboard y Add query
===== Dashboard público =====
/etc/grafana/grafana.ini
#################################### Anonymous Auth ######################
[auth.anonymous]
# enable anonymous access
enabled = true
# specify organization name that should be used for unauthenticated users
org_name = Main Org.
# specify role for unauthenticated users
org_role = Viewer
# mask the Grafana version number for unauthenticated users
;hide_version = false