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

Native Support For Libraries In Maps

Votes:

49

Your Vote:

Up

Down


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 a PRTG user, I want to have a native map object that allow me to use libraries within maps.

Details of user story

When having a large set of libraries, it would be great to be able to use them within maps without the troubles of manually creating the same manually.

Acceptance criteria

  • Libraries are natively available as map objects
  • It would be great to have multiple view sets available, like the whole tree or a condensed set, only consisting of the various sensor states in that library.

Status

Open

Workaround

you will have to work with a custom map object with the following content:

<!--Custom Map Objects: Library 715-->
 
<div class="map_object map_table <#sensor type="colorclassofstate" prefix="map_objectstate_" id="<@objectid>">" id="<@itemid>" objectid="<@objectid>" subid="<@subid>" style="overflow:hidden;<#mapobject type="coordinates" subid="<@subid>" mode="<@editmode>">">
  <#mapobject type="objectgrip" mode="<@editmode>">
  <#mapobject type="htmlbefore" subid="<@subid>">
  <#checkobjecttype objecttype="probenode,group" nicemessage="true" id="<@objectid>">
<div id="viewport">
<div id="libTree" class="libTree prtg-plugin" 
  data-plugin="libtree" 
  data-objectid="715"
  data-lib-name='Library'
  data-view-type='<#system type="groupviewsize" varexpand="overwrite" overwrite="@grpvs">'
  data-controls-parent='#viewport'
  data-hide-controls="true"
  data-objects='<#table 
    id='715'
    output='json'
    count='*'
    subcheck='1'
    noraw='1'
    content='library'
    sortby='probegroupdevice'
    filter_basetype='@ntxt('sensor')'
    columns='objid,name,access=treejson,probegroupdevice=treejson,basetype,icon,favorite,fold,devicenum=textraw,groupnum=textraw,totalsens=textraw,upsens=textraw,downsens=textraw,partialdownsens=textraw,warnsens=textraw,pausedsens=textraw,unusualsens=textraw,undefinedsens=textraw,downacksens=textraw,condition,status=textraw,message=textraw,info,priority,libkind,liblinkedid'>'
  >
    </div>
  </div>
  <#mapobject type="htmlafter" subid="<@subid>">
</div>

Please replace every occurence of the number 715 with the ID of the library you want to use.
We have done a quick test on the object and it worked on all of the tested PRTG installations. However, we recommend using latest version.

improve-prtg maps prtg-kbtracker

Created on Jan 19, 2021 6:50:30 PM by  Stephan Linke [Paessler Support]

Last change on Jan 20, 2021 7:47:48 AM by  Stephan Linke [Paessler Support]



1 Reply

Votes:

0

Your Vote:

Up

Down

Note: The workaround provided above seems to be not working anymore. Here is a modified version of it:

<!--Custom Map Objects: Library ID in HTMLbefore-->
 
<div class="map_object map_table <#sensor type="colorclassofstate" prefix="map_objectstate_" id="<@objectid>">" id="<@itemid>" objectid="<@objectid>" subid="<@subid>" style="overflow:hidden;<#mapobject type="coordinates" subid="<@subid>" mode="<@editmode>">">
  <#mapobject type="objectgrip" mode="<@editmode>">
  <#mapobject type="htmlbefore" subid="<@subid>" var="libid">
<style>#<@itemid> .libTree{height: 100%!important;}</style>
<div id="showalibrary" style="width:100%;height:100%;">
  <div id="libTree" class="libTree prtg-plugin" 
    data-plugin="libtree" 
    data-objectid=" <#mapobject type="htmlbefore" subid="<@subid>">"
    data-lib-name='Library'
    data-view-type="<#system type="groupviewsize" varexpand="overwrite" overwrite="@grpvs">">
<!-- 
   {"objects":<#table 
      id="@libid"
      varexpand="id"
      output="json"
      count="*"
      subcheck="1"
      noraw="1"
      content="library"
      sortby="probegroupdevice"
      filter_basetype="@ntxt('sensor')"
      columns="objid,name,access=treejson,probegroupdevice=treejson,basetype,icon,favorite,fold,devicenum=textraw,groupnum=textraw,totalsens=textraw,upsens=textraw,downsens=textraw,partialdownsens=textraw,warnsens=textraw,pausedsens=textraw,unusualsens=textraw,undefinedsens=textraw,downacksens=textraw,condition,status=textraw,message=textraw,info,priority,libkind,liblinkedid">
    }
 -->
<div id="viewport"></div>
  </div>
</div>
  <#mapobject type="htmlafter" subid="<@subid>">
</div>

With this object, you do not need to define the library id within the file. You need to add it in the HTML Before field when clicking on the object.

Created on Jun 29, 2022 12:58:18 PM 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.