balena-labs-projects / dashboard Goto Github PK
View Code? Open in Web Editor NEWGrafana dashboard block with auto-visualization of InfluxDB databases to get your data visualized instantly!
Grafana dashboard block with auto-visualization of InfluxDB databases to get your data visualized instantly!
Currently the dashboard block has to be restarted in order to force a scan for new measurements and fields. We should poll this on some interval or hook if possible, to add new information to the dashboards as soon as it is available.
As a user I want to be shown my RAW data when I open the auto-generated dashboard, so that I can see what the values look like, and work out how I want to visualise it.
The current Grafana version (7.1.3) is very old. Some plugins I want to use, eg marcusolsson-json-datasource is not compatible with this version of Grafana.
For my purposes, version 7.3.0 suffices, but Grafana itself is already on 8.2.2. An upgrade to that version might need additional changes, whereas an upgrade to 7.3.0 should work with this changing the version in download.sh
.
There are also later 7.x versions, but I have not tried whether they will work.
currently there's only rpi3 and rpi4 variants, having amd64 too would be nice
There is an edge case which can cause dashboard
to fail to generate a dashboard, due to a failure to create an API key.
dashboard
dashboard
The device moves to the new app, downloads the containers and generates a dashboard
Starting dashboard sync, checking APIs...
Could not generate API key (this is bad)
APIs available, proceeding...
Synchronizing dashboard for mqtt_consumer
Traceback (most recent call last):
File "/usr/src/app/update-dashboards.py", line 17, in <module>
grafana_dash_gen.sync_dashboard(measurement)
File "/usr/src/app/grafana_dash_gen.py", line 99, in sync_dashboard
if self.load_existing_dashboard(data['name']):
File "/usr/src/app/grafana_dash_gen.py", line 156, in load_existing_dashboard
req.add_header('Authorization', 'Bearer ' + self.apikey)
TypeError: can only concatenate str (not "NoneType") to str
Allow users to supplement the auto-generated dashboards with their own pre-created ones. In the case of Grafana this can be implemented by providing .json dashboard files within the provisioning/dashboards folder.
Currently influx_db_name='balena'
, would be cool to allow setting it via an env var: INFLUXDB_DB='whatevs'
Set the container up so that environment variables do not need to be provided in docker-compose.yml
. Make variables generic and not grafana-specific.
Hi,
I'm currently doing the following in a docker-compose file:
...
dashboard:
image: bh.cr/balenalabs/dashboard
restart: always
hostname: dashboard
volumes:
- 'dashboard-data:/data'
ports:
- '80'
browser:
image: bh.cr/balenalabs/browser-aarch64 # where <arch> is one of aarch64, arm32 or amd64
privileged: true # required for UDEV to find plugged in peripherals such as a USB mouse
ports:
- '5011' # management API (optional)
- '35173' # Chromium debugging port (optional)
volumes:
- 'settings:/data' # Only required if using PERSISTENT flag (see below)
environment:
- LAUNCH_URL=http://dashboard
...
I can see in the Dockerfile for bh.cr/balenalabs/dashboard, there is the following line:
COPY ./provisioning /usr/share/grafana/conf/provisioning
I'm unsure with docker, how I specify my own yml files, when using your image, or is that not possible?
I did try cloning and modifying this repo, and referencing it from my docker-compose.yml, however I seemed to get issues -
[Logs] [2023-10-05T14:51:56.378Z] [dashboard] sh: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by sh)
Many thanks!
Would be nice to know upfront how to craft a commit which will pass versionist
:-)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.