vMarkusK / Advanced-PRTG-Sensors

Collection of my Advanced PRTG Sensors
https://mycloudrevolution.com/
Apache License 2.0
69 stars 29 forks source link

PRTG is not able read XML Structure after v11 Upgrade #77

Closed carsten0407 closed 2 years ago

carsten0407 commented 3 years ago

Hi Markus, after installing the new veeam BR version 11, we have problems with our poweshell. After downloading the newone from github, everything its fine, only the prtg output is maybe wrong.

We think the "0" before is the mistake. We stocking here, and have no idea to solve the problem can you help?

If you german, go ahead and anser in german :-)

XML: The returned XML does not match the expected schema. (code: PE233) -- JSON: The returned JSON does not match the expected structure (Invalid JSON.). (code: PE231)

0:

Successful-Backups 31 ... ... ... ..
vMarkusK commented 3 years ago

Hi,

might you please share the command you use? Just to make sure, the leading "0" is only visible in the logs when PRTG initiates the script?

I have done another test with the latest version of PSx64 and PRTG without any issue. The leading "0" was not visible in the sensor log.

PS C:\PRTG> .\PSx64.exe -f="PRTG-VeeamBRStats.ps1" -p="WIN-RT26QHK0M11" -raw
<prtg>
<result>
  <channel>Successful-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failed-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>TotalBackupRead</channel>
  <value>0</value>
  <unit>Custom</unit>
  <customUnit>GB</customUnit>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>TotalBackupTransfer</channel>
  <value>0</value>
  <unit>Custom</unit>
  <customUnit>GB</customUnit>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Successful-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failed-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Idle-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Successful-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failed-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Successful-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>REPO - Default Backup Repository</channel>
  <value>66</value>
  <unit>Percent</unit>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMinWarning>20</LimitMinWarning>
  <LimitMinError>10</LimitMinError>
  <LimitMode>1</LimitMode>
</result>
</prtg>
carsten0407 commented 3 years ago

Hi Markus,

It is the same command as you use… without the -raw parameter..

.\PSx64.exe -f="PRTG-VeeamBRStats.ps1" -p="WIN-RT26QHK0M11" -raw

Can you share the link, to the new psx64.ee version? I have the version from the prtgtoolsfamily Site I try it tomorrow

Thx for the answer Mit freundlichen Grüßen / best regards

i. A. Carsten Trautmann

Senior System Engineer IT-Service

vMarkusK commented 3 years ago

I also use the version from the prtgtoolsfamily Site.

questionhead commented 3 years ago

Hi Markus

it seems like since Veeam Version 11 the Powershell Snapin is gone: https://forums.veeam.com/powershell-f26/veeam-11-powershell-snapin-gone-t72598.html

Log: "Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 5. At C:\Program Files (x86)\PRTG Network Monitor\custom sensors\EXEXML\PRTG-VeeamBRStats.ps1:43 char:8

C:\Program Files (x86)\PRTG Network Monitor\custom sensors\EXEXML\PRTG-VeeamBRStats.ps1 : ERROR: Cannot load the VEEAM Snapin. At line:1 char:1

0: "

Do you update the script to Powershell-Module?

Thanks in advance.

vMarkusK commented 3 years ago

Hi @carsten0407 ,

The script is able to handle the v11 modules. My lab is also running v11.

The load of the SnapIn is a fallback mechanism if the new modules are not found on the box where the script is executed.

Have you manually ran the script on the same windows box as the probe for the sensor?

questionhead commented 3 years ago

Hi Markus

Have you updated to V11 or did you do a clean installation with V11? I installed V11 on a clean Windows Server 2019. I also tested with latest PSx64.exe.

I get this error: PS C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML> .\PSx64.exe -f="PRTG-VeeamBRStats.ps1" .\PSx64.exe : Add-PSSnapin : No snap-ins have been registered for Windows PowerShell version 5. At line:1 char:1

At C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML\PRTG-VeeamBRStats.ps1:43 char:8

C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML\PRTG-VeeamBRStats.ps1 : ERROR: Cannot load the VEEAM Snapin. At line:1 char:1

Best regards

questionhead commented 3 years ago

Hi Markus

I updated the script to latest version and it works. Sorry my bad, I thought it's already latest version.

Best regards

carsten0407 commented 3 years ago

Hi Markus,

it runs fine trough the “Windows PowerShell ISE” on the probe (veeam console installed, the backupserver is different) also the fall back mechanism works fine.

