====== 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