The Other Josh

Members
  • Content Count

    4
  • Joined

  • Last visited

  • Days Won

    3

Community Reputation

4 Neutral

About The Other Josh

  • Rank
    Member
  1. I keep waffling on whether this is a bug, feature request or I'm just thinking about it wrong. Currently, if you configure instances to delete automatically it will prevent any alarms (the instance doesn't exist any more). At first, support told me to 'delete after 30 days', which makes sense at a quick glance, but doesn't actually work; the instance doesn't exist, so there is no incoming data and hence no alerts to trigger. The 30 days is just a way to preserve data in case the instance comes back (failed hardware, or intermittent service, etc). This means that you cannot enable automatic deletion for any instance where you need to alert on a change that would result in it being filtered from active discovery. Initially I had enabled automatic deletion for network interfaces, in order to automatically keep things clean if modules are added or removed, or interfaces change status. However, we found that this meant we would never get an alert for an interface being down (since those are filtered from AD). I disabled automatic deletion, but that leaves 2 problems: 1) We have to manually clean things (at the very least when changing hardware, modules, etc) 2) Even though the instance still exists, since it isn't picked up by AD none of the properties are updated. We use an 'alert_enable' string, but the description never gets updated by AD so it continues to alert (even though it's changed on the device) Options: 1) Stop filtering in AD (expands instance count, collector resources, etc) 2) Have LM alarm on removal of an instance (possibly overload the 'no data' rules, or add a different flag, possibly related to whether instance deletion is immediate or after 30 days) 3) If not deleting instances, possibly have AD update any properties or other values that exist before doing the filtering. This would let AD update descriptions, admin status, etc on an interface (allowing it to clear things like description, operational status, etc) - it's possible that is undesirable if people want to see the properties and values as the existed when the instance was 'live'. I'm just not that happy with any of the current solutions, but not convinced whether these possible features would be any better or more desirable.
  2. 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>
  3. I'm interested as well (for mnagel's PSIRT beta). Submitted feedback request also.
  4. There is already a global stats datasource from LogicMonitor repo called 'CiscoASA' displayed as 'Global PIX/ASA Stats' (Published with lmLocator: 3XDXDM). It has numSessions (aggregate over all types) but does not including webvpn and SVC directly. I submitted feedback request, but you can add those datapoints to the existing datasource using the OIDs that you identified.