Want this feature implemented, too? Please upvote by clicking Thumbs up!
(Posts as a reply won't be published in this feature request thread. Read Me!)
User Story
As an experienced PRTG user, I want to be able to automatically configure dependencies to created sensors, when deploying devices using native device templates.
Details of User Story
Since there is currently no way how to configure dependencies using multi-edit (which could be added too in future with just sensor ID), the most logical way of how to deal with dependencies configuration while mass deploy, would be using device templates.
After some PRTG version, dependencies are saved within templates, but the ID of the sensor has to exist otherwise, it will be configured with "Unknown" sensor.
In the deployment phase of multiple devices you do not want to be bothered with manual clicking through X sensors separately to configure them with the same sensor dependency, which is really time-consuming and also error-prone. Or you have to use API. Builtin feature should be possible and preferred.
The template feature of created sensor ID referencing, would save lots of clicking, loading, sanity, and frustration. If sensors are created from top to bottom, it should not be an issue to automatically assign dependency to already created sensor.
Proposed implementation would be to differ from referencing already existed sensors and the one created by the template itself. For existed sensor, nothing would change as you would only add ID of sensor. For template created sensor it could be `%<id>` (`%sapPort` in example bellow) or curly brackets, anything which would not be clean integer to not conflict with current implementation.
Is there any technical problem/limitation, which would block this feature? I went through lots of dependencies related kb posts, but similars (almost all related to multi-edit) ended with It is not supported as it could lead into fault dependencies with self dependencies, etc ...
.
Template:
<?xml version="1.0" encoding="UTF-8" ?> <devicetemplate id="internal.sap.hana.awesome.sla2.v4" name="[XXX] Awesome SAP (SLA 2) v4" priority="5"> <check id="pingCheck" meta="ping" /> <create id="masterPing" kind="ping" requires="pingCheck" displayname="Ping"> <createdata> <scheduledependency>0</scheduledependency> <schedule>-1</schedule> <dependencytype>2</dependencytype> <!-- Master sensor --> <tags>pingsensor</tags> <priority>5</priority> <timeout>5</timeout> <interval>60</interval> <intervalgroup>0</intervalgroup> <errorintervalsdown>1</errorintervalsdown> <inherittriggers>1</inherittriggers> <size>32</size> <delay>5</delay> <countmethod>1</countmethod> <count>5</count> <autoacknowledge>0</autoacknowledge> </createdata> </create> <create id="sapPort" kind="port" displayname="SAP_Availability"> <createdata> <intervalgroup>0</intervalgroup> <interval> <cell col="0">300</cell> <cell col="1">5 minutes</cell> </interval> <errorintervalsdown>1</errorintervalsdown> <timeout>60</timeout> <tags>portsensor</tags> <priority>4</priority> <inherittriggers>1</inherittriggers> <tlsexplicit_port>0</tlsexplicit_port> <port>3300</port> <processresponse>0</processresponse> <includemustneeded>0</includemustneeded> <includemusttype>0</includemusttype> <includemustnotneeded>0</includemustnotneeded> <includemustnottype>0</includemustnottype> <sendcmd>0</sendcmd> <invers>false</invers> </createdata> </create> <create id="hanaMonitor" kind="exexml" displayname="SAP Hana"> <createdata> <dependencytype>1</dependencytype> <dependency>1002</dependency> <!-- Dependency to Core Health sensor (Currently working in 19/20 versions --> <scheduledependency>0</scheduledependency> <schedule>-1</schedule> <timeout>60</timeout> <tags>xmlexesensor</tags> <priority>3</priority> <exefile> <cell col="0">Dummy.ps1</cell> <cell col="1">Dummy.ps1</cell> </exefile> <exefilelabel>Dummy.ps1</exefilelabel> <exeparams>'%device'</exeparams> <usewindowsauthentication>0</usewindowsauthentication> <environment>0</environment> </createdata> </create> <create id="hanaMonitor" kind="exexml" displayname="SAP Hana"> <createdata> <dependencytype>1</dependencytype> <dependency>%{sapPort}</dependency> <!-- Dependency to created SAP_Availability sensor (Not working)--> <scheduledependency>0</scheduledependency> <schedule>-1</schedule> <timeout>60</timeout> <tags>xmlexesensor</tags> <priority>3</priority> <exefile> <cell col="0">Dummy.ps1</cell> <cell col="1">Dummy.ps1</cell> </exefile> <exefilelabel>Dummy.ps1</exefilelabel> <exeparams>'%device'</exeparams> <usewindowsauthentication>0</usewindowsauthentication> <environment>0</environment> </createdata> </create> <!-- Other SAP specific sensors, which require port and manual dependency--> <!-- <create name="SAP Backups"></create> --> <!-- <create name="SAP Gateway"></create> --> <!-- <create name="SAP Processlist"></create> --> <!-- <create name="SAP ICM"></create> --> <!-- Other OS Specific sensor, which are dependent on master ping --> <!-- <create name="CPU utlisation"></create> --> <!-- <create name="Memory utlisation"></create> --> <!-- <create name="Traffic in"></create> --> <!-- <create name="Traffic out"></create> --> <!-- <create name="Disk utlisation"></create> --> <!-- <create name="Update status"></create> --> </devicetemplate>
Optimization of the structure is not target of this Feature request. Sure, there could be device for each component of system. One device for system with master ping and one device for sap with port master, but this is not desired.
Acceptance criteria
- Criterion #1: Sensor id within template could be used in dependency configuration of other sensor in same template
- Criterion #2: Allow dependencies to be multi-edited/configured using just ID of sensors (without loading tree and clicking)
Status
Open