The SNMP debug log is growing at a prodigious rate even though "SNMP Debug Log" setting is set to "No Log (recommended)" in the Root > Settings > SNMP Compatibility Options area.

I've tried turning it on and back off, stopping the probe and deleting the file and restarting, but the file persists.

How do you disable the log?


Article Comments

Hi Enzeder,

This most likely happens if you cancel the inheritance at some point and enable the debug log for a single device.

The best way to find the device which is causing the huge log files ist to open the

PRTG Configuration.dat which is stored in the directory

C:\ProgramData\Paessler\PRTG Network Monitor

and search for the string

<snmpdebuglog>
 1
</snmpdebuglog>

If you scroll up, you will find the ID of the device which can be entered in the search field of PRTG. Once you've disabled the debug log in the web-interface, restart the PRTG Probe Service on the affected probe/system.

IMPORTANT: Please do not change the Configuration file, as it can be corrupted very easily.

Best regards


May, 2015 - Permalink

Thanks Felix,
you got it. Only thing was that I had to broaden my search a bit as I found the following string: <snmpdebuglog> <flags> <inherited/> </flags> <cell> 1 </cell> </snmpdebuglog> I don't recall changing this setting, but it's possible. I'm a newby so I've been playing around a lot.

Stopped PRTG services, deleted the log, restared services. So far no new log. Thanks again!!!

Also noticed that "SCHEDULES, DEPENDENCIES, AND MAINTENANCE WINDOW" has inheritance disabled at the device level for all devices. Don't recall making all those changes either.


May, 2015 - Permalink

The following script will make it easier for you to discern which objects have SNMP debug enabled:

# requires --version 4
#region configuration
[string] $ConfigurationFilePath = ((Get-ItemProperty -Path "hklm:SOFTWARE\Wow6432Node\Paessler\PRTG Network Monitor\Server\Core" -Name "Datapath").DataPath) + "PRTG Configuration.dat"
   [xml] $configuration = New-Object -TypeName XML;
         $configuration.Load($ConfigurationFilePath);
$groups = $configuration.SelectNodes("//group") 
$devices = $configuration.SelectNodes("//device") 
#endregion



$GroupList = foreach($group in $groups){
    
    $DebugLog = $False; 

    try{
       $value = $group.data.snmpdebuglog.trim();
       If($value -eq 1){ $DebugLog = $True; }
       Else{$DebugLog = $False; }
    }
    catch
    {
        #$DebugLog = $Device.data.snmpdebuglog.trim();
    }

    if($DebugLog -eq $True){

        [pscustomobject]@{
            ID = $group.id;
            Type = "Group"
            Name = $group.data.name.Trim(); 
            "SNMP Debug" = $DebugLog;
            
        }

    }
}

$DeviceList = foreach($Device in $devices){

     $DebugLog = $False; 
    
    try{
       $value = $device.data.snmpdebuglog.trim();
       If($value -eq 1){ $DebugLog = $True; }
       Else{$DebugLog = $False; }
    }
    catch
    {
        #$DebugLog = $Device.data.snmpdebuglog.trim();
    }

    if($DebugLog -eq $True){

    [pscustomobject]@{
        ID = $device.id;
        Type = "Device"
        Name = $device.data.name.Trim(); 
        "SNMP Debug" = $DebugLog; 
        
    }
    }
}

$GroupList
$DeviceList

It will output all groups and devices that have snmpdebug enabled like this:

IDTypeNameSNMP Debug
1234GroupSQL ServersTrue
1123DeviceApplication ServerTrue

Simply save it as Get-DebugPRTGObjects.ps1 on the PRTG Core Server and execute it.


Jul, 2016 - Permalink