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.


Article Comments

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.


Jun, 2022 - Permalink