I get the the leading "0" only when I run it in the cmd (not powershell) with leading PSX64

I don’t know why? I only know that PRTG is bothered by it on that output and give a

XML: The returned XML does not match the expected schema. (code: PE233) -- JSON: The returned JSON does not match the expected structure (Invalid JSON.). (code: PE231)

Von: Markus Kraus @.> Gesendet: Dienstag, 16. März 2021 09:11 An: vMarkusK/Advanced-PRTG-Sensors @.> Cc: Trautmann, Carsten @.>; Mention @.> Betreff: Re: [vMarkusK/Advanced-PRTG-Sensors] New PRTG Sensor with the new Veeam Version 11 (#77)

Hi @carsten0407https://github.com/carsten0407 ,

The script is able to handle the v11 modules. My lab is also running v11.

The load of the SnapIn is a fallback mechanism if the new modules are not found on the box where the script is executed.

Have you manually ran the script on the same windows box as the probe for the sensor?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/vMarkusK/Advanced-PRTG-Sensors/issues/77#issuecomment-800049330, or unsubscribehttps://github.com/notifications/unsubscribe-auth/APIS7JGUC5CGPYLQMH3HGVLTD4HCNANCNFSM4ZHD7OEA.

stoeffel2002 commented 3 years ago

Hi all, We have updated one of our Veeam installation to v11 yesterday and run into the same issue as described from carsten0407.

Veeam Management console is installed on our PRTG probe server and we can also successfully run the script PS C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML> .\PSx64.exe -f="PRTG-VeeamBRStats.ps1" -p="hostname.mydomain.local"

But PRTG always reports the error "XML: The returned XML does not match the expected schema. (code: PE233) -- JSON: The returned JSON does not match the expected structure (Invalid JSON.). (code: PE231)"

Thank you for your help. Regards Christoph

carsten0407 commented 3 years ago

It is the leading "0" that gets PRTG to this error. When your start the script through psx64

PRTG is "pretty picky" about the output.... ;-)

Thanks to everybody who helps

"I cannot share the PRTG output, because of the brackets, I should use a screenshot" Anyway, the colon is in really a bracket ;-) I think ererybody knows a PRTG outpout

We talk about this "0:"

"0:prtg: :result: :channel:Successful-Backups:/channel: :value>31</value: :showChart:1:/showChart: :showTable>1</showTable: :/result: :result: :channel:Warning-Backups:/channel: :value:0:/value: :showChart:1:/showChart:"

stoeffel2002 commented 3 years ago

Sorry we receive only the same generic message in PRTG:

XML: The returned XML does not match the expected schema. (code: PE233) -- JSON: The returned JSON does not match the expected structure (Invalid JSON.). (code: PE231)

The problem seems to be another. Running the latest script from github gives us the the following log message in the directory C:\ProgramData\Paessler\PRTG Network Monitor\Logs\sensors on the PRTG probe server:

C:\Program Files (x86)\PRTG Network Monitor\custom sensors\EXEXML\PRTG-VeeamBRStats.ps1 : The term 'Disconnect-VBRServer' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1

No Veeam Modules found, Fallback to SnapIn.

Running de script directly on the probe server with veem management console installed works fine. Any ideas?

vMarkusK commented 3 years ago

@carsten0407 Might you please share the full XML returned in the log file? I am not sure is the leading 0 is the root cause.

