The Other Josh

Members
  • Content Count

    15
  • Joined

  • Last visited

  • Days Won

    3

Community Reputation

4 Neutral

About The Other Josh

  • Rank
    Observer
  1. I figured things out after contact with support; I got twisted because it appeared that we lost a stack port but it wasn't alerting. It turns out that it was never up, but that put me on the wrong track
  2. The filter option can't be only on device discovery, but filter on instance discover (ie it would stop adding an instance, but it would not be used to remove an existing instance).
  3. We also implemented the alarm for the SNMP uptime datasources, which covers situations where SNMP is misconfigured on not working. It will miss batchscript, script, WMI, etc so it's definitely not comprehensive. The problem with "No Data", and I've had some back-and-forth with the CSM, is that there is currently no way to tell if the "No Data" is intentional (if the datapoint is not relevant given the current status) or cause for a problem (data should be returned or is not). This shows up in scripts where they will set a datapoint in some paths but not others. The new SNMP interfaces batchscript will return 32 or 64 bit datapoints depending on the interfaces and not return any value for the others, and the new SSL certificate monitor has a lot of datapoints that will only return values in certain situations. The dev team noted that returning a '0' isn't really correct, but 'No data' is also a problem because it becomes impossible to tell when datasources or devices are not working correctly. I'm pushing on the CSM to prioritize some improvement that can be used to check for problems (clean up the environment) and/or alarm reliably when data isn't being returned. @mnagel For your instance deletion issue check out this thread; I keep running into this issue and don't think there is a clean way to handle it yet.
  4. I ran into this again, and I think that the current implementation is lacking. The problem is that there are many types of instances that can be 'down' in normal operation, but you want to alarm if they were up and now are down. However, if they are down when you add the device, you don't want to add the instance and have to manually delete them. Several examples: Unused redundant power supply Unused stack port Unused interface The current configuration leads to errors; I had support tell me to switch to 'save for 30 days' to get alarms for deleted instances, and today found that the 'Cisco Switch Stack Ports-' datasource from LM has the same problem (it filters on status and alarms on status). These are also the worst type of errors because they are generally only visible when bad things happen and you don't get notified. You could have an option for a filter to only apply on the first device discovery (I don't know what other issues that might create). You could also had instances alarm if they are removed by active discovery (maybe only if the 'save for 30 days' option is enabled). I am in favor of having instances with the '30 day' option still be visible in the tree so that you can reference historical data, so it wouldn't be too hard to extend that concept to an alarm.
  5. I had some feedback about that one too. Doubling your interface count should have a bit more visibility. I was also pretty unhappy that the patch notes described it as "an identical replacement"; I like the direction but it's definitely still a WIP. The new collector sizes (XL and XXL) don't have any changes to the default batchscript threads. I opened a ticket on that and made some adjustments to the threadcount and didn't see any problem with other performance metrics.
  6. Good point, I do now recall frequently seeing hostProps. Setting it at the device level does result in a failure.
  7. Just the instance - I wanted to isolate the test.
  8. I was setting the creds on the instance that I was testing. Are you sure that the datasources you were testing were using the groovy API? I'll test caching later; right now still focused on the actual problem (this is just a side effect :). Yeah that link is handy. What is the convention that it breaks (I was looking at some other session options that might let you set authentication parameters) - assuming that you are checking for and only using it if wmi creds exist?
  9. Tested by setting wmi.user to 'thiswillnotwork' and both PollNow and collections are still working.
  10. I'm pretty sure that it doesn't do anything automatically with the properties. The issue we are working on is related to access rights on the service account vs the WMI account, which is why I wanted to do some testing while specifying different accounts. The WinCPU datasource is not working (it doesn't reference the properties) but other WMI data collection is fine. I am working with support but was checking here in parallel in case someone had the information readily available.
  11. Is there any documentation for the Groovy WMI implementation (com.santaba.agent.groovyapi.win32.WMI and com.santaba.agent.groovyapi.win32.WMISession)? I wasn't able to find anything in a short search. In particular, none of the examples that I found in LM check for WMI credential properties (wmi.user and wmi.pass).
  12. 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.
  13. 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>
  14. I'm interested as well (for mnagel's PSIRT beta). Submitted feedback request also.
  15. 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.