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 >= 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>