Hint: use code Block (Start and end with: ``` ) to not break the XML structure.

Which PRTG / PSx64 Versions are you using (I am still not able to reproduce the "leading 0" issue with the latest versions)?

carsten0407 commented 3 years ago

Hi Markus,

Now you got me, we are living on our three PRTG-Core-Server with very old versions (from last year march) Tomorrow we make an update on one of them I will report on Thursday..

@Christoph, what about your version?

@Markus, --> Might you please share the full XML returned in the log file? I am not sure is the leading 0 is the root cause. --> you mean the log in %PROGRAMDATA%\paessler

stoeffel2002 commented 3 years ago

Hi Carsten We use the latest version 21.1.66.1623 of PRTG. My Script is working again after using the full path to de Veeam.Backup.PowerShell.dll File instead of the shortened version (see #78 )

vMarkusK commented 3 years ago

@carsten0407 correct the log file of the advanced sensors is stored in the data directory. Name is the ID of the sensor which you can see in the sensor summary of the web ui.

carsten0407 commented 3 years ago

Hi Markus,

here are the logs…


Disconnect-VBRServer : Access to the path "Veeam\Backup" was denied. In C:\Program Files (x86)\PRTG Network Monitor\custom sensors\EXEXML\PRTG-VeeamBRStatsLocalBackupV2.0.ps1:66 Zeichen:5

Data['linuxloginpassword'].asString := ''; Data['notonpod'].asString := '0'; Data['fastcount'].asString := '0'; Data['lastmsg'].asString := '#Y2 @#O233 @#O231[Invalid JSON.]'; Data['resultfile'].asString := 'Result of Sensor 116431.txt'; Data['windowsloginusername'].asString := 'ServiceUser'; Data['hostv6'].asString := ''; Data['exefile'].asString := 'PSx64.exe'; Data['lastuptime'].asString := '0'; Data['writeresult'].asString := '1'; Data['blockedsens'].asString := ''; Data['reqmsginterval'].asString := '90'; Data['windowslogindomain'].asString := ''; Data['tlsexplicit_imap'].asString := ''; Data['channelnames'].asString := ''; Data['tlsexplicit_default'].asString := ''; Data['canlinux'].asString := '0'; Data['isexesensor'].asString := '1'; Data['windowsloginpassword'].asString := '***'; Data['environment'].asString := ''; Data['mutexname'].asString := ''; Data['channelinfos'].asString := '{}'; Data['uptimecount'].asString := '0'; Data['vmwareparams'].asString := '1'; Data['reboot'].asString := '44272.4132866204'; Data['usednstime'].asString := '0'; Data['newpowershell'].asString := '0'; Data['linuxlogindomain'].asString := ''; Data['tlsexplicit_port'].asString := ''; Data['monitorchange'].asString := ''; Data['inerror'].asString := '1'; Data['sensorid'].asString := '116431'; Data['ipversion'].asString := '0'; Data['tlsexplicit_smtp'].asString := ''; Data['host'].asString := 'backup01'; Data['exeparamslist'].asString := ''; Data['usewindowsauthentication'].asString := '1'; Data['simulate'].asString := '0'; Data['tlsexplicit_ftp'].asString := ''; Data['timeout'].asString := '300'; Data['exeparams'].asString := '-f="PRTG-VeeamBRStatsLocalBackupV2.0.ps1" -p="BACKUP-SERVER"'; Data['momopersistent'].asString := ''; Data['tlsexplicit_pop3'].asString := '';

vMarkusK commented 3 years ago

Hi @carsten0407 ,

Thanks for the logs. I assume that your problem has the same root case as described in #80.

What are the local permissions of the user the probe uses to call the script?

vMarkusK commented 3 years ago

Duplicate of #80

vMarkusK commented 3 years ago

Might you please add a new Sensor to PRTG, similar to the Original one (enable log) but use this Diagnostic Script instead: https://github.com/vMarkusK/Advanced-PRTG-Sensors/blob/master/Veeam/PRTG-VeeamBRStats-Diag.ps1

Please share the Log (Default Path: C:\ProgramData\Paessler\PRTG Network Monitor\Logs\sensors) returned after the Sensor is executed. Example:

C:\Program Files (x86)\PRTG Network Monitor\custom sensors\EXEXML\PRTG-VeeamBRStats.-Diag.ps1 : Execution environment 
cannot be initialized to Remote
At line:1 char:1
+ &'C:\Program Files (x86)\PRTG Network Monitor\custom sensors\EXEXML\P ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,PRTG-VeeamBRStats.-Diag.ps1

C:\Program Files (x86)\PRTG Network Monitor\custom sensors\EXEXML\PRTG-VeeamBRStats.-Diag.ps1 : at <ScriptBlock>, 
C:\Program Files (x86)\PRTG Network Monitor\custom sensors\EXEXML\PRTG-VeeamBRStats.-Diag.ps1: line 48
at <ScriptBlock>, <No file>: line 1
At line:1 char:1
+ &'C:\Program Files (x86)\PRTG Network Monitor\custom sensors\EXEXML\P ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,PRTG-VeeamBRStats.-Diag.ps1

Failed to Connect
<prtg>
 <error>1</error>
 <text>User 'WIN-RT26QHK0M11$' /  Error::  Execution environment cannot be initialized to Remote</text>
</prtg>
carsten0407 commented 3 years ago

Hi Markus,

similar means, with, or without the PSx64

vMarkusK commented 3 years ago

Might you please implement the diagnostic script as described and share the result log? The output helps me to identify the root cause.

vMarkusK commented 3 years ago

The root cause of this issue (and also #80 ) seems to be a connection issue to the Veeam Server.

My Recommendation:

Other Options;

vMarkusK commented 3 years ago

Hello, I just want to update you about the current state of the analysis.

I have tested a few Concepts to reproduce this issue:

As I was not able to reproduce this issue I need more details details to dig deeper:

edsonpereirafilho commented 3 years ago

Dear @vMarkusK

I'm getting to know your project for the first time and I came across the same error mentioned by my colleagues. I'm dedicated to solving my problem and I'm available to send any kind of log that is needed for resolution. I describe my scenario below.

PRTG Version: PRTG Network Monitor 17.3.32.2339 x64 Operating System PRTG Remote Probe = Microsoft Windows Server 2019 Standard. Operating System Veeam Backup and Replication V11 = Microsoft Windows Server 2012R2 Standard.

The two machines inserted in the same domain.

Remote Probe Installed on a dedicated server for PRTG monitoring only.

Log Erro PRTG "No Veeam Modules found, Fallback to SnapIn. C:\Program Files (x86)\PRTG Network Monitor\custom sensors\EXEXML\prtg_veeam.ps1 : The term 'Disconnect-VBRServer' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:137

image

Image Erro PRTG image

I run the script directly on the Server where Veeam V11 using Windows Power Shell ISE is installed and it works ok image

I run script on PRTG Remote Probe server using Windows Power Shell ISE and error occurs image

I will be aware of this forum and will always try to respond quickly.

Thank you so much

I apologize for the English, after all I used google translator.

vMarkusK commented 3 years ago

Hi @edsonpereirafilho ,

Have you installed the latest veeam console on your probe device? Looks like the PowerShell modules are not available.

Try to open the console on the probe device and connect to the vbr server to verify the basic requirements.

Best wishes Markus Kraus

edsonpereirafilho commented 3 years ago

Hello @vMarkusK .

On the probe device there is nothing of Veeam installed.

PRTG Remote Probe is dedicated to monitoring only.

I will arrange to install the veeam console and get back to you with feedback.

Thanks!

vMarkusK commented 3 years ago

The Veeam Console and the PowerShell Moduleas bundled with it are required to use the script /sensor.

edsonpereirafilho commented 3 years ago

Dear @vMarkusK Thank you very much for the information, after installing Veeam Backup Console it was actually possible to run the script using windows powershell ISE and I got great results

But when I test by PRTG I still encounter problems that I describe below.

PRTG web interface image

XML: The returned XML does not match the expected schema. (code: PE233) -- JSON: The returned JSON does not match the expected structure (Invalid JSON.). (code: PE231)

Error Sensor Log image

Data['blockedsens'].asString := ''; Data['canlinux'].asString := '0'; Data['channelinfos'].asString := '{}'; Data['channelnames'].asString := ''; Data['environment'].asString := ''; Data['exefile'].asString := 'prtg_veeam.ps1'; Data['exeparams'].asString := ''; Data['fastcount'].asString := '0'; Data['host'].asString := '192.168.0.61'; Data['hostv6'].asString := ''; Data['inerror'].asString := '1'; Data['interfacenumber'].asString := ''; Data['inum'].asString := ''; Data['ipversion'].asString := '0'; Data['isexesensor'].asString := '1'; Data['lastmsg'].asString := '#Y2 @#O233 @#O231[Invalid JSON.]'; Data['lastuptime'].asString := '0'; Data['linuxlogindomain'].asString := ''; Data['linuxloginpassword'].asString := ''; Data['monitorchange'].asString := ''; Data['mutexname'].asString := ''; Data['notonpod'].asString := '0'; Data['reboot'].asString := '44357.5292903819'; Data['reqmsginterval'].asString := '300'; Data['resultfile'].asString := 'Result of Sensor 179202.txt'; Data['sensorid'].asString := '179202'; Data['simulate'].asString := '0'; Data['timeout'].asString := '600'; Data['tlsexplicit_default'].asString := ''; Data['tlsexplicit_ftp'].asString := ''; Data['tlsexplicit_imap'].asString := ''; Data['tlsexplicit_pop3'].asString := ''; Data['tlsexplicit_port'].asString := ''; Data['tlsexplicit_smtp'].asString := ''; Data['uptimecount'].asString := '0'; Data['usednstime'].asString := '0'; Data['usewindowsauthentication'].asString := '0'; Data['windowslogindomain'].asString := 'coreit.dtc'; Data['windowsloginpassword'].asString := ''; Data['windowsloginusername'].asString := 'adm.edson'; Data['writeresult'].asString := '1';

I pay attention to the excerpt from the Log Sensor highlighted below

Data['lastmsg'].asString := '#Y2 @#O233 @#O231[Invalid JSON.]';

I confess that I don't know where the problem is!

vMarkusK commented 3 years ago

Please enable logging for the sensor and have a look at the full log file including the results of the execution.

I assume that the user which executes the script has no permissions to vbr. Try to start the probe service as a proper user.

edsonpereirafilho commented 3 years ago

Dear Markus

The user configured in PRTG is allowed to access the VBR, it is the same user I use to manage the backups. I validated the credentials and it's OK. Attach the sensor log files.

I will continue looking for a solution! Thanks for the support Result of Sensor 179204.Data.txt Result of Sensor 179204.txt

vMarkusK commented 3 years ago

The error you see was already reported multiple times before. I do not have an solution for that as I am not able to reproduce the problem. That's not a problem of the script itself.

Other users solved the problem in different ways: simple reboot of the probe, reinstall of the Console or other user.

You can also try to start a thread in the Veeam forum.

edsonpereirafilho commented 3 years ago

I understand Markus

In fact the problem is not in the script because running directly in Windows Power Shell ISE the script is perfect!

The problem is something related to PRTG.

Once again, thank you so much for your help. I will come back here as soon as I find a solution!

JamesW-AU commented 3 years ago

I'm seeing the same issue here after upgrading to Veeam v11. I've updated the console version on our PRTG server, and I can log in to Veeam as our Probe user. This is the output of the script using PSx64.exe and just running the ps1 directly: (Note the 0: at the start of the output when using PSx64.exe)

PS C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML> .\PSx64.exe -f='PLC PRTG-VeeamBRStats.ps1'
0:<prtg>
<result>
  <channel>Successful-Backups</channel>
  <value>25</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failed-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>TotalBackupRead</channel>
  <value>0</value>
  <unit>Custom</unit>
  <customUnit>GB</customUnit>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>TotalBackupTransfer</channel>
  <value>0</value>
  <unit>Custom</unit>
  <customUnit>GB</customUnit>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Successful-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failed-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Idle-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Successful-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failed-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Successful-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>REPO - Default Backup Repository</channel>
  <value>92</value>
  <unit>Percent</unit>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMinWarning>20</LimitMinWarning>
  <LimitMinError>10</LimitMinError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>REPO - PLC File Backups</channel>
  <value>27</value>
  <unit>Percent</unit>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMinWarning>20</LimitMinWarning>
  <LimitMinError>10</LimitMinError>
  <LimitMode>1</LimitMode>
</result>
</prtg>

PS C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML> & '.\PLC PRTG-VeeamBRStats.ps1'
<prtg>
<result>
  <channel>Successful-Backups</channel>
  <value>25</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failed-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-Backups</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>TotalBackupRead</channel>
  <value>0</value>
  <unit>Custom</unit>
  <customUnit>GB</customUnit>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>TotalBackupTransfer</channel>
  <value>0</value>
  <unit>Custom</unit>
  <customUnit>GB</customUnit>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Successful-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failed-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Idle-BackupCopys</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Successful-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failed-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-Replications</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Successful-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>Warning-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxWarning>0</LimitMaxWarning>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Failes-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMaxError>0</LimitMaxError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>Running-Endpoints</channel>
  <value>0</value>
  <showChart>1</showChart>
  <showTable>1</showTable>
</result>
<result>
  <channel>REPO - Default Backup Repository</channel>
  <value>92</value>
  <unit>Percent</unit>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMinWarning>20</LimitMinWarning>
  <LimitMinError>10</LimitMinError>
  <LimitMode>1</LimitMode>
</result>
<result>
  <channel>REPO - PLC File Backups</channel>
  <value>27</value>
  <unit>Percent</unit>
  <showChart>1</showChart>
  <showTable>1</showTable>
  <LimitMinWarning>20</LimitMinWarning>
  <LimitMinError>10</LimitMinError>
  <LimitMode>1</LimitMode>
</result>
</prtg>
PS C:\Program Files (x86)\PRTG Network Monitor\Custom Sensors\EXEXML>
vMarkusK commented 3 years ago

Hi @JamesW-AU ,

Script Output looks fine for me.

Please follow these steps to fix the most known issues with the PRTG integration:

Best regards Markus

vMarkusK commented 2 years ago

No updates for more than 6 months. If this issue still exists please open a new issue.