Summary Portals

Use a combination of inheritance and control structures, in particular for and endfor, to build multi-server portals with minimal configuration.

list servers = awsswgvml001, nurswgvml003, nurswgvml009
[widget]
    type = chart
    metric = nmon.cpu_total.busy%
    for server in servers
[series]
   entity = @{server}
   endfor

When the list includes elements with multiple fields, such as hostname, IP address, location, or function, use the var array instead of list to print out field values as tooltips or properties.

This example displays how a var array incorporates server properties displayed in legend tooltip on mouseover.

As an alternative to specifying list elements manually, lists can be retrieved from the server using FreeMarker expressions.

getResourcesForGroup(group_id, [list of product codes]):

Return the list of agents collecting data. If the group contains hosts with agents, they are traversed to the agent level to return the list of agents. For example, if the groups contains hosts ABC (ITM Linux) and CDE.axibase.com (SCOM), the method returns agent identifiers: abc:LX and Microsoft.Window.Computer:CDE.axibase.com.

list resources = ${getResourcesForGroup("linux")?join(",")}
list resources = ${getResourcesForGroup("windows_server_2008")?join(",")}

getHostsForGroup(group_id [, list of product codes]):

Return list of hosts. If the group contains agents, they are traversed up the tree to return hosts.

list hosts = ${getHostsForGroup("scom-itm_group", "LZ")?join(",")}

If the group contains agents with different product codes, address specifics using a if or endif condition based on the agent name, or the method can executed multiple times by filtering the group by different product codes.

[widget]
  type = chart
  title = Memory Usage for Linux and Windows Servers
  #retrieve SCOM agents first
  list resources = ${getResourcesForGroup("scom-itm_group", "01")?join(",")}
  for rsc in resources
    [series]
      table = Microsoft.Windows.Server.2008.Monitoring_Memory
      attribute = % Committed Bytes In Use
      entity = @{rsc}
  endfor
  #retrieve Linux agents second
  list resources = ${getResourcesForGroup("scom-itm_group", "LZ")?join(",")}
  for rsc in resources
    [series]
      table = KLZ_VM_Stats
      attribute = Memory_Used_Pct
      entity = @{rsc}
endfor

The Table widget is the most compact method of displaying many metrics together.