What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general.

Learn more

PRTG Network Monitor

Intuitive to Use. Easy to manage.
More than 500,000 users rely on Paessler PRTG every day. Find out how you can reduce cost, increase QoS and ease planning, as well.

Free Download

Top Tags


View all Tags

Mini-Probe API Causing PRTG Server Crash

Votes:

0

I'm attempting to interface into the PRTG server from a in-house application using the Mini-Probe API. I've successfully sent a "/probe/announce" request and my probe and sensors are appearing in the web interface.

I've also successfully sent a "/probe/tasks" request and received a reply, but when I attempt to upload the data to "/probe/data" I'm receiving the following response:

Data Exception: Access violation at address 00000000011691CA in module 'PRTG Server.exe'. Read of address 0000000000000000

Here is the task list I'm receiving from the server:

[{"sensorid":"2021","kind":"testsensor1","host":"127.0.0.1"},{"sensorid":"2022","kind":"testsensor2","host":"127.0.0.1"}]

And here is the POST data that is causing the error message:

gid=test_gid&key=56cb16a77a84190eda113d7d7dbcc095c73b2f73&protocol=1&data=[{"sensorid":"2021","channel":[{"name":"data","mode":"integer","value":12}]}]

I've tried what I could to trim the information sent in the "/probe/data" request to see what kind of errors I can see. If I send an empty "channel" array I get an expected error ("Data Exception: Field "name" is required in "TlkJSONobject"") but as soon as I put a "name" field into the channel array I start getting the "Access violation" error.

I seem to be sending the mandatory data of "name" and "value" but I'm wondering if there's another required field I may be missing in the "channel" data that is causing the error?

Any help would be greatly appreciated.

crash mini-probe tasks

Created on Oct 5, 2016 2:45:13 PM

Last change on Oct 6, 2016 7:45:38 AM by  Luciano Lingnau [Paessler]



6 Replies

Votes:

0

Hello markrs,
which PRTG Version are you currently running?

You can check the current version number under Setup > PRTG Status or on the footer of every web-page in the web-interface.

Best Regards,
Luciano Lingnau [Paessler Support]

Created on Oct 6, 2016 7:46:54 AM by  Luciano Lingnau [Paessler]



Votes:

0

I'm testing against version 16.3.26.6384. I downloaded and installed it from the website just two days ago.

As soon as my testing is complete against my test server, I'm going to be running against our production server, which is version 16.3.24.5303. I have not tested my software against this older software version, but I did verify that the documentation seems to be the same so I was hoping there would be no integration issues with the different versions.

Thanks for any help you can provide.

-mark

Created on Oct 6, 2016 2:36:04 PM



Votes:

0

Hello markrs,
thank you for your reply.

Unfortunately the main developer responsible for the miniprobe api will be unavailable for a while, so I'm not able to check with him at the moment. I will check whenever someone else in the team is able to assist you with this matter as I don't see any issue with the operation that you're performing, and as for the miniprobe code running in 16.3.24.5303 and 16.3.26.6384, it should be roughly the same, there no recent changes to this module/api.


Best Regards,
Luciano Lingnau [Paessler Support]

Created on Oct 7, 2016 10:34:47 AM by  Luciano Lingnau [Paessler]

Last change on Oct 7, 2016 10:34:56 AM by  Luciano Lingnau [Paessler]



Votes:

0

Hi Mark,

I can't reproduce the problem with out more information.
One thing you might try, before we get all the traces etc...
In the JavaMiniProbe or JMXMiniProbe, my response is :

[{"sensorid":21858,"channel":[{"value":0,"name":"Ping Time Min","mode":"Integer","unit":"TimeResponse","showchart":1,"showtable":1}]}]

Try these things....
"sensorid" is an int, so take out the Quotes ("). Add the following value(s) in the "probe/data" message:
"unit"=xxx
"showchart":1
"showtable":1

Add then one at the time, and let us know which one did the trick if it resolves the issue so we can fix it.
If it does not fix it, please use "Contact Support" from within PRTG and include the logs and a trace of the whole API conversation, including the announce. For the Case# please use : PAE767290.

Thanks
JR

Created on Oct 7, 2016 1:09:32 PM by  JR Andreassen [Paessler Support] (220) 3 1

Last change on Oct 7, 2016 1:24:16 PM by  JR Andreassen [Paessler Support] (220) 3 1



Votes:

0

JR,

It appears that "unit" is the missing required field.

Also just to let you know, I had already tried sending the "sensorid" field as an integer and that hadn't fixed it either. So once I got things working after adding the "unit" field, I tried with "sensorid" as both a string and an integer and it seems to work properly either way.

Thanks for the help.

-mark

Created on Oct 7, 2016 3:08:22 PM



Votes:

0

Hi Mark
I have filed it as a bug and it will be fixed in a later release.
JR

Created on Oct 7, 2016 3:56:31 PM by  JR Andreassen [Paessler Support] (220) 3 1




Disclaimer: The information in the Paessler Knowledge Base comes without warranty of any kind. Use at your own risk. Before applying any instructions please exercise proper system administrator housekeeping. You must make sure that a proper backup of all your data is available.