Francis Spedafino

How to copy a Custom Dashboard between users

Blog Post created by Francis Spedafino Expert on Sep 22, 2014

Each user in the Operations Manager can have a custom dashboards file on the server in the /srv/tomcat/data/config directory. When a custom dashboard is created, it is written to this file. Below are the instructions to copy a custom dashboard. (Need help logging in via SSH? See here)

 

To copy a custom dashboard:

 

  • If the user that you would like to copy a viewset to already has an existing viewset-custom-<user>.config.topology file
    • Open the viewset-custom-<user>.config.topology file for the user you want to copy from.
    • Find the viewset that you would like to copy. Viewsets begin with the XML <viewset> tag.
      • Note the name displayed in the UI for the viewset is the elementTitle attribute on the same line as the <viewset> tag
      • Note scoped users will only be able to view data from groups within their scopes
    • Copy the viewset from the <viewset> tag to the </viewset> tag
    • Paste this viewset in the viewset-custom-<user>.config.topolgy for the user you would like to copy to

 

  • If the user does not have their own viewset file already created (because they have never used a custom dashboard).
    • Copy your viewset-custom-<user>.config.topology file and to a file with the name for the new user viewset-custom-<newuser>.config.topology
      • AD Users and Groups will need their own viewset files too.
      • Note scoped users will only be able to view data from groups within their scopes
    • Remove any viewsets that you do not want to give to this user beginning with the <viewset> tag and the </viewset> tag.
      • Note the name displayed in the UI for the viewset is the elementTitle attribute on the same line as the <viewset> tag

 

 

To render the new dashboard, the user will only need to log out and log back in to the Operations Manager.

 

Sample Viewset elements to share the dashboard called "CHoC Test" that consists of one scoped Pie Chart and one scoped Usage Grid:

  </viewSets>

  <viewSets name="CHoCTest" elementName="CHoCTest" elementTitle="CHoCTest" id="CHoCTest" numPanelsPerRow="4">

    <pods name="VMs_WashingtonCloud\PhysicalHosts-PIECHART" elementName="VMs_WashingtonCloud\PhysicalHosts-PIECHART" elementTitle="Health - VMs_Washingt

onCloud\PhysicalHosts" id="VMs_WashingtonCloud\PhysicalHosts-PIECHART" podType="PIECHART" startPosition="" endPosition="">

      <properties elementName="displayName" propValue="VMs_WashingtonCloud\PhysicalHosts"/>

      <properties elementName="SEType" propValue="VirtualMachine"/>

      <properties elementName="nameOrUuid" propValue="cf431fddf94034761d9263f0b7eed0530d93398a"/>

      <properties elementName="podType" propValue="PIECHART"/>

      <properties elementName="className" propValue="Group"/>

      <properties elementName="changeContext" propValue="false"/>

    </pods>

    <pods name="PMs_WashingtonCloud\PhysicalHosts-USAGEDATAGRID" elementName="PMs_WashingtonCloud\PhysicalHosts-USAGEDATAGRID" elementTitle="Usage - PMs

_WashingtonCloud\PhysicalHosts" id="PMs_WashingtonCloud\PhysicalHosts-USAGEDATAGRID" podType="USAGEDATAGRID" startPosition="" endPosition="">

      <properties elementName="displayName" propValue="PMs_WashingtonCloud\PhysicalHosts"/>

      <properties elementName="SEType" propValue="PhysicalMachine"/>

      <properties elementName="nameOrUuid" propValue="6508bde5973598f5c6b6f1dbe26bf79269195d8f"/>

      <properties elementName="podType" propValue="USAGEDATAGRID"/>

      <properties elementName="className" propValue="Group"/>

      <properties elementName="changeContext" propValue="false"/>

      <properties elementName="columnFields" propValue="@displayName|@priceIndex|@Mem_utilization|@CPU_utilization|@IOThroughput_utilization|@NetThrough

put_utilization|@Swapping_utilization|@Ballooning_utilization|@Q1VCPU_utilization|@Q2VCPU_utilization|@Q4VCPU_utilization|@Produces"/>

      <properties elementName="columnUsedFields" propValue="@displayName|@priceIndex|@Mem_used|@CPU_used|@IOThroughput_used|@NetThroughput_used|@Swappin

g_used|@Ballooning_used|@Q1VCPU_used|@Q2VCPU_used|@Q4VCPU_used|@Produces"/>

      <properties elementName="filterValue" propValue="priceIndex|TOP"/>

      <properties elementName="columnDispNames" propValue="Name|UI|Mem %|CPU %|IO %|Net %|Swap %|Balloon %|1CPU Rdy %|2CPU Rdy %|4CPU Rdy %|#VMs"/>

      <properties elementName="columnUsedDispNames" propValue="Name|UI|Mem(KB)|CPU(MHz)|IO(KByte/sec)|Net(KByte/sec)|Swap(Byte/sec)|Balloon(KB)|1CPU Rdy

(msec)|2CPU Rdy(msec)|4CPU Rdy(msec)|#VMs"/>

      <properties elementName="propFields" propValue="priceIndex|ProducesSize"/>

      <properties elementName="usageType" propValue="PhysicalMachine"/>

      <properties elementName="commSoldExpr" propValue="Mem_utilization|CPU_utilization|IOThroughput_utilization|NetThroughput_utilization|Swapping_util

ization|Ballooning_utilization|Q1VCPU_utilization|Q2VCPU_utilization|Q4VCPU_utilization"/>

      <properties elementName="commBoughtExpr" propValue=""/>

      <properties elementName="commUsedSoldExpr" propValue="Mem_used|CPU_used|IOThroughput_used|NetThroughput_used|Swapping_used|Ballooning_used|Q1VCPU_

used|Q2VCPU_used|Q4VCPU_used"/>

      <properties elementName="commUsedBoughtExpr" propValue=""/>

      <properties elementName="columnUsedFields" propValue="@displayName|@priceIndex|@Mem_used|@CPU_used|@IOThroughput_used|@NetThroughput_used|@Swappin

g_used|@Ballooning_used|@Q1VCPU_used|@Q2VCPU_used|@Q4VCPU_used|@Produces"/>

    </pods>

  </viewSets>

Outcomes