Tutorial 18 — Grafana Dashboard for AI Stats Monitoring on Jetson

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

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top
0

Subtotal