The Other Josh

CiscoQoS improvements

Recommended Posts

Posted (edited)

I submitted an enhancement for the CiscoQoS datasource, but until LM processes it you can import this.  The existing version creates an instance for (QoS object + QoS Class +Qos Policy) * interfaces, so a single switch can easily have 5000+ instances.

I added some properties during Active Discovery that you can use to filter based on policy direction, interface type, interface name/desc, or class name/desc.  By default it only adds policies applied in the outbound direction (shaping traffic).

auto.qos.interface.name

auto.qos.interface.desc

auto.qos.interface.type

auto.qos.class.name

auto.qos.class.desc

auto.qos.policy_direction

<?xml version="1.0" encoding="UTF-8" ?>
<feed  version="1.0" hasPendingRequests="false" >
  <company></company>
  <status>200</status>
  <errmsg>OK</errmsg>
  <interval>0</interval>
    <entry type="predatasource">
        <version>1590592615</version>
        <name>Cisco_QoS_Improved</name>
        <displayedas>Cisco_QoS_Improved</displayedas>
        <description>Monitors Cisco class-based Quality-of-Service (QoS) interface packet metrics.</description>
        <collector>snmp</collector>
        <hasMultiInstances>true</hasMultiInstances>
        <schedule>180</schedule>
        <appliesTo>false()</appliesTo>
        <wildcardauto>true</wildcardauto>
        <wildcardpersist>false</wildcardpersist>
        <wildcardlinuxscript>ad_script</wildcardlinuxscript>
        <wildcardlinuxcmdline>type=&#34;embeded&#34; </wildcardlinuxcmdline>
        <wildcardwinscript>ad_script</wildcardwinscript>
        <wildcardwincmdline>type=&#34;embeded&#34; </wildcardwincmdline>
        <wildcardgroovyscript>/*******************************************************************************
 *  © 2007-2019 - LogicMonitor, Inc. All rights reserved.
 ******************************************************************************/

import com.santaba.agent.groovyapi.snmp.Snmp

