IP network view template XML code

This template example uses all of the elements available from the IP template hierarchy. It includes network views based on user-defined filters and dynamic views.

Example

The following sample template XML file is provided for illustration purposes and uses all of the elements available from the template hierarchy.

<dynamicViewTemplate id="complete_template" label="Complete Template" manager="PrecisionIP">

<!--  "Classic" Class Partition -->
    
<!-- VPLS -->
<container id="vpls" label="VPLS">
	<dynamicMplsVpn id="vpls_vpns" label="VPLS VPNs" ceDevices="true"/>
</container>

<!-- IP Multicast Routing View -->
	<dynamicCollection id="ipMRoutingMdts" label="Multicast Routing MDTs" entityType="46" connectivity=”ipMRoute”/>
        
<!-- IGMP View -->
	<dynamicCollection id="igmpGroups" label="IGMP Groups" entityType="121"/>

<dynamicDistinct id="device_classes" label="Device Classes" connectivity="ipsubnets" endNodes="false">
        <tableField table="chassis" field="className" /> 
    </dynamicDistinct>

<!--  BGP Networks --> 
    <collection id="bgp_networks" label="BGP Networks" entityType="30">
        <entity name="BGP Networks" />
    </collection>

<!-- PIM Network -->
	<collection id="pim_network" label="PIM Network" entityType="42">
		<entity name="PIM Network"/>
	</collection>

<!-- Unassigned view-->
	<unassigned id="unassigned_view" label="Unassigned_View" />

<!-- Custom view (previously known as a manual view)-->
	<custom id="custom_view" label="Custom_View" connectivity="ipsubnets"/>

<!--  VLAN Port Collections --> 
    <dynamicCollection id="vlan_port_collection" label="Vlan Ports" entityType="113" connectivity="layer2" />

<!--  HSRP Groups -->
    <dynamicCollection id="hsrp_groups" label="HSRP Groups" entityType="18" />

<!--  OSPF Routing Domains -->
    <dynamicCollection id="ospf_routing_domains" label="OSPF Routing Domains" entityType="21" />

<!--  VTP Domains -->
    <dynamicCollection id="vtp_domains" label="VTP Domains" entityType="24" />

<!--  Subnets -->
    <dynamicSubnet id="subnets" label="Subnets" classes="ab" />

<!--  MPLS -->
    <container label="mpls" label="MPLS">
        <collection id="mpls_core" label="MPLS Core" entityType="17">
            <entity name="VPN_CONTAINER_MPLS Core" />
        </collection>
        <dynamicMplsVpn id="mpls_vpns" label="MPLS VPNs" ceDevices="false" />
    </container>

<!-- MPLS TE -->
	<dynamicCollection id="mpls_te" label="MPLS TE" entityType="36"/>

<!-- Static MPLS -->
    <mplsVpn id="mpls_vpn" label="Static MPLS VPN" ceDevices="true"> 
        <entity name="VPN_CONTAINER_1104"/>
    </mplsVpn>

<!--  NAT Address Spaces -->
    <dynamicDistinct id="nat_address_spaces" label="NAT Address Spaces" connectivity="ipsubnets" endNodes="false">
        <tableField table="ipEndPoint" field="addressSpace" />
    </dynamicDistinct>

<!--  Discovered ASMs -->
    <dynamicDistinct id="discovered_asms" label="Discovered ASMs" connectivity="ipsubnets" endNodes="false">
       <tableField table="netcoolAsmsRunning" field="ASMName" />
    </dynamicDistinct>

<!-- Wildcard IP Filter -->
    <ipFilter id="ipfilter1" label="Filtered IPs 1" endNodes="true"> 
       <addressPattern pattern="192.*.*.*"/>
    </ipFilter>

<!-- Ranged IP Filter -->
    <ipFilter id="ipfilter2" label="Filtered IPs 2"> 
      <addressPattern pattern="192.168.3-4"/>
    </ipFilter>

<!-- Filtered for two class names -->
    <filtered id="filtered1" label="Network Devices/Linux Machines" endnodes="true" condition="or"> 
      <filter table="chassis" filter="className = 'NetworkDevice'"/>
      <filter table="chassis" filter="className = 'Linux'"/>
    </filtered>

<!-- Filtered for particular network devices -->
    <filtered id="filtered2" label="Network Devices: Main Node < 2000" endnodes="true" condition="and"> 
      <filter table="chassis" filter="className = 'NetworkDevice'"/>
      <filter table="chassis" filter="mainNodeEntityId < 2000"/>
    </filtered>

