
# Template Net Cisco ASAv SNMP

## Overview

For Zabbix version: 5.0 and higher  
Secure Firewall ASA Virtual is the virtualized option of popular Secure Firewall ASA solution and offers security in traditional physical data centers and private and public clouds. 
Learn more about Cisco ASAv: https://www.cisco.com/c/en/us/products/collateral/security/adaptive-security-virtual-appliance-asav/adapt-security-virtual-appliance-ds.html


This template was tested on:

- Cisco Adaptive Security Appliance Software, version Version 9.9(2), Device Manager Version 7.3(3)

## Setup

> See [Zabbix template operation](https://www.zabbix.com/documentation/5.0/manual/config/templates_out_of_the_box/network_devices) for basic instructions.

Refer to the vendor documentation.

## Zabbix configuration

No specific Zabbix configuration is required.

### Macros used

|Name|Description|Default|
|----|-----------|-------|
|{$CISCO.LLD.FILTER.IF.ADMIN.MATCHES} |<p>Filter of discoverable interfaces by admin status.</p><p>1 - Up</p><p>2 - Down</p><p>3 - Testing</p> |`1` |
|{$CISCO.LLD.FILTER.IF.ADMIN.NOT_MATCHES} |<p>Filter to exclude discovered interfaces by admin status.</p> |`CHANGE_IF_NEEDED` |
|{$CISCO.LLD.FILTER.IF.CONTROL.MATCHES} |<p>Filter triggers by discoverable interface names.</p><p>Used in overrides. Triggers will only be created for interfaces whose names contain the value of the macro.</p> |`.*` |
|{$CISCO.LLD.FILTER.IF.DESC.MATCHES} |<p>Filter by discoverable interface description.</p> |`.*` |
|{$CISCO.LLD.FILTER.IF.DESC.NOT_MATCHES} |<p>Filter to exclude discovered interfaces by description.</p> |`CHANGE_IF_NEEDED` |
|{$CISCO.LLD.FILTER.IF.NAME.MATCHES} |<p>Filter by discoverable interface names.</p> |`.*` |
|{$CISCO.LLD.FILTER.IF.NAME.NOT_MATCHES} |<p>Filter to exclude discovered interfaces by name.</p> |`CHANGE_IF_NEEDED` |
|{$CPU.UTIL.CRIT} |<p>-</p> |`90` |
|{$IFCONTROL} |<p>-</p> |`1` |
|{$MEMORY.UTIL.MAX} |<p>-</p> |`90` |
|{$SNMP.TIMEOUT} |<p>The time interval for SNMP agent availability trigger expression.</p> |`5m` |

## Template links

There are no template links in this template.

## Discovery rules

|Name|Description|Type|Key and additional info|
|----|-----------|----|----|
|Physical entry discovery |<p>Information about a particular physical entity.</p> |SNMP |cisco.asav.physical.entry.discovery |
|Interface discovery |<p>Network interfaces discovery</p> |SNMP |cisco.asav.net.if.discovery<p>**Filter**:</p>AND <p>- A: {#CISCO.IF.NAME} MATCHES_REGEX `{$CISCO.LLD.FILTER.IF.NAME.MATCHES}`</p><p>- B: {#CISCO.IF.NAME} NOT_MATCHES_REGEX `{$CISCO.LLD.FILTER.IF.NAME.NOT_MATCHES}`</p><p>- C: {#CISCO.IF.STATUS.ADMIN} MATCHES_REGEX `{$CISCO.LLD.FILTER.IF.ADMIN.MATCHES}`</p><p>- D: {#CISCO.IF.STATUS.ADMIN} NOT_MATCHES_REGEX `{$CISCO.LLD.FILTER.IF.ADMIN.NOT_MATCHES}`</p><p>- E: {#CISCO.IF.DESC} MATCHES_REGEX `{$CISCO.LLD.FILTER.IF.DESC.MATCHES}`</p><p>- F: {#CISCO.IF.DESC} NOT_MATCHES_REGEX `{$CISCO.LLD.FILTER.IF.DESC.NOT_MATCHES}`</p><p>**Overrides:**</p><p>Don't create triggers for matching interface<br> - {#CISCO.IF.NAME} NOT_MATCHES_REGEX `{$CISCO.LLD.FILTER.IF.CONTROL.MATCHES}`<br>  - TRIGGER_PROTOTYPE REGEXP `.*` - NO_DISCOVER</p> |
|Memory discovery |<p>Discovery of ciscoMemoryPoolTable, a table of memory pool monitoring entries.</p> |SNMP |cisco.asav.memory.discovery |
|CPU discovery |<p>Discovery of cpmCPUTotalTable, a table of CPU monitoring entries.</p> |SNMP |cisco.asav.cpu.discovery |
|Session discovery |<p>Remote access session discovery</p> |SNMP |cisco.asav.session.discovery |

## Items collected

|Group|Name|Description|Type|Key and additional info|
|-----|----|-----------|----|---------------------|
|CPU |Cisco ASAv: CPU [{#SNMPINDEX}] Utilization |<p>MIB: CISCO-PROCESS-MIB</p><p>The overall CPU busy percentage in the last 5 minute</p><p>period. This object deprecates the object cpmCPUTotal5min</p><p>and increases the value range to (0..100).</p> |SNMP |cisco.asav.cpu.util[{#SNMPINDEX}] |
|Inventory |Cisco ASAv: System description |<p>MIB: RFC1213-MIB</p><p>A textual description of the entity.  This value</p><p>should include the full name and version</p><p>identification of the system's hardware type,</p><p>software operating-system, and networking</p><p>software.  It is mandatory that this only contain</p><p>printable ASCII characters.</p> |SNMP |cisco.asav.model<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Inventory |Cisco ASAv: Contact |<p>MIB: RFC1213-MIB</p><p>The textual identification of the contact person</p><p>for this managed node, together with information</p><p>on how to contact this person.</p> |SNMP |cisco.asav.contact<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Inventory |Cisco ASAv: Host name |<p>MIB: RFC1213-MIB</p><p>An administratively-assigned name for this</p><p>managed node.  By convention, this is the node's</p><p>fully-qualified domain name.</p> |SNMP |cisco.asav.name<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Inventory |Cisco ASAv: Location |<p>MIB: RFC1213-MIB</p><p>The physical location of this node (e.g.,</p><p>`telephone closet, 3rd floor').</p> |SNMP |cisco.asav.location<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Inventory |Cisco ASAv: {#CISCO.ASAV.PHYS.NAME} Physical description |<p>MIB: ENTITY-MIB</p><p>A textual description of physical entity.  This object</p><p>should contain a string that identifies the manufacturer's</p><p>name for the physical entity, and should be set to a</p><p>distinct value for each version or model of the physical</p><p>entity.</p> |SNMP |cisco.asav.phys.description[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Inventory |Cisco ASAv: {#CISCO.ASAV.PHYS.NAME} Physical class |<p>MIB: ENTITY-MIB</p><p>An indication of the general hardware type of the physical</p><p>entity.</p><p>An agent should set this object to the standard enumeration</p><p>value that most accurately indicates the general class of</p><p>the physical entity, or the primary class if there is more</p><p>than one entity.</p><p>If no appropriate standard registration identifier exists</p><p>for this physical entity, then the value 'other(1)' is</p><p>returned.  If the value is unknown by this agent, then the</p><p>value 'unknown(2)' is returned.</p> |SNMP |cisco.asav.phys.class[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Inventory |Cisco ASAv: {#CISCO.ASAV.PHYS.NAME} Physical name |<p>MIB: ENTITY-MIB</p><p>The textual name of the physical entity.  The value of this</p><p>object should be the name of the component as assigned by</p><p>the local device and should be suitable for use in commands</p><p>entered at the device's `console'.  This might be a text</p><p>name (e.g., `console') or a simple component number (e.g.,</p><p>port or module number, such as `1'), depending on the</p><p>physical component naming syntax of the device.</p><p>If there is no local name, or if this object is otherwise</p><p>not applicable, then this object contains a zero-length</p><p>string.</p><p>Note that the value of entPhysicalName for two physical</p><p>entities will be the same in the event that the console</p><p>interface does not distinguish between them, e.g., slot-1</p><p>and the card in slot-1.</p> |SNMP |cisco.asav.phys.name[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Inventory |Cisco ASAv: {#CISCO.ASAV.PHYS.NAME} Hardware revision |<p>MIB: ENTITY-MIB</p><p>The vendor-specific hardware revision string for the</p><p>physical entity.  The preferred value is the hardware</p><p>revision identifier actually printed on the component itself</p><p>(if present).</p><p>Note that if revision information is stored internally in a</p><p>non-printable (e.g., binary) format, then the agent must</p><p>convert such information to a printable format, in an</p><p>implementation-specific manner.</p><p>If no specific hardware revision string is associated with</p><p>the physical component, or if this information is unknown to</p><p>the agent, then this object will contain a zero-length</p><p>string.</p> |SNMP |cisco.asav.phys.hw[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Inventory |Cisco ASAv: {#CISCO.ASAV.PHYS.NAME} Software revision |<p>MIB: ENTITY-MIB</p><p>The vendor-specific software revision string for the</p><p>physical entity.</p><p>Note that if revision information is stored internally in a</p><p>non-printable (e.g., binary) format, then the agent must</p><p>convert such information to a printable format, in an</p><p>implementation-specific manner.</p><p>If no specific software programs are associated with the</p><p>physical component, or if this information is unknown to the</p><p>agent, then this object will contain a zero-length string.</p> |SNMP |cisco.asav.phys.sw[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Inventory |Cisco ASAv: {#CISCO.ASAV.PHYS.NAME} Serial number |<p>MIB: ENTITY-MIB</p><p>The vendor-specific serial number string for the physical</p><p>entity.  The preferred value is the serial number string</p><p>actually printed on the component itself (if present).</p><p>On the first instantiation of an physical entity, the value</p><p>of entPhysicalSerialNum associated with that entity is set</p><p>to the correct vendor-assigned serial number, if this</p><p>information is available to the agent.  If a serial number</p><p>is unknown or non-existent, the entPhysicalSerialNum will be</p><p>set to a zero-length string instead.</p> |SNMP |cisco.asav.phys.sn[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Inventory |Cisco ASAv: {#CISCO.ASAV.PHYS.NAME} Manufacturer name |<p>MIB: ENTITY-MIB</p><p>The name of the manufacturer of this physical component.</p><p>The preferred value is the manufacturer name string actually</p><p>printed on the component itself (if present).</p><p>Note that comparisons between instances of the</p><p>entPhysicalModelName, entPhysicalFirmwareRev,</p><p>entPhysicalSoftwareRev, and the entPhysicalSerialNum</p><p>objects, are only meaningful amongst entPhysicalEntries with</p><p>the same value of entPhysicalMfgName.</p><p>If the manufacturer name string associated with the physical</p><p>component is unknown to the agent, then this object will</p><p>contain a zero-length string.</p> |SNMP |cisco.asav.phys.mfgname[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Inventory |Cisco ASAv: {#CISCO.ASAV.PHYS.NAME} Model name |<p>MIB: ENTITY-MIB</p><p>The vendor-specific model name identifier string associated</p><p>with this physical component.  The preferred value is the</p><p>customer-visible part number, which may be printed on the</p><p>component itself.</p><p>If the model name string associated with the physical</p><p>component is unknown to the agent, then this object will</p><p>contain a zero-length string.</p> |SNMP |cisco.asav.phys.model[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Memory |Cisco ASAv: {#SNMPVALUE} Used memory |<p>MIB: CISCO-MEMORY-POOL-MIB</p><p>Indicates the number of bytes from the memory pool that are currently in use by applications on the managed device.</p><p>Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html</p> |SNMP |cisco.asav.memory.used[{#SNMPINDEX}] |
|Memory |Cisco ASAv: {#SNMPVALUE} Free memory |<p>MIB: CISCO-MEMORY-POOL-MIB</p><p>Indicates the number of bytes from the memory pool that are currently unused on the managed device. Note that the sum of ciscoMemoryPoolUsed and ciscoMemoryPoolFree is the total amount of memory in the pool</p><p>Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html</p> |SNMP |cisco.asav.memory.free[{#SNMPINDEX}] |
|Memory |Cisco ASAv: {#SNMPVALUE} Memory utilization |<p>Memory utilization in %</p> |CALCULATED |cisco.asav.memory.util[{#SNMPINDEX}]<p>**Expression**:</p>`last(cisco.asav.memory.used[{#SNMPINDEX}])/(last(cisco.asav.memory.free[{#SNMPINDEX}])+last(cisco.asav.memory.used[{#SNMPINDEX}]))*100` |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Interface name |<p>MIB: CISCO-PORT-MIB</p><p>Descriptive name that identifies this port.</p> |SNMP |cisco.asav.net.if.name[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Interface description |<p>MIB: IF-MIB</p><p>A textual string containing information about the interface</p> |SNMP |cisco.asav.net.if.descr[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Operational status |<p>MIB: IF-MIB</p><p>The current operational state of the interface.</p><p>The testing(3) state indicates that no operational</p><p>packets can be passed.</p> |SNMP |cisco.asav.net.if.operstatus[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Administrative status |<p>MIB: IF-MIB</p><p>The desired state of the interface.  The</p><p>testing(3) state indicates that no operational</p><p>packets can be passed.</p> |SNMP |cisco.asav.net.if.adminstatus[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Incoming traffic |<p>MIB: IF-MIB</p><p>The total number of octets received on the interface,</p><p>including framing characters.</p> |SNMP |cisco.asav.net.if.in.traffic[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `8`</p><p>- CHANGE_PER_SECOND |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Incoming unicast packets |<p>MIB: IF-MIB</p><p>The number of packets, delivered by this sub-layer to a</p><p>higher (sub-)layer, which were not addressed to a multicast</p><p>or broadcast address at this sub-layer</p> |SNMP |cisco.asav.net.if.in.ucastpkts[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- CHANGE_PER_SECOND |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Incoming multicast packets |<p>MIB: IF-MIB</p><p>The number of packets, delivered by this sub-layer to a</p><p>higher (sub-)layer, which were addressed to a multicast</p><p>address at this sub-layer.  For a MAC layer protocol, this</p><p>includes both Group and Functional addresses.</p> |SNMP |cisco.asav.net.if.in.multicastpkts[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- CHANGE_PER_SECOND |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Incoming broadcast packets |<p>MIB: IF-MIB</p><p>The number of packets, delivered by this sub-layer to a</p><p>higher (sub-)layer, which were addressed to a broadcast</p><p>address at this sub-layer.</p> |SNMP |cisco.asav.net.if.in.broadcastpkts[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- CHANGE_PER_SECOND |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Outgoing traffic |<p>MIB: IF-MIB</p><p>The total number of octets transmitted out of the</p><p>interface, including framing characters.  This object is a</p><p>64-bit version of ifOutOctets.</p> |SNMP |cisco.asav.net.if.out.traffic[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `8`</p><p>- CHANGE_PER_SECOND |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Outgoing unicast packets |<p>MIB: IF-MIB</p><p>The total number of packets that higher-level protocols</p><p>requested be transmitted, and which were not addressed to a</p><p>multicast or broadcast address at this sub-layer, including</p><p>those that were discarded or not sent.</p> |SNMP |cisco.asav.net.if.out.ucastpkts[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- CHANGE_PER_SECOND |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Outgoing multicast packets |<p>MIB: IF-MIB</p><p>The total number of packets that higher-level protocols</p><p>requested be transmitted, and which were addressed to a</p><p>multicast address at this sub-layer, including those that</p><p>were discarded or not sent.  For a MAC layer protocol, this</p><p>includes both Group and Functional addresses.</p> |SNMP |cisco.asav.net.if.out.multicastpkts[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- CHANGE_PER_SECOND |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Outgoing broadcast packets |<p>MIB: IF-MIB</p><p>The total number of packets that higher-level protocols</p><p>requested be transmitted, and which were addressed to a</p><p>broadcast address at this sub-layer, including those that</p><p>were discarded or not sent.</p> |SNMP |cisco.asav.net.if.out.broadcastpkts[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- CHANGE_PER_SECOND |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Link speed |<p>MIB: IF-MIB</p><p>An estimate of the interface's current bandwidth in bits per second</p> |SNMP |cisco.asav.net.if.highspeed[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `1000000`</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Incoming utilization |<p>Interface utilization percentage</p> |CALCULATED |cisco.asav.net.if.in.util[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- IN_RANGE: `0 100`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JAVASCRIPT: `return +parseFloat(value).toFixed(0); `</p><p>**Expression**:</p>`last(cisco.asav.net.if.in.traffic[{#SNMPINDEX}]) * (last(cisco.asav.net.if.highspeed[{#SNMPINDEX}]) <> 0) /  ( last(cisco.asav.net.if.highspeed[{#SNMPINDEX}]) + (last(cisco.asav.net.if.highspeed[{#SNMPINDEX}]) = 0) ) * 100 ` |
|Network_interfaces |Cisco ASAv: {#CISCO.IF.NAME} Outgoing utilization |<p>Interface utilization percentage</p> |CALCULATED |cisco.asav.net.if.out.util[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- IN_RANGE: `0 100`</p><p>⛔️ON_FAIL: `DISCARD_VALUE -> `</p><p>- JAVASCRIPT: `return +parseFloat(value).toFixed(0); `</p><p>**Expression**:</p>`last(cisco.asav.net.if.out.traffic[{#SNMPINDEX}]) * (last(cisco.asav.net.if.highspeed[{#SNMPINDEX}]) <> 0) /  ( last(cisco.asav.net.if.highspeed[{#SNMPINDEX}]) + (last(cisco.asav.net.if.highspeed[{#SNMPINDEX}]) = 0) ) * 100 ` |
|Remote access session |Cisco ASAv: {#CISCO.CRAS.USER} [{#CISCO.CRAS.INDEX}] Authenticate method |<p>MIB:  CISCO-REMOTE-ACCESS-MONITOR-MIB</p><p>The method used to authenticate the user prior to</p><p>establishing the session.</p> |SNMP |cisco.asav.session.authen.method[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Remote access session |Cisco ASAv: {#CISCO.CRAS.USER} [{#CISCO.CRAS.INDEX}] Authorize method |<p>MIB:  CISCO-REMOTE-ACCESS-MONITOR-MIB</p><p>The method used to authorize the user prior to</p><p>establishing the session.</p> |SNMP |cisco.asav.session.author.method[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Remote access session |Cisco ASAv: {#CISCO.CRAS.USER} [{#CISCO.CRAS.INDEX}] Session duration |<p>MIB:  CISCO-REMOTE-ACCESS-MONITOR-MIB</p><p>The number of seconds elapsed since this session</p><p>was established.</p> |SNMP |cisco.asav.session.duration[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Remote access session |Cisco ASAv: {#CISCO.CRAS.USER} [{#CISCO.CRAS.INDEX}] Local address |<p>MIB:  CISCO-REMOTE-ACCESS-MONITOR-MIB</p><p>The IP address assigned to the client of this session</p><p>in the private network assigned by the managed entity.</p> |SNMP |cisco.asav.session.addr.local[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Remote access session |Cisco ASAv: {#CISCO.CRAS.USER} [{#CISCO.CRAS.INDEX}] ISP address |<p>MIB:  CISCO-REMOTE-ACCESS-MONITOR-MIB</p><p>The IP address of the peer (client) assigned by the ISP.</p><p>This is the address of the client device in the public</p><p>network.</p> |SNMP |cisco.asav.session.addr.isp[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Remote access session |Cisco ASAv: {#CISCO.CRAS.USER} [{#CISCO.CRAS.INDEX}] Session protocol |<p>MIB:  CISCO-REMOTE-ACCESS-MONITOR-MIB</p><p>The protocol underlying this remote access session.</p> |SNMP |cisco.asav.session.protocol[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Remote access session |Cisco ASAv: {#CISCO.CRAS.USER} [{#CISCO.CRAS.INDEX}] Encryption algorithm |<p>MIB:  CISCO-REMOTE-ACCESS-MONITOR-MIB</p><p>The algorithm used by this remote access session to</p><p>encrypt its payload.</p> |SNMP |cisco.asav.session.encryption[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Remote access session |Cisco ASAv: {#CISCO.CRAS.USER} [{#CISCO.CRAS.INDEX}] Algorithm validate packets |<p>MIB:  CISCO-REMOTE-ACCESS-MONITOR-MIB</p><p>The algorithm used by this remote access session to</p><p>to validate packets.</p> |SNMP |cisco.asav.session.authen.algorithm[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `6h`</p> |
|Remote access session |Cisco ASAv: {#CISCO.CRAS.USER} [{#CISCO.CRAS.INDEX}] Incoming traffic |<p>MIB: CISCO-REMOTE-ACCESS-MONITOR-MIB</p><p>The rate of octets received by this Remote</p><p>Access Session.</p><p>This value is accumulated BEFORE determining whether</p><p>or not the packet should be decompressed.</p> |SNMP |cisco.asav.session.in.traffic[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `8`</p><p>- CHANGE_PER_SECOND |
|Remote access session |Cisco ASAv: {#CISCO.CRAS.USER} [{#CISCO.CRAS.INDEX}] Outgoing traffic |<p>MIB: CISCO-REMOTE-ACCESS-MONITOR-MIB</p><p>The rate of octets transmitted by this Remote</p><p>Access Session.</p><p>This value is accumulated AFTER determining whether</p><p>or not the packet should be compressed.</p> |SNMP |cisco.asav.session.out.traffic[{#SNMPINDEX}]<p>**Preprocessing**:</p><p>- MULTIPLIER: `8`</p><p>- CHANGE_PER_SECOND |
|Status |Cisco ASAv: SNMP agent availability |<p>-</p> |INTERNAL |zabbix[host,snmp,available]<p>**Preprocessing**:</p><p>- DISCARD_UNCHANGED_HEARTBEAT: `1h`</p> |
|Status |Cisco ASAv: Uptime |<p>MIB: RFC1213-MIB</p><p>The time (in hundredths of a second) since the</p><p>network management portion of the system was last</p><p>re-initialized.</p> |SNMP |cisco.asav.uptime<p>**Preprocessing**:</p><p>- MULTIPLIER: `0.01`</p> |

## Triggers

|Name|Description|Expression|Severity|Dependencies and additional info|
|----|-----------|----|----|----|
|Cisco ASAv: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m) |<p>CPU utilization is too high. The system might be slow to respond.</p> |`{TEMPLATE_NAME:cisco.asav.cpu.util[{#SNMPINDEX}].min(5m)}>{$CPU.UTIL.CRIT}` |WARNING | |
|Cisco ASAv: {#CISCO.ASAV.PHYS.NAME} has been replaced (new serial number received) |<p>{#CISCO.ASAV.PHYS.NAME} serial number has changed. Ack to close</p> |`{TEMPLATE_NAME:cisco.asav.phys.sn[{#SNMPINDEX}].diff()}=1 and {TEMPLATE_NAME:cisco.asav.phys.sn[{#SNMPINDEX}].strlen()}>0` |INFO |<p>Manual close: YES</p> |
|Cisco ASAv: High memory utilization (>{$MEMORY.UTIL.MAX}% for 5m) |<p>The system is running out of free memory.</p> |`{TEMPLATE_NAME:cisco.asav.memory.util[{#SNMPINDEX}].min(5m)}>{$MEMORY.UTIL.MAX}` |AVERAGE | |
|Cisco ASAv: {#CISCO.IF.NAME} Link down |<p>This trigger expression works as follows:</p><p>1. Can be triggered if operations status is down.</p><p>2. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)</p><p>WARNING: if closed manually - won't fire again on next poll, because of .diff.</p> |`{TEMPLATE_NAME:cisco.asav.net.if.operstatus[{#SNMPINDEX}].last()}=2 and {TEMPLATE_NAME:cisco.asav.net.if.operstatus[{#SNMPINDEX}].diff()}=1`<p>Recovery expression:</p>`{TEMPLATE_NAME:cisco.asav.net.if.operstatus[{#SNMPINDEX}].last()}<>2` |AVERAGE |<p>Manual close: YES</p> |
|Cisco ASAv: No SNMP data collection |<p>SNMP is not available for polling. Please check device connectivity and SNMP settings.</p> |`{TEMPLATE_NAME:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0` |WARNING | |
|Cisco ASAv: has been restarted (uptime < 10m) |<p>Uptime is less than 10 minutes</p> |`{TEMPLATE_NAME:cisco.asav.uptime.last()}<10m` |INFO |<p>Manual close: YES</p> |

## Feedback

Please report any issues with the template at https://support.zabbix.com

You can also provide a feedback, discuss the template or ask for help with it at [ZABBIX forums](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/418396-discussion-thread-for-official-zabbix-templates-for-cisco).

