Visualise every detection, defect count, FPS, temperature, and system health metric in a beautiful real-time dashboard — running locally on the Jetson. Grafana + InfluxDB gives you professional-grade monitoring with zero cloud subscription.
What you will learn
- How InfluxDB stores time-series AI metrics on the Jetson
- How to write Python data to InfluxDB from your vision pipeline
- How to build a Grafana dashboard with live charts and alerts
- How to monitor Jetson CPU, GPU, and temperature in Grafana
- How to set up alert rules that send notifications when metrics spike
Step 1 — Start the dashboard stack
cd ~/tutorials/18-grafana-dashboard
docker-compose up -d # starts InfluxDB + Grafana in background
# Open Grafana at http://localhost:3000
# Username: admin | Password: jetson2026
Step 2 — Log AI metrics from Python
from influxdb_client import InfluxDBClient, Point
from datetime import datetime
client = InfluxDBClient(url="http://localhost:8086", token="jetson-token")
write_api = client.write_api()
def log_detection(camera_id, class_name, confidence, fps):
point = (
Point("ai_detection")
.tag("camera", camera_id)
.tag("class", class_name)
.field("confidence", confidence)
.field("fps", fps)
.time(datetime.utcnow())
)
write_api.write(bucket="vision", record=point)
Step 3 — Monitor Jetson system stats
import jtop # jetson-stats — pre-installed on your kit
with jtop.jtop() as jetson:
stats = jetson.stats
log_system_metric("gpu_usage", stats["GPU"])
log_system_metric("cpu_temp", stats["Temp CPU"])
log_system_metric("power_watts", stats["Power SYS5V"])
The pre-built Grafana dashboard template is included at ~/tutorials/18-grafana-dashboard/hemihex_dashboard.json. Import it into Grafana to see all metrics instantly.
✅ Next: Tutorial 19 — Satellite & Meteor Detection | Back to Jetson Kit