I came across Jetson platform services and am interested in the monitoring service:
I followed the instructions here (manual) and installed JPS 2.0 on Orin NX running jetpack6.2:
$ dpkg -l | grep jet
ii nvidia-jetpack 6.2.1+b38 arm64 NVIDIA Jetpack Meta Package
ii nvidia-jetpack-dev 6.2.1+b38 arm64 NVIDIA Jetpack dev Meta Package
ii nvidia-jetpack-runtime 6.2.1+b38 arm64 NVIDIA Jetpack runtime Meta Package
ii nvidia-jetson-services 2.0.0 arm64 NVIDIA Jetson Package
...
I’ve uncommented the monitoring service in /opt/nvidia/jetson/services/ingress/config/platform-nginx.conf:
nvidia@sai-aaa-boson22-xx:~$ cat /opt/nvidia/jetson/services/ingress/config/platform-nginx.conf
location /grafana {
rewrite ^/grafana/(.*) /$1 break;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# reset Authorization again because proxy_set_header Host $host is setting it
proxy_set_header Authorization "";
access_log /var/log/nginx/access.log timed_combined;
proxy_pass http://localhost:3000;
}
location /vst/ {
rewrite ^/vst/?(.*)$ /$1 break;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log /var/log/nginx/access.log timed_combined;
proxy_pass http://localhost:30000;
}
location /monitoring/ {
rewrite ^/monitoring/?(.*)$ /$1 break;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log /var/log/nginx/access.log timed_combined;
proxy_pass http://localhost:8081;
}
location /pushgateway/ {
rewrite ^/pushgateway/?(.*)$ /$1 break;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
access_log /var/log/nginx/access.log timed_combined;
proxy_pass http://localhost:9091;
}
All services are enabled and running as far as I can tell:
nvidia@jetson-xx:~$ sudo systemctl status jetson-ingress jetson-monitoring jetson-sys-monitoring jetson-gpu-monitoring
● jetson-ingress.service - Ingress Platform Service
Loaded: loaded (/lib/systemd/system/jetson-ingress.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2025-08-08 22:23:39 UTC; 19min ago
Process: 1869 ExecStart=docker compose -f /opt/nvidia/jetson/services/ingress/compose.yaml up -d --force-recreate (code=exited, status=0/SUCCESS)
Main PID: 1869 (code=exited, status=0/SUCCESS)
CPU: 211ms
Aug 08 22:23:38 jetson-xx systemd[1]: Starting Ingress Platform Service...
Aug 08 22:23:38 jetson-xx docker[1940]: time="2025-08-08T22:23:38Z" level=warning msg="/opt/nvidia/jetson/services/ingress/compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
Aug 08 22:23:38 jetson-xx docker[1940]: Container ingress Creating
Aug 08 22:23:38 jetson-xx docker[1940]: Container ingress Created
Aug 08 22:23:38 jetson-xx docker[1940]: Container ingress Starting
Aug 08 22:23:39 jetson-xx docker[1940]: Container ingress Started
Aug 08 22:23:39 jetson-xx systemd[1]: Finished Ingress Platform Service.
● jetson-monitoring.service - Monitoring Platform Service
Loaded: loaded (/lib/systemd/system/jetson-monitoring.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2025-08-08 22:23:39 UTC; 19min ago
Process: 1870 ExecStart=docker compose -f /opt/nvidia/jetson/services/monitoring/compose.yaml up -d --force-recreate (code=exited, status=0/SUCCESS)
Main PID: 1870 (code=exited, status=0/SUCCESS)
CPU: 274ms
Aug 08 22:23:39 jetson-xx docker[1939]: Container grafana Starting
Aug 08 22:23:39 jetson-xx docker[1939]: Container push-gateway Starting
Aug 08 22:23:39 jetson-xx docker[1939]: Container its-monitoring Starting
Aug 08 22:23:39 jetson-xx docker[1939]: Container jps-metric-exporter Started
Aug 08 22:23:39 jetson-xx docker[1939]: Container prometheus Started
Aug 08 22:23:39 jetson-xx docker[1939]: Container its-monitoring Started
Aug 08 22:23:39 jetson-xx docker[1939]: Container alert-manager Started
Aug 08 22:23:39 jetson-xx docker[1939]: Container push-gateway Started
Aug 08 22:23:39 jetson-xx docker[1939]: Container grafana Started
Aug 08 22:23:39 jetson-xx systemd[1]: Finished Monitoring Platform Service.
● jetson-sys-monitoring.service - Sys Monitoring Platform Service
Loaded: loaded (/lib/systemd/system/jetson-sys-monitoring.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2025-08-08 22:23:40 UTC; 19min ago
Process: 2468 ExecStart=docker compose -f /opt/nvidia/jetson/services/sysmonitoring/compose.yaml up -d --force-recreate (code=exited, status=0/SUCCESS)
Main PID: 2468 (code=exited, status=0/SUCCESS)
CPU: 205ms
Aug 08 22:23:39 jetson-xx systemd[1]: Starting Sys Monitoring Platform Service...
Aug 08 22:23:40 jetson-xx docker[2605]: time="2025-08-08T22:23:40Z" level=warning msg="/opt/nvidia/jetson/services/sysmonitoring/compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion"
Aug 08 22:23:40 jetson-xx docker[2605]: Container nodeexporter Creating
Aug 08 22:23:40 jetson-xx docker[2605]: Container nodeexporter Created
Aug 08 22:23:40 jetson-xx docker[2605]: Container nodeexporter Starting
Aug 08 22:23:40 jetson-xx docker[2605]: Container nodeexporter Started
Aug 08 22:23:40 jetson-xx systemd[1]: Finished Sys Monitoring Platform Service.
● jetson-gpu-monitoring.service - GPU Monitoring
Loaded: loaded (/lib/systemd/system/jetson-gpu-monitoring.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2025-08-08 22:23:37 UTC; 19min ago
Process: 1334 ExecStartPre=/bin/bash /opt/nvidia/jetson/services/gpumonitoring/prepare.sh (code=exited, status=0/SUCCESS)
Main PID: 1349 (bash)
Tasks: 4 (limit: 18451)
Memory: 277.4M
CPU: 43.305s
CGroup: /system.slice/jetson-gpu-monitoring.service
├─1349 /bin/bash /opt/nvidia/jetson/services/gpumonitoring/entrypoint.sh
├─4791 sudo -E python3 /opt/nvidia/jetson-2.0.0/services/gpumonitoring/__main__.py
└─4792 python3 /opt/nvidia/jetson-2.0.0/services/gpumonitoring/__main__.py
Aug 08 22:43:27 jetson-xx sudo[13045]: pam_unix(sudo:session): session closed for user root
Aug 08 22:43:27 jetson-xx sudo[13048]: root : PWD=/ ; USER=root ; COMMAND=/usr/bin/cat /sys/kernel/debug/nvmap/iovmm/clients
Aug 08 22:43:27 jetson-xx sudo[13048]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Aug 08 22:43:27 jetson-xx sudo[13048]: pam_unix(sudo:session): session closed for user root
Aug 08 22:43:29 jetson-xx sudo[13058]: root : PWD=/ ; USER=root ; COMMAND=/usr/bin/timeout 0.2 tegrastats --load_cfg ./tstats.txt --interval 100
Aug 08 22:43:29 jetson-xx sudo[13058]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Aug 08 22:43:29 jetson-xx sudo[13058]: pam_unix(sudo:session): session closed for user root
Aug 08 22:43:29 jetson-xx sudo[13063]: root : PWD=/ ; USER=root ; COMMAND=/usr/bin/cat /sys/kernel/debug/nvmap/iovmm/clients
Aug 08 22:43:29 jetson-xx sudo[13063]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=0)
Aug 08 22:43:29 jetson-xx sudo[13063]: pam_unix(sudo:session): session closed for user root
When I try to connect to the dashboard on port 3000, I’m redirected to http://192.168.55.1:3000/grafana/login and see error `ERR_TOO_MANY_REDIRECTS`.
I can see that the service is up-and-running using curl on the jetson board or from host:
$ curl -u admin:admin http://192.168.55.1:3000/api/health
{
“database”: “ok”,
“version”: “11.3.1”,
“commit”: “64b556c137a1d9bcacd19ccb16c4cf138c78ca40”
}
is there something I missed?