// variable to hold system hostname
def host = hostProps.get(&#39;system.hostname&#39;);
def props = hostProps.toProperties();
def timeout = 30000; // 30 seconds timeout

/*
The following SNMP walkAsMap will handle v1 , v2 and v3.
Props contains a map of ALL host properties and the SNMP walk method will automatically
handle the proper connection based on which SNMP version is configured.
*/

    Map policy_dir_map =
    [
    &#39;1&#39;:&#39;input&#39;,
    &#39;2&#39;:&#39;output&#39;
    ];
    
    Map cbQosIfType_map =
    [
    &#39;1&#39;:&#39;mainInterface&#39;,
    &#39;2&#39;:&#39;subInterface&#39;,
    &#39;3&#39;:&#39;frDLCI&#39;,
    &#39;4&#39;:&#39;atmPVC&#39;,
    &#39;5&#39;:&#39;controlPlane&#39;,
    &#39;6&#39;:&#39;vlanPort&#39;,
    &#39;7&#39;:&#39;evc&#39;
    ];

// define maps we will walk.
def cbQosIfTypeOID 		= &#39;.1.3.6.1.4.1.9.9.166.1.1.1.1.2&#39;;
def cbQosPolicyDirOID 	= &#39;.1.3.6.1.4.1.9.9.166.1.1.1.1.3&#39;;
def cbQosIfIndexOID 		= &#39;.1.3.6.1.4.1.9.9.166.1.1.1.1.4&#39;;
def ifDescrOID 			= &#39;.1.3.6.1.2.1.2.2.1.2&#39;;
def ifAliasOID 			= &#39;.1.3.6.1.2.1.31.1.1.1.18&#39;;
def cbQosConfigIndexOID 	= &#39;.1.3.6.1.4.1.9.9.166.1.5.1.1.2&#39;;
def cbQosConfigType 		= &#39;.1.3.6.1.4.1.9.9.166.1.5.1.1.3&#39;;
def cbQosCMNameOID 		= &#39;.1.3.6.1.4.1.9.9.166.1.7.1.1.1&#39;;
def cbQosCMDescOID 		= &#39;.1.3.6.1.4.1.9.9.166.1.7.1.1.2&#39;;

def cbQosIfTypeMap 		= Snmp.walkAsMap(host, cbQosIfTypeOID, 	props, timeout);
def cbQosIfIndexMap 		= Snmp.walkAsMap(host, cbQosIfIndexOID, 	props, timeout);
def cbQosPolicyDirMap 	= Snmp.walkAsMap(host, cbQosPolicyDirOID, 	props, timeout);
def ifDescrMap 			= Snmp.walkAsMap(host, ifDescrOID, 		props, timeout);
def ifAliasMap 			= Snmp.walkAsMap(host, ifAliasOID, 		props, timeout);
//def cbQosConfigIndexMap = Snmp.walkAsMap(host, cbQosConfigIndexOID, props, timeout);
def cbQosCMNameMap 		= Snmp.walkAsMap(host, cbQosCMNameOID,	props, timeout);
def cbQosCMDescMap 		= Snmp.walkAsMap(host, cbQosCMDescOID,	props, timeout);

// Walk through each entry of the cbQosIfIndexMap
cbQosIfIndexMap.each
        { cbQosPolicyIndex, ifIndex -&#62;

           // cbQosPolicyIndex is key for the policy used to retrieve the config elements for name and desc
           // ifIndex is value for logical interface (if it exists; control plane will be null

		    // Set ifDescr and ifAlias to empty strings if there is no logical interface (like control plane)

           if (ifIndex != null) {
             ifDescr = ifDescrMap[ifIndex];
             ifAlias = ifAliasMap[ifIndex];
           } else {
	        ifDescr = &#34;&#34;;
		    ifAlias = &#34;&#34;;
		   }


		    // Input=1 or output=2 direction on the interface
		    cbQosPolicyDirection = policy_dir_map[cbQosPolicyDirMap[cbQosPolicyIndex]];

		    // Type of interface policy is applied to
		    cbQosIfType = cbQosIfType_map[cbQosIfTypeMap[cbQosPolicyIndex]];

		    //cbQosConfigIndexMap = Snmp.walkAsMap(host, &#39;.1.3.6.1.4.1.9.9.166.1.5.1.1.2.18&#39;, props, timeout);
		    cbQosConfigIndexMap = Snmp.walkAsMap(host, cbQosConfigIndexOID + &#39;.&#39; + cbQosPolicyIndex, props, timeout);

            // Walk through cbQosConfigIndexMap
            cbQosConfigIndexMap.each
                { cbQosConfigIndex,cbQosCMConfigIndex -&#62;

                        // cbQosConfigIndex is the key here, will be the wildvalue with cbQosPolicyIndex
                        // cbQosCMConfigIndex is the value here (will be the key in cbQosCMNameMap and cbQosCMDescMap).

					// cbQosConfigIndexMap has an entry for every config element in the policy (class, match, etc)
					// but class entries have cbQosCMNameMap and cbQosCMDescMap entries
					cbQosCMName = cbQosCMNameMap[cbQosCMConfigIndex];
					cbQosCMDesc = cbQosCMDescMap[cbQosCMConfigIndex];

					if (cbQosCMName != null) {
	                           println &#34;$cbQosPolicyIndex##$ifDescr ($cbQosCMName)####$cbQosConfigIndex##auto.qos.interface.name=$ifDescr&#38;auto.qos.class.name=$cbQosCMName&#38;auto.qos.interface.desc=$ifAlias&#38;auto.qos.class.desc=$cbQosCMDesc&#38;auto.qos.policy_direction=$cbQosPolicyDirection&#38;&#38;auto.qos.interface.type=$cbQosIfType&#34;;
 					}
                }
        }

return 0</wildcardgroovyscript>
        <wildcardschedule>1440</wildcardschedule>
        <wildcarddisable>false</wildcarddisable>
        <wildcarddeleteinactive>false</wildcarddeleteinactive>
        <agdmethod>ilp</agdmethod>
        <agdparams>auto.qos.interface.name</agdparams>
        <group>Cisco_QoS_Improved</group>
        <tags>qos,quality of service,cisco,network</tags>
        <technology>- AD updated from previous versions to use WalkAsMap for massive efficiency gains.</technology>
        <adlist><![CDATA[{"agdmethod":"ilp","method":"ad_script","agdparams":"auto.qos.interface.name","id":0,"filters":[{"attribute":"auto.qos.policy_direction","operation":"Equal","value":"output"}],"params":{"type":"embeded","groovyscript":"/*******************************************************************************\r\n *  © 2007-2019 - LogicMonitor, Inc. All rights reserved.\r\n ******************************************************************************/\r\n\r\nimport com.santaba.agent.groovyapi.snmp.Snmp\r\n\r\n// variable to hold system hostname\r\ndef host = hostProps.get('system.hostname');\r\ndef props = hostProps.toProperties();\r\ndef timeout = 30000; // 30 seconds timeout\r\n\r\n/*\r\nThe following SNMP walkAsMap will handle v1 , v2 and v3.\r\nProps contains a map of ALL host properties and the SNMP walk method will automatically\r\nhandle the proper connection based on which SNMP version is configured.\r\n*/\r\n\r\n    Map policy_dir_map =\r\n    [\r\n    '1':'input',\r\n    '2':'output'\r\n    ];\r\n    \r\n    Map cbQosIfType_map =\r\n    [\r\n    '1':'mainInterface',\r\n    '2':'subInterface',\r\n    '3':'frDLCI',\r\n    '4':'atmPVC',\r\n    '5':'controlPlane',\r\n    '6':'vlanPort',\r\n    '7':'evc'\r\n    ];\r\n\r\n// define maps we will walk.\r\ndef cbQosIfTypeOID \t\t= '.1.3.6.1.4.1.9.9.166.1.1.1.1.2';\r\ndef cbQosPolicyDirOID \t= '.1.3.6.1.4.1.9.9.166.1.1.1.1.3';\r\ndef cbQosIfIndexOID \t\t= '.1.3.6.1.4.1.9.9.166.1.1.1.1.4';\r\ndef ifDescrOID \t\t\t= '.1.3.6.1.2.1.2.2.1.2';\r\ndef ifAliasOID \t\t\t= '.1.3.6.1.2.1.31.1.1.1.18';\r\ndef cbQosConfigIndexOID \t= '.1.3.6.1.4.1.9.9.166.1.5.1.1.2';\r\ndef cbQosConfigType \t\t= '.1.3.6.1.4.1.9.9.166.1.5.1.1.3';\r\ndef cbQosCMNameOID \t\t= '.1.3.6.1.4.1.9.9.166.1.7.1.1.1';\r\ndef cbQosCMDescOID \t\t= '.1.3.6.1.4.1.9.9.166.1.7.1.1.2';\r\n\r\ndef cbQosIfTypeMap \t\t= Snmp.walkAsMap(host, cbQosIfTypeOID, \tprops, timeout);\r\ndef cbQosIfIndexMap \t\t= Snmp.walkAsMap(host, cbQosIfIndexOID, \tprops, timeout);\r\ndef cbQosPolicyDirMap \t= Snmp.walkAsMap(host, cbQosPolicyDirOID, \tprops, timeout);\r\ndef ifDescrMap \t\t\t= Snmp.walkAsMap(host, ifDescrOID, \t\tprops, timeout);\r\ndef ifAliasMap \t\t\t= Snmp.walkAsMap(host, ifAliasOID, \t\tprops, timeout);\r\n//def cbQosConfigIndexMap = Snmp.walkAsMap(host, cbQosConfigIndexOID, props, timeout);\r\ndef cbQosCMNameMap \t\t= Snmp.walkAsMap(host, cbQosCMNameOID,\tprops, timeout);\r\ndef cbQosCMDescMap \t\t= Snmp.walkAsMap(host, cbQosCMDescOID,\tprops, timeout);\r\n\r\n// Walk through each entry of the cbQosIfIndexMap\r\ncbQosIfIndexMap.each\r\n        { cbQosPolicyIndex, ifIndex ->\r\n\r\n           // cbQosPolicyIndex is key for the policy used to retrieve the config elements for name and desc\r\n           // ifIndex is value for logical interface (if it exists; control plane will be null\r\n\r\n\t\t    // Set ifDescr and ifAlias to empty strings if there is no logical interface (like control plane)\r\n\r\n           if (ifIndex != null) {\r\n             ifDescr = ifDescrMap[ifIndex];\r\n             ifAlias = ifAliasMap[ifIndex];\r\n           } else {\r\n\t        ifDescr = \"\";\r\n\t\t    ifAlias = \"\";\r\n\t\t   }\r\n\r\n\r\n\t\t    // Input=1 or output=2 direction on the interface\r\n\t\t    cbQosPolicyDirection = policy_dir_map[cbQosPolicyDirMap[cbQosPolicyIndex]];\r\n\r\n\t\t    // Type of interface policy is applied to\r\n\t\t    cbQosIfType = cbQosIfType_map[cbQosIfTypeMap[cbQosPolicyIndex]];\r\n\r\n\t\t    //cbQosConfigIndexMap = Snmp.walkAsMap(host, '.1.3.6.1.4.1.9.9.166.1.5.1.1.2.18', props, timeout);\r\n\t\t    cbQosConfigIndexMap = Snmp.walkAsMap(host, cbQosConfigIndexOID + '.' + cbQosPolicyIndex, props, timeout);\r\n\r\n            // Walk through cbQosConfigIndexMap\r\n            cbQosConfigIndexMap.each\r\n                { cbQosConfigIndex,cbQosCMConfigIndex ->\r\n\r\n                        // cbQosConfigIndex is the key here, will be the wildvalue with cbQosPolicyIndex\r\n                        // cbQosCMConfigIndex is the value here (will be the key in cbQosCMNameMap and cbQosCMDescMap).\r\n\r\n\t\t\t\t\t// cbQosConfigIndexMap has an entry for every config element in the policy (class, match, etc)\r\n\t\t\t\t\t// but class entries have cbQosCMNameMap and cbQosCMDescMap entries\r\n\t\t\t\t\tcbQosCMName = cbQosCMNameMap[cbQosCMConfigIndex];\r\n\t\t\t\t\tcbQosCMDesc = cbQosCMDescMap[cbQosCMConfigIndex];\r\n\r\n\t\t\t\t\tif (cbQosCMName != null) {\r\n\t                           println \"$cbQosPolicyIndex##$ifDescr ($cbQosCMName)####$cbQosConfigIndex##auto.qos.interface.name=$ifDescr&auto.qos.class.name=$cbQosCMName&auto.qos.interface.desc=$ifAlias&auto.qos.class.desc=$cbQosCMDesc&auto.qos.policy_direction=$cbQosPolicyDirection&&auto.qos.interface.type=$cbQosIfType\";\r\n \t\t\t\t\t}\r\n                }\r\n        }\r\n\r\nreturn 0"}}]]></adlist>
        <schemaVersion>2</schemaVersion>
        <dataSourceType>1</dataSourceType>
        <attributes>
        <attribute>
            <name>ip</name>
            <value>dns</value>
            <comment></comment>
        </attribute>
        <attribute>
            <name>__filter_0</name>
            <value>auto.qos.policy_direction	Equal	output</value>
            <comment></comment>
        </attribute>
        </attributes>
        <datapoints>
        <datapoint>
            <name>DropByte</name>
            <dataType>7</dataType>
            <type>3</type>
            <postprocessormethod>none</postprocessormethod>
            <postprocessorparam></postprocessorparam>
            <usevalue></usevalue>
            <alertexpr></alertexpr>
            <alertmissing>1</alertmissing>
            <alertsubject></alertsubject>
            <alertbody></alertbody>
            <enableanomalyalertsuppression></enableanomalyalertsuppression>
            <description>Number of dropped bytes per second as the result of all features that can produce drops 
(e.g., police, random detect, etc.)</description>
            <maxvalue></maxvalue>
            <minvalue>0</minvalue>
            <userparam1>.1.3.6.1.4.1.9.9.166.1.15.1.1.17.##WILDVALUE##.##WILDVALUE2##</userparam1>
            <userparam2></userparam2>
            <userparam3></userparam3>
            <iscomposite>false</iscomposite>
            <rpn></rpn>
            <alertTransitionIval>5</alertTransitionIval>
            <alertClearTransitionIval>0</alertClearTransitionIval>
        </datapoint>
        <datapoint>
            <name>DropPkt</name>
            <dataType>7</dataType>
            <type>3</type>
            <postprocessormethod>none</postprocessormethod>
            <postprocessorparam></postprocessorparam>
            <usevalue></usevalue>
            <alertexpr>&#62; 0</alertexpr>
            <alertmissing>1</alertmissing>
            <alertsubject></alertsubject>
            <alertbody>Cisco QoS Interface ##INSTANCE## on ##HOST## has reported ##VALUE## packet drops per second, placing the interface into ##LEVEL## state.

This started at ##START##, -- or ##DURATION## ago.</alertbody>
            <enableanomalyalertsuppression></enableanomalyalertsuppression>
            <description>Number of dropped packets, per second, per class as the result of all features that can produce drops (e.g., police, random detect, etc.).</description>
            <maxvalue></maxvalue>
            <minvalue>0</minvalue>
            <userparam1>.1.3.6.1.4.1.9.9.166.1.15.1.1.14.##WILDVALUE##.##WILDVALUE2##</userparam1>
            <userparam2></userparam2>
            <userparam3></userparam3>
            <iscomposite>false</iscomposite>
            <rpn></rpn>
            <alertTransitionIval>2</alertTransitionIval>
            <alertClearTransitionIval>0</alertClearTransitionIval>
        </datapoint>
        <datapoint>
            <name>NoBuffDropPkt</name>
            <dataType>7</dataType>
            <type>3</type>
            <postprocessormethod>none</postprocessormethod>
            <postprocessorparam></postprocessorparam>
            <usevalue></usevalue>
            <alertexpr>&#62; 0</alertexpr>
            <alertmissing>1</alertmissing>
            <alertsubject></alertsubject>
            <alertbody>Cisco QoS Interface-Class ##INSTANCE## on ##HOST## has reported ##VALUE## packet drops per second due to a lack of SRAM buffers during output processing on an interface, placing the interface into ##LEVEL## state.

This started at ##START##, -- or ##DURATION## ago.</alertbody>
            <enableanomalyalertsuppression></enableanomalyalertsuppression>
            <description>Number of dropped packets per second which occurred due to a lack of SRAM buffers during output processing on an interface.</description>
            <maxvalue></maxvalue>
            <minvalue>0</minvalue>
            <userparam1>.1.3.6.1.4.1.9.9.166.1.15.1.1.21.##WILDVALUE##.##WILDVALUE2##</userparam1>
            <userparam2></userparam2>
            <userparam3></userparam3>
            <iscomposite>false</iscomposite>
            <rpn></rpn>
            <alertTransitionIval>2</alertTransitionIval>
            <alertClearTransitionIval>0</alertClearTransitionIval>
        </datapoint>
        <datapoint>
            <name>PostPolicyByte</name>
            <dataType>7</dataType>
            <type>3</type>
            <postprocessormethod>none</postprocessormethod>
            <postprocessorparam></postprocessorparam>
            <usevalue></usevalue>
            <alertexpr></alertexpr>
            <alertmissing>1</alertmissing>
            <alertsubject></alertsubject>
            <alertbody></alertbody>
            <enableanomalyalertsuppression></enableanomalyalertsuppression>
            <description>Number of outbound octets, per second, after executing QoS policies.</description>
            <maxvalue></maxvalue>
            <minvalue>0</minvalue>
            <userparam1>.1.3.6.1.4.1.9.9.166.1.15.1.1.10.##WILDVALUE##.##WILDVALUE2##</userparam1>
            <userparam2></userparam2>
            <userparam3></userparam3>
            <iscomposite>false</iscomposite>
            <rpn></rpn>
            <alertTransitionIval>5</alertTransitionIval>
            <alertClearTransitionIval>0</alertClearTransitionIval>
        </datapoint>
        <datapoint>
            <name>PrePolicyByte</name>
            <dataType>7</dataType>
            <type>3</type>
            <postprocessormethod>none</postprocessormethod>
            <postprocessorparam></postprocessorparam>
            <usevalue></usevalue>
            <alertexpr></alertexpr>
            <alertmissing>1</alertmissing>
            <alertsubject></alertsubject>
            <alertbody></alertbody>
            <enableanomalyalertsuppression></enableanomalyalertsuppression>
            <description>Number of inbound octets, per second, prior to executing any QoS policies.</description>
            <maxvalue></maxvalue>
            <minvalue>0</minvalue>
            <userparam1>.1.3.6.1.4.1.9.9.166.1.15.1.1.6.##WILDVALUE##.##WILDVALUE2##</userparam1>
            <userparam2></userparam2>
            <userparam3></userparam3>
            <iscomposite>false</iscomposite>
            <rpn></rpn>
            <alertTransitionIval>5</alertTransitionIval>
            <alertClearTransitionIval>0</alertClearTransitionIval>
        </datapoint>
        <datapoint>
            <name>PrePolicyPkt</name>
            <dataType>7</dataType>
            <type>3</type>
            <postprocessormethod>none</postprocessormethod>
            <postprocessorparam></postprocessorparam>
            <usevalue></usevalue>
            <alertexpr></alertexpr>
            <alertmissing>1</alertmissing>
            <alertsubject></alertsubject>
            <alertbody></alertbody>
            <enableanomalyalertsuppression></enableanomalyalertsuppression>
            <description>Number of inbound packets, per second, prior to executing any QoS policies.</description>
            <maxvalue></maxvalue>
            <minvalue>0</minvalue>
            <userparam1>.1.3.6.1.4.1.9.9.166.1.15.1.1.3.##WILDVALUE##.##WILDVALUE2##</userparam1>
            <userparam2></userparam2>
            <userparam3></userparam3>
            <iscomposite>false</iscomposite>
            <rpn></rpn>
            <alertTransitionIval>5</alertTransitionIval>
            <alertClearTransitionIval>0</alertClearTransitionIval>
        </datapoint>
        <datapoint>
            <name>DroppedBits</name>
            <dataType>7</dataType>
            <type>2</type>
            <postprocessormethod>expression</postprocessormethod>
            <postprocessorparam>DropByte * 8</postprocessorparam>
            <usevalue></usevalue>
            <alertexpr></alertexpr>
            <alertmissing>1</alertmissing>
            <alertsubject></alertsubject>
            <alertbody></alertbody>
            <enableanomalyalertsuppression></enableanomalyalertsuppression>
            <description>Number of dropped bits per second as the result of all features that can produce drops 
(e.g., police, random detect, etc.)</description>
            <maxvalue></maxvalue>
            <minvalue></minvalue>
            <userparam1></userparam1>
            <userparam2></userparam2>
            <userparam3></userparam3>
            <iscomposite>false</iscomposite>
            <rpn></rpn>
            <alertTransitionIval>0</alertTransitionIval>
            <alertClearTransitionIval>0</alertClearTransitionIval>
        </datapoint>
        <datapoint>
            <name>PostPolicyBits</name>
            <dataType>7</dataType>
            <type>2</type>
            <postprocessormethod>expression</postprocessormethod>
            <postprocessorparam>PostPolicyByte * 8</postprocessorparam>
            <usevalue></usevalue>
            <alertexpr></alertexpr>
            <alertmissing>1</alertmissing>
            <alertsubject></alertsubject>
            <alertbody></alertbody>
            <enableanomalyalertsuppression></enableanomalyalertsuppression>
            <description>Number of outbound bits, per second, after executing QoS policies.</description>
            <maxvalue></maxvalue>
            <minvalue></minvalue>
            <userparam1></userparam1>
            <userparam2></userparam2>
            <userparam3></userparam3>
            <iscomposite>false</iscomposite>
            <rpn></rpn>
            <alertTransitionIval>0</alertTransitionIval>
            <alertClearTransitionIval>0</alertClearTransitionIval>
        </datapoint>
        <datapoint>
            <name>PrePolicyBits</name>
            <dataType>7</dataType>
            <type>2</type>
            <postprocessormethod>expression</postprocessormethod>
            <postprocessorparam>PrePolicyByte * 8</postprocessorparam>
            <usevalue></usevalue>
            <alertexpr></alertexpr>
            <alertmissing>1</alertmissing>
            <alertsubject></alertsubject>
            <alertbody></alertbody>
            <enableanomalyalertsuppression></enableanomalyalertsuppression>
            <description>Number of inbound bits, per second, prior to executing any QoS policies.</description>
            <maxvalue></maxvalue>
            <minvalue></minvalue>
            <userparam1></userparam1>
            <userparam2></userparam2>
            <userparam3></userparam3>
            <iscomposite>false</iscomposite>
            <rpn></rpn>
            <alertTransitionIval>0</alertTransitionIval>
            <alertClearTransitionIval>0</alertClearTransitionIval>
        </datapoint>
        </datapoints>
        <graphs>
        <graph>
            <name>QoS Packets</name>
            <title>QoS Packets</title>
            <verticallabel>packets/sec</verticallabel>
            <rigid>true</rigid>
            <maxvalue>NaN</maxvalue>
            <minvalue>0.0</minvalue>
            <displayprio>2</displayprio>
            <timescale>1day</timescale>
            <base1024>false</base1024>
            <graphdatapoints>
        <graphdatapoint>
            <name>DropPkt</name>
            <datapointname>DropPkt</datapointname>
            <cf>1</cf>
        </graphdatapoint>
        <graphdatapoint>
            <name>NoBufDropPkt</name>
            <datapointname>NoBuffDropPkt</datapointname>
            <cf>1</cf>
        </graphdatapoint>
        <graphdatapoint>
            <name>PrePolicyPkt</name>
            <datapointname>PrePolicyPkt</datapointname>
            <cf>1</cf>
        </graphdatapoint>
            </graphdatapoints>
            <graphvirtualdatapoints>
            </graphvirtualdatapoints>
            <graphdatas>
            <graphdata>
                <type>2</type>
                <legend>Drops</legend>
                <color>red</color>
                <datapointname>DropPkt</datapointname>
                <isvirtualdatapoint>false</isvirtualdatapoint>
            </graphdata>
            <graphdata>
                <type>2</type>
                <legend>Buffer Drop</legend>
                <color>orange</color>
                <datapointname>NoBufDropPkt</datapointname>
                <isvirtualdatapoint>false</isvirtualdatapoint>
            </graphdata>
            <graphdata>
                <type>1</type>
                <legend>Pre-Policy</legend>
                <color>blue</color>
                <datapointname>PrePolicyPkt</datapointname>
                <isvirtualdatapoint>false</isvirtualdatapoint>
            </graphdata>
            </graphdatas>
        </graph>
        <graph>
            <name>QoS Throughput</name>
            <title>QoS Throughput</title>
            <verticallabel>bps</verticallabel>
            <rigid>true</rigid>
            <maxvalue>NaN</maxvalue>
            <minvalue>0.0</minvalue>
            <displayprio>1</displayprio>
            <timescale>1day</timescale>
            <base1024>false</base1024>
            <graphdatapoints>
        <graphdatapoint>
            <name>DroppedBits</name>
            <datapointname>DroppedBits</datapointname>
            <cf>1</cf>
        </graphdatapoint>
        <graphdatapoint>
            <name>PostPolicyBits</name>
            <datapointname>PostPolicyBits</datapointname>
            <cf>1</cf>
        </graphdatapoint>
        <graphdatapoint>
            <name>PrePolicyBits</name>
            <datapointname>PrePolicyBits</datapointname>
            <cf>1</cf>
        </graphdatapoint>
            </graphdatapoints>
            <graphvirtualdatapoints>
            </graphvirtualdatapoints>
            <graphdatas>
            <graphdata>
                <type>1</type>
                <legend>Dropped</legend>
                <color>red</color>
                <datapointname>DroppedBits</datapointname>
                <isvirtualdatapoint>false</isvirtualdatapoint>
            </graphdata>
            <graphdata>
                <type>1</type>
                <legend>Post-Policy</legend>
                <color>blue</color>
                <datapointname>PostPolicyBits</datapointname>
                <isvirtualdatapoint>false</isvirtualdatapoint>
            </graphdata>
            <graphdata>
                <type>1</type>
                <legend>Pre-Policy</legend>
                <color>green</color>
                <datapointname>PrePolicyBits</datapointname>
                <isvirtualdatapoint>false</isvirtualdatapoint>
            </graphdata>
            </graphdatas>
        </graph>
        </graphs>
        <overviewgraphs>
        <overviewgraph>
            <name>Top 10 Interfaces by Packet Drops</name>
            <title>Top 10 Interfaces by Packet Drops</title>
            <verticallabel>packet/sec</verticallabel>
            <rigid>true</rigid>
            <maxvalue>NaN</maxvalue>
            <minvalue>0.0</minvalue>
            <displayprio>3</displayprio>
            <timescale>1day</timescale>
            <base1024>false</base1024>
            <aggregated>false</aggregated>
            <datapoints>
        <overviewgraphdatapoint>
            <name>DropPkt</name>
            <datapointname>DropPkt</datapointname>
            <cf>1</cf>
            <aggregateMethod>sum</aggregateMethod>
        </overviewgraphdatapoint>
        <overviewgraphdatapoint>
            <name>NoBuffDropPkt</name>
            <datapointname>NoBuffDropPkt</datapointname>
            <cf>1</cf>
            <aggregateMethod>sum</aggregateMethod>
        </overviewgraphdatapoint>
            </datapoints>
            <virtualdatapoints>
            </virtualdatapoints>
            <lines>
            <overviewgraphline>
                <type>1</type>
                <legend>##INSTANCE##</legend>
                <datapointname>DropPkt</datapointname>
                <isvirtualdatapoint>false</isvirtualdatapoint>
                <color>blue</color>
            </overviewgraphline>
            <overviewgraphline>
                <type>1</type>
                <legend>Buffer Drop ##INSTANCE##</legend>
                <datapointname>NoBuffDropPkt</datapointname>
                <isvirtualdatapoint>false</isvirtualdatapoint>
                <color>blue</color>
            </overviewgraphline>
            </lines>
        </overviewgraph>
        <overviewgraph>
            <name>Top 10 Interfaces by Post-Policy Throughput</name>
            <title>Top 10 Interfaces by Post-Policy Throughput</title>
            <verticallabel>bps</verticallabel>
            <rigid>true</rigid>
            <maxvalue>NaN</maxvalue>
            <minvalue>0.0</minvalue>
            <displayprio>2</displayprio>
            <timescale>1day</timescale>
            <base1024>false</base1024>
            <aggregated>false</aggregated>
            <datapoints>
        <overviewgraphdatapoint>
            <name>PostPolicyBits</name>
            <datapointname>PostPolicyBits</datapointname>
            <cf>1</cf>
            <aggregateMethod>sum</aggregateMethod>
        </overviewgraphdatapoint>
            </datapoints>
            <virtualdatapoints>
            </virtualdatapoints>
            <lines>
            <overviewgraphline>
                <type>1</type>
                <legend>##INSTANCE##</legend>
                <datapointname>PostPolicyBits</datapointname>
                <isvirtualdatapoint>false</isvirtualdatapoint>
                <color>AUTO</color>
            </overviewgraphline>
            </lines>
        </overviewgraph>
        <overviewgraph>
            <name>Top 10 Interfaces by Pre-Policy Throughput</name>
            <title>Top 10 Interfaces by Pre-Policy Throughput</title>
            <verticallabel>bps</verticallabel>
            <rigid>true</rigid>
            <maxvalue>NaN</maxvalue>
            <minvalue>0.0</minvalue>
            <displayprio>1</displayprio>
            <timescale>1day</timescale>
            <base1024>false</base1024>
            <aggregated>false</aggregated>
            <datapoints>
        <overviewgraphdatapoint>
            <name>PrePolicyBits</name>
            <datapointname>PrePolicyBits</datapointname>
            <cf>1</cf>
            <aggregateMethod>sum</aggregateMethod>
        </overviewgraphdatapoint>
            </datapoints>
            <virtualdatapoints>
            </virtualdatapoints>
            <lines>
            <overviewgraphline>
                <type>1</type>
                <legend>##INSTANCE##</legend>
                <datapointname>PrePolicyBits</datapointname>
                <isvirtualdatapoint>false</isvirtualdatapoint>
                <color>AUTO</color>
            </overviewgraphline>
            </lines>
        </overviewgraph>
        </overviewgraphs>
        <scripts>
        </scripts>
    </entry>
</feed>

 

Edited by The Other Josh
corrected description
  • Upvote 2

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.