This repo contains a Grafana datasource plugin that helps to visualize and analyze devices data from Enapter Cloud with the help of Enapter HTTP API.
- Proceed to the token settings page in Enapter Cloud to issue a new API token if you do not have one.
- Use your Enapter API token to run the Grafana Docker image with the plugin already installed:
docker run \
--env ENAPTER_API_TOKEN=<YOUR_ENAPTER_API_TOKEN> \
--rm \
--interactive \
--tty \
--publish 3000:3000 \
enapter/grafana-with-enapter-api-datasource-plugin:v7.0.0
- Proceed to
http://127.0.0.1:3000
. - Edit the Enapter Telemetry panel.
To visualize the device telemetry, you need to declare which data you want using YAML. A basic query looks like this:
telemetry:
- device: YOUR_DEVICE
attribute: YOUR_TELEMETRY
To get more info about the query language check out the Enapter Developers docs.
To use the Enapter API datasource in your existing Grafana installation you need to extract the packaged plugin into the Grafana plugins directory.
The path to the plugin directory is defined in the Grafana configuration file.
Let us assume that the path is /var/lib/grafana/plugins
(the default on
Linux). Then to install the plugin:
- Go to the Releases web page.
- Download the plugin distribution (
dist.tar.gz
). - Unarchive and extract the
dist
dir from the downloaded file. - Move the extracted
dist
dir to/var/lib/grafana/plugins/enapter-api/dist
.
- Using the config option:
allow_loading_unsigned_plugins = enapter-api
- Using the env var:
GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS=enapter-api
Once the plugin is installed and allowed to be loaded, a new datasource should be created:
- Use Grafana web UI to create a new
datasource
of type
enapter-api
. - Make sure
Enapter API URL
field value is set tohttps://api.enapter.com
(default). - Set
Enapter API token
field value to the value of your API token. - Save the changes.
You will need the following tools to develop the plugin:
docker
gzip
jq
make
tar
To build the plugin distribution from source run:
make dist
To start a local Grafana instance with the plugin installed run:
make grafana-build grafana-run