This project provides a monitoring stack for the access points' (APs') energy consumption. The data is collected from Cisco Catalyst switches that provide PoE to the APs.
- data platform creation
- environment hierarchy onboarding:
- site:
- zones:
- switches
- APs
- zones:
- site:
- CDP neighbors reading
- power and PoE reading of switches and APs
- optional environmental information
- data streaming
- data visualization
- data aggregation
- data exploration
- data persistence
- data export
onboard -> streamer-switches -> streamer-aps -> thingsboard
thingsboard -> exporter
Follow instructions for RHEL or Ubuntu.
Create folder for Thingsboard's data: see file dependencies/00.prep-filesystem.sh.
On RHEL, configure firewall for Thingsboard: see file dependencies/01.config-firewall.sh.
Configure environment variables (see .env.example):
cp .env.example .envOptionally, configure settings (see onboard/settings.ini):
vi onboard/settings.iniConfigure authentication to Thingsboard's MQTT broker and HTTP API (see onboard/thingsboard.yml):
vi onboard/thingsboard.ymlInstall Dhall toolkit - for Linux - online/offline mode
bash dependencies/install-deps-config-generator.sh [online]Note, for Mac and Windows, see corresponding packages here: https://github.com/dhall-lang/dhall-haskell/releases.
docker-compose -f docker-compose-thingsboard.yml up -d thingsboardSeveral endpoints will be available:
- http://HOST_IP:8080 - dashboard and REST API
- HOST_IP:1883 - MQTT broker
Load (import) the widget bundle and dashboards and edit their filters in Thingsboard - see files in thingsboard/widgets and thingsboard/dashboards.
For more information on the visualizations in Thingsboard, see doc/thingsboard.md.
Follow steps for the generation of config files.
By default, internet connection is assumed and images will be built in the process of which packages will be downloaded from the internet. For this, we use the docker-compose.yml file.
Onboard the entities, collect power data:
docker-compose up -d onboard
docker-compose up -d streamer-switches streamer-apsThe following lists the services for capturing data.
Switches' data streaming to Thingsboard; CDP neighbors and APs' data streaming to local disk:
streamer-switchesAPs' data streaming from local disk to Thingsboard:
streamer-apsExport APs' average PoE data to CSV:
exporter
Switches' data streaming to local disk for particular CLI commands (see streamer/pyats-power/streamer_switches_extra.py):
streamer-switches-extra
This service expects a configuration file at onboard/minimal-testbed.yml shorter or identical to the original testbed.yml file that is generated.
set IS_OFFLINE to true in .env and launch the onboarding container:
docker-compose up -d onboardhttp://HOST_IP:8080
See doc/thingsboard.md and the sample dashboards and widgets in the thingsboard folder.


