What is this?

This knowledgebase contains questions and answers about PRTG Network Monitor and network monitoring in general. You are invited to get involved by asking and answering questions!

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

How create a lookup that handle 'null' values

Votes:

0

Your Vote:

Up

Down

Hi everyone,

I am currently testing a REST Custom Sensor JSON Sensor where I would like to monitor a REST API that should give a state about different services.

For that I created a custom template for this specific page :

{ "prtg": { "result": [ { "channel": "Incident", "value": lookup($.service.current_incident_type, "minor", "scheduled", "major"), "LimitMode": 1 } ] } }

My issue : The state of the service communicated on this REST API is a string "major", "minor", "scheduled" OR null

PRTG does display following on the sensor : " Could no evaluate channel value of Incident: expected type string for parameter 0 but got <nil>."

Is there a way to handle null value in a lookup file ?

Thank you in advance for your support !

Best regards

lookups null prtg rest

Created on Jan 6, 2021 11:12:35 AM by  Kevin Python (0) 1



5 Replies

Votes:

0

Your Vote:

Up

Down

Hello Kevin,

Thank your for your message and best wishes for this year.

Regarding your question, can you please provide us the JSON response you get from your API, please make sure to remove all confidential information if necessary.

Regards.

Created on Jan 7, 2021 10:16:28 AM by  Florian Lesage [Paessler Support]



Votes:

0

Your Vote:

Up

Down

Hi Florian,

Thank you for your answer and wishes, I also wish you all the best for this new year.

Yeah sure !

Bellow two possible answer coming from the API with the first responding a string ("major") and the second a null value. What i want to read is the "current_incident_type" value.

{ "incidents": [], "maintenances": [], "service": { "children": null, "current_incident_type": "major", "id": 16102, "name": "Service 1", "parent_id": 16095 } }

{ "incidents": [], "maintenances": [], "service": { "children": null, "current_incident_type": null, "id": 16104, "name": "Service 2", "parent_id": 16095 } }

Possible values are ("major", "minor" , "scheduled" , null) I would like to set my sensor to error for "major" and "minor" and OK for "scheduled" and null

I hope this help you understand my issue.

Best regards, Kevin

Created on Jan 7, 2021 10:35:01 AM by  Kevin Python (0) 1



Votes:

0

Your Vote:

Up

Down

Thank you very much for the information.

As the result returns no value (null) and not "null" as a string, I'm afraid that the REST Custom sensor can't be used. However, you have the possibility to use a custom script and handle the values (including null) as you want.

Here is the manual of the EXE/Script Advanced sensor you can use to monitor the services: https://www.paessler.com/manuals/prtg/exe_script_advanced_sensor

I also invite you to have a look to the manual about custom sensor to see how to return information in PRTG with a script: https://www.paessler.com/manuals/prtg/custom_sensors#advanced_sensors

If you have further questions, let me know.

Created on Jan 7, 2021 12:50:21 PM by  Florian Lesage [Paessler Support]



Votes:

0

Your Vote:

Up

Down

Hi Florian,

Thanks a lot for your answer. I followed your advice and finally create a script with a 'Python Script Advanced' Sensor in order to also handle null values.

I have been able to solve my problem so and monitor this status page.

Best regards, Kevin

Created on Jan 12, 2021 7:36:36 AM by  Kevin Python (0) 1



Votes:

0

Your Vote:

Up

Down

Hi Kevin,

Thank you for the update, I'm glad to ear that you make it through. Have an excellent day.

Best regards.

Created on Jan 12, 2021 7:40:48 AM by  Florian Lesage [Paessler Support]



Please log in or register to enter your reply.


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.