Repository navigation
Live Monitoring
RackDaddy is not tied to any vendor's hardware. It reads a small, fixed schema from InfluxDB, and you fill that schema from whatever you have: SNMP, Modbus, IPMI, or a script. Match the schema in Telegraf (or any writer) and your readings map straight onto the 3D heatmap and the dashboards.
This page is a condensed walkthrough. The repo's MONITORING.md has the full copy-paste version.
docker run -d --name influxdb --network monitoring -p 8086:8086 \
-v influxdb-data:/var/lib/influxdb2 \
-e DOCKER_INFLUXDB_INIT_MODE=setup \
-e DOCKER_INFLUXDB_INIT_USERNAME=admin \
-e DOCKER_INFLUXDB_INIT_PASSWORD=change-me-please \
-e DOCKER_INFLUXDB_INIT_ORG=rackdaddy \
-e DOCKER_INFLUXDB_INIT_BUCKET=zone-sensors \
-e DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=my-super-secret-token \
influxdb:2.7Keep the org, bucket, and token handy.
Thermal zones (the cold-aisle tiles and the heatmap), in your zones bucket:
| Part | Value |
|---|---|
| measurement |
nb570_temp, nb570_humidity, nb570_dewpoint, nb570_airflow
|
| field |
temp_c, humidity_pct, dewpoint_c, airflow_tenths
|
| tag |
enclosure = <zone name> (must match a zone you add in RackDaddy) |
So nb570_temp,enclosure=Row-1 temp_c=22.4 becomes the temperature of zone Row-1. Only temp_c is required to colour the heatmap.
Power meters (the power dashboard): measurement modbus, tag meter = <name>, fields power_kw, apparent_kva, per-phase voltages and currents. One meter per meter tag value.
The measurement names above (
nb570_*) are RackDaddy's native reader convention, not a hardware requirement. Point any source at them.
To prove the pipeline with no real device, a Telegraf exec input can emit a synthetic reading:
[[inputs.exec]]
commands = ["sh -c 'echo nb570_temp,enclosure=Row-1 temp_c=$(awk \"BEGIN{srand();print 20+rand()*5}\")'"]
data_format = "influx"
interval = "10s"Point the API at InfluxDB with environment variables (see Configuration):
INFLUX_URL=http://influxdb:8086
INFLUX_TOKEN=my-super-secret-token
INFLUX_ORG=rackdaddy
ZONE_BUCKET=zone-sensorsMake sure the API shares the monitoring Docker network (or use the InfluxDB host's IP). Apply with docker compose -f docker-compose.lab.yml up -d.
Then sign in as admin, open Site Configurator > Data Sources, confirm the InfluxDB URL / Org / bucket, and under Cold-Aisle Zones add each zone using the exact enclosure tag values you are sending. Save.
Open Thermal or the 3D Scene: within a poll cycle the zones pick up live temperature and the heatmap colours follow. Power meters added the same way appear on the Power dashboard.
-
Heatmap stays grey. Check Telegraf is writing (InfluxDB Data Explorer), the measurement is
nb570_tempand the field istemp_c, and theenclosuretag matches a zone name you added exactly (names are case-sensitive). -
API cannot reach InfluxDB. From the API container run
docker compose -f docker-compose.lab.yml exec api wget -qO- http://influxdb:8086/health. If it fails, put the API and InfluxDB on the same Docker network, or setINFLUX_URLto the host IP. -
401 unauthorized.
INFLUX_TOKENmust match the InfluxDB token and have read access to the bucket.