<!-- Devices that have been manually added with the topology editor -->
<!-- connectivity defaults to IP subnets -->
  <filtered id="ManuallyAdded" label="Manually Added Devices" endNodes="true">
    <filter schema="ncim" table="entity" filter="manual = 1" /> 
  </filtered>

<!-- All routers -->
  <filtered id="AllRouters" label="All Routers" connectivity="layer3">
    <filter schema="ncim" table="classMembers" filter="classId in (select classId from {%schema_ncim}entityClass where classType='Router')" /> 
  </filtered>

<!-- All switches -->
<filtered id="AllSwitches" label="All Switches" connectivity="layer2">
  <filter schema="ncim" table="classMembers" filter="classId in (select classId from {%schema_ncim}entityClass where classType='Switch')" /> 
  </filtered>

<!-- default event filtered type views based on severities -->
    <container id="alert_views" label="Alert views">

        <container id="acknowledged_alerts"  label="Acknowledged Alerts">
            <filtered id="Critical" label="Critical" connectivity="ipsubnets" endNodes="true">
                <filter schema="ncmonitor" table="activeEvent" filter="Severity=5 and Acknowledged=1"/>
            </filtered>

            <filtered id="Major" label="Major" connectivity="ipsubnets" endNodes="true">
                <filter schema="ncmonitor" table="activeEvent" filter="Severity=4 and Acknowledged=1"/>
            </filtered>

            <filtered id="Minor" label="Minor" connectivity="ipsubnets" endNodes="true">
                <filter schema="ncmonitor" table="activeEvent" filter="Severity=3 and Acknowledged=1"/>
            </filtered>
        </container>

        <container id="Unacknowledged_alerts"  label="Unacknowledged Alerts">
            <filtered id="Critical" label="Critical" connectivity="ipsubnets" endNodes="true">
                <filter schema="ncmonitor" table="activeEvent" filter="Severity=5 and Acknowledged=0"/>
            </filtered>

            <filtered id="Major" label="Major" connectivity="ipsubnets" endNodes="true">
                <filter schema="ncmonitor" table="activeEvent" filter="Severity=4 and Acknowledged=0"/>
            </filtered>

            <filtered id="Minor" label="Minor" connectivity="ipsubnets" endNodes="true">
                <filter schema="ncmonitor" table="activeEvent" filter="Severity=3 and Acknowledged=0"/>
            </filtered>
        </container>

<!-- Filter using the current time as a variable -->
  <filtered id="OldCriticalPingFail" label="Critical Ping Fail Events at least 1 hour old" connectivity="ipsubnets" endNodes="true">
    <filter schema="ncmonitor" table="activeEvent" filter="EventId = 'NmosPingFail' and Severity=5 and {%serverTime} - FirstOccurrence &gt;= 3600"/>
  </filtered>

<!-- default event filtered type view -->
    <filtered id="ping_fail_root_cause" label="PingFailRootCause" connectivity="ipsubnets" endNodes="true">
        <filter schema="ncmonitor" table="activeEvent" filter="EventId='NmosPingFail' and NmosCauseType='Root Cause'"/>
    </filtered>
<filtered id="snmppollfail" label="SNMP Poll Fail" connectivity="ipsubnets" endNodes="true">
  <filter schema="ncmonitor" table="activeEvent" filter="EventId='NmosSnmpPollFail'" /> 
  </filtered>

<!-- default event filtered type view -->
    <filtered id="SnmpLinkInDiscards" label="SnmpLinkInDiscards" connectivity="ipsubnets" endNodes="true">
        <filter schema="ncmonitor" table="activeEvent" filter="EventId='NmosSnmpLinkInDiscards'"/>
    </filtered>

<!-- Monitoring views -->
        <container id="Monitoring_views"  label="Monitoring Views">

            <filtered id="InitialPingFail" label="Initial Ping Fail Events" connectivity="ipsubnets" endNodes="true">
                <filter schema="ncmonitor" table="activeEvent" filter="EventId = 'NmosPingFail' and Tally <= 18"/>
            </filtered>

            <filtered id="HighDiscardRate" label="Devices that have at least one interface event for HighDiscardRate" connectivity="ipsubnets" endNodes="true">
                <filter schema="ncmonitor" table="activeEvent" filter="EventId = 'Poll-HighDiscardRate'"/>
            </filtered>
        </container>

    </container>

</dynamicViewTemplate>