mirror of
https://github.com/stylersnico/prtg-nvidia-monitoring-push.git
synced 2026-06-04 16:08:36 +02:00
main
Nvidia GPU Monitoring for PRTG
Monitor GPU with Nvidia-SMI and send data to PRTG. Monitor usage, vram usage and temperature for one gpu system.
Tested on
- Windows Server 2022 (built-in powershell)
- Windows 11 Pro (built-in powershell)
Setup
Create a HTTP Push Data Advanced sensor in your PRTG and grab the Identification Token.
Download the script:
$sourceUrl = "https://raw.githubusercontent.com/stylersnico/prtg-nvidia-monitoring-push/refs/heads/main/gpu_monitor.ps1"
$destinationPath = "C:\_Scripts\gpu_monitor.ps1"
if (-Not (Test-Path -Path ([System.IO.Path]::GetDirectoryName($destinationPath)))) {
New-Item -ItemType Directory -Force -Path ([System.IO.Path]::GetDirectoryName($destinationPath))
}
Invoke-WebRequest -Uri $sourceUrl -OutFile $destinationPath
Edit it to put your PRTG IP and Identification token at the end.
Create a scheduled task that send the data every minute:
$taskName = "GPU_Monitor"
$scriptPath = "C:\_Scripts\gpu_monitor.ps1"
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File `"$scriptPath`""
$trigger = New-ScheduledTaskTrigger -Once -At (Get-Date) -RepetitionInterval (New-TimeSpan -Minutes 1) -RepetitionDuration (New-TimeSpan -Days 365)
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable
Register-ScheduledTask -TaskName $taskName -Action $action -Trigger $trigger -Settings $settings -Description "GPU Monitor Script" -User "SYSTEM"
When the data is in PRTG, edit the alerting depending on your GPU.
Screenshots
Languages
PowerShell
100%