konstk1 / helium-dashboard

Helium dashboard
MIT License
23 stars 14 forks source link

Helium Dashboard

Dashboard

Note

If you have any questions, feel free to create an issue. I won't be able to hand-hold anyone through the setup, but I will be happy to answer simple questions.

QR

Overview

This dashboard setup collects data from Helium API and stores it in InfluxDB. Grafana reads the data from InfluxDB and presents it on the dashboard.

Data capture

This node package collects data from Helium API. It's designed for AWS Lambda but can be run on any machine with Node.js. (If running on a machine with node, use npm start). This script does a single data collection and, therefore, must be run periodically (e.g., every 10 mins). Some example on how to do that:

Env file

The supplied .env.sample contains necessary environment variables to be defined. Copy this file to .env and update with your parameters. Note that .env file is .gitignore'd.

Server

The setup below assumes a Linux-like environment.

Firewall

HTTPS Certs (optional)

Influx

Install

Configure

Create influx bucket (if from scratch)

Import database backup (if restoring)

Create users

Influx 2.0

Grafana

Install

Configure

Install plugins

sudo grafana-cli plugins install marcusolsson-json-datasource

Import dashboard json (if new)

Migrate previous dashboards (if restoring)

Start as service

sudo systemctl daemon-reload
sudo systemctl start grafana-server
sudo systemctl status grafana-server

To start on startup:

sudo systemctl enable grafana-server.service