<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>5.0</version>
    <date>2020-10-07T11:58:49Z</date>
    <groups>
        <group>
            <name>Templates/Network Devices</name>
        </group>
    </groups>
    <templates>
        <template>
            <template>Template Net Arista SNMP Updated</template>
            <name>Template Net Arista SNMP Updated</name>
            <description>Template Net Arista version: 0.14.1&#13;
MIBs used:&#13;
HOST-RESOURCES-MIB&#13;
ENTITY-SENSORS-MIB&#13;
ENTITY-STATE-MIB&#13;
ENTITY-MIB</description>
            <templates>
                <template>
                    <name>Template Module EtherLike-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Interfaces SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Network Devices</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Internal Items</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power Supply</name>
                </application>
                <application>
                    <name>Storage</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Entity Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#ENT_CLASS},1.3.6.1.2.1.47.1.1.1.1.5,{#ENT_NAME},1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>entity.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#ENT_CLASS}</macro>
                                <value>3</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#ENT_NAME}: Hardware model name</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.model[entPhysicalModelName.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: ENTITY-MIB</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>{#ENT_NAME}: Hardware serial number</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.11.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.serialnumber[entPhysicalSerialNum.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: ENTITY-MIB</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                                    <recovery_mode>NONE</recovery_mode>
                                    <name>{#ENT_NAME}: Device has been replaced (new serial number received)</name>
                                    <priority>INFO</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.
Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <request_method>POST</request_method>
                </discovery_rule>
                <discovery_rule>
                    <name>Fan Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.99.1.1.1.1,{#SENSOR_INFO},1.3.6.1.2.1.47.1.1.1.1.2]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>OR</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>10</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>ENTITY-SENSORS-MIB::EntitySensorDataType discovery with rpm filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Fan speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.99.1.1.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.speed[entPhySensorValue.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>30d</history>
                            <units>rpm</units>
                            <description>MIB: ENTITY-SENSORS-MIB
The most recent measurement obtained by the agent for this sensor.
To correctly interpret the value of this object, the associated entPhySensorType,
entPhySensorScale, and entPhySensorPrecision objects must also be examined.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.99.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[entPhySensorOperStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: ENTITY-SENSORS-MIB
The operational status of the sensor {#SENSOR_INFO}</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ENTITY-SENSORS-MIB::EntitySensorStatus</name>
                            </valuemap>
                            <request_method>POST</request_method>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Fan is in critical state</name>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.
Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <request_method>POST</request_method>
                </discovery_rule>
                <discovery_rule>
                    <name>CPU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.25.3.2.1,{#DEVICE_TYPE},1.3.6.1.2.1.25.3.2.1.2,{#DEVICE_DESCR},1.3.6.1.2.1.25.3.2.1.3]</snmp_oid>
                    <key>hrProcessorLoad.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>OR</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#DEVICE_TYPE}</macro>
                                <value>.+3$</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#DEVICE_TYPE}</macro>
                                <value>.+hrDeviceProcessor</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DEVICE_DESCR}: CPU utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.3.3.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: HOST-RESOURCES-MIB
The average, over the last minute, of the percentage of time that this processor was not idle.
Implementations may approximate this one minute smoothing period if necessary.</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$CPU_UTIL_MAX}</expression>
                                    <name>{#DEVICE_DESCR}: High CPU utilization</name>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#DEVICE_DESCR}: CPU utilization</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <ymax_type_1>FIXED</ymax_type_1>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Net Arista SNMP Updated</host>
                                        <key>system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <request_method>POST</request_method>
                </discovery_rule>
                <discovery_rule>
                    <name>Memory Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.25.2.3.1.3,{#ALLOC_UNITS},1.3.6.1.2.1.25.2.3.1.4,{#STORAGE_TYPE},1.3.6.1.2.1.25.2.3.1.2]</snmp_oid>
                    <key>memory.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>FORMULA</evaltype>
                        <formula>(A or B) and C</formula>
                        <conditions>
                            <condition>
                                <macro>{#STORAGE_TYPE}</macro>
                                <value>.+2$</value>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#STORAGE_TYPE}</macro>
                                <value>.+hrStorageRam</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>^RAM$</value>
                                <formulaid>C</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>HOST-RESOURCES-MIB::hrStorage discovery with memory filter and description 'RAM'. Do not discover RAM(Buffers) or RAM(Cache)</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: Memory utilization</name>
                            <type>CALCULATED</type>
                            <key>vm.memory.pused[memoryUsedPercentage.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <params>(last(vm.memory.units.used[hrStorageUsed.{#SNMPINDEX}])/last(vm.memory.units.total[hrStorageSize.{#SNMPINDEX}]))*100</params>
                            <description>Memory utilization in %</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$MEMORY_UTIL_MAX}</expression>
                                    <name>#{#SNMPINDEX}: High memory utilization</name>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: Total memory</name>
                            <type>CALCULATED</type>
                            <key>vm.memory.total[memoryTotal.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <units>B</units>
                            <params>(last(vm.memory.units.total[hrStorageSize.{#SNMPINDEX}])*last(vm.memory.units[hrStorageAllocationUnits.{#SNMPINDEX}]))</params>
                            <description>Total memory in Bytes</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: Total memory in units</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.units.total[hrStorageSize.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>1w</history>
                            <trends>0d</trends>
                            <units>units</units>
                            <description>MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in units of hrStorageAllocationUnits.
This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system.
For example, the amount of main memory allocated to a buffer pool might be modified or the amount of disk space allocated to virtual memory might be modified.</description>
                            <applications>
                                <application>
                                    <name>Internal Items</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: Used memory in units</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.units.used[hrStorageUsed.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>1w</history>
                            <trends>0d</trends>
                            <units>units</units>
                            <description>MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.</description>
                            <applications>
                                <application>
                                    <name>Internal Items</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: Memory units</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.units[hrStorageAllocationUnits.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: HOST-RESOURCES-MIB
The size, in bytes, of the data objects allocated from this pool.
If this entry is monitoring sectors, blocks, buffers, or packets, for example,
this number will commonly be greater than one. Otherwise this number will typically be one.</description>
                            <applications>
                                <application>
                                    <name>Internal Items</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: Used memory</name>
                            <type>CALCULATED</type>
                            <key>vm.memory.used[memoryUsed.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <units>B</units>
                            <params>(last(vm.memory.units.used[hrStorageUsed.{#SNMPINDEX}])*last(vm.memory.units[hrStorageAllocationUnits.{#SNMPINDEX}]))</params>
                            <description>Used memory in Bytes</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>#{#SNMPINDEX}: Memory utilization</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <ymax_type_1>FIXED</ymax_type_1>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Net Arista SNMP Updated</host>
                                        <key>vm.memory.pused[memoryUsedPercentage.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <request_method>POST</request_method>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#ENT_CLASS},1.3.6.1.2.1.47.1.1.1.1.5,{#ENT_NAME},1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#ENT_CLASS}</macro>
                                <value>6</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#ENT_NAME}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.131.1.1.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[entStateOper.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: ENTITY-STATE-MIB</description>
                            <applications>
                                <application>
                                    <name>Power Supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ENTITY-STATE-MIB::EntityOperState</name>
                            </valuemap>
                            <request_method>POST</request_method>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#ENT_NAME}: Power supply is in critical state</name>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.
Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <request_method>POST</request_method>
                </discovery_rule>
                <discovery_rule>
                    <name>Storage Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.25.2.3.1.3,{#ALLOC_UNITS},1.3.6.1.2.1.25.2.3.1.4,{#STORAGE_TYPE},1.3.6.1.2.1.25.2.3.1.2]</snmp_oid>
                    <key>storage.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>OR</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#STORAGE_TYPE}</macro>
                                <value>.+(4|9)$</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#STORAGE_TYPE}</macro>
                                <value>.+(hrStorageFixedDisk|hrStorageFlashMemory)</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>HOST-RESOURCES-MIB::hrStorage discovery with storage filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Storage utilization</name>
                            <type>CALCULATED</type>
                            <key>vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>30d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <params>(last(vfs.fs.units.used[hrStorageUsed.{#SNMPINDEX}])/last(vfs.fs.units.total[hrStorageSize.{#SNMPINDEX}]))*100</params>
                            <description>Storage utilization in % for {#SNMPVALUE}</description>
                            <applications>
                                <application>
                                    <name>Storage</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$STORAGE_UTIL_CRIT}</expression>
                                    <name>{#SNMPVALUE}: Disk space is critically low</name>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$STORAGE_UTIL_WARN}</expression>
                                    <name>{#SNMPVALUE}: Disk space is low</name>
                                    <priority>WARNING</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SNMPVALUE}: Disk space is critically low</name>
                                            <expression>{Template Net Arista SNMP Updated:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].avg(5m)}&gt;{$STORAGE_UTIL_CRIT}</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Total space</name>
                            <type>CALCULATED</type>
                            <key>vfs.fs.total[storageTotal.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>30d</history>
                            <units>B</units>
                            <params>(last(vfs.fs.units.total[hrStorageSize.{#SNMPINDEX}])*last(vfs.fs.units[hrStorageAllocationUnits.{#SNMPINDEX}]))</params>
                            <description>Total space in Bytes</description>
                            <applications>
                                <application>
                                    <name>Storage</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Total space in units</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.fs.units.total[hrStorageSize.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <trends>0d</trends>
                            <units>units</units>
                            <description>MIB: HOST-RESOURCES-MIB
The size of the storage represented by this entry, in units of hrStorageAllocationUnits.
This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system.
For example, the amount of main storage allocated to a buffer pool might be modified or the amount of disk space allocated to virtual storage might be modified.</description>
                            <applications>
                                <application>
                                    <name>Internal Items</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Used storage in units</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.fs.units.used[hrStorageUsed.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <trends>0d</trends>
                            <units>units</units>
                            <description>MIB: HOST-RESOURCES-MIB
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.</description>
                            <applications>
                                <application>
                                    <name>Internal Items</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Storage units</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.fs.units[hrStorageAllocationUnits.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: HOST-RESOURCES-MIB
The size, in bytes, of the data objects allocated from this pool.
If this entry is monitoring sectors, blocks, buffers, or packets, for example,
this number will commonly be greater than one.  Otherwise this number will typically be one.</description>
                            <applications>
                                <application>
                                    <name>Internal Items</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Used space</name>
                            <type>CALCULATED</type>
                            <key>vfs.fs.used[storageUsed.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>30d</history>
                            <units>B</units>
                            <params>(last(vfs.fs.units.used[hrStorageUsed.{#SNMPINDEX}])*last(vfs.fs.units[hrStorageAllocationUnits.{#SNMPINDEX}]))</params>
                            <description>Used storage in Bytes</description>
                            <applications>
                                <application>
                                    <name>Storage</name>
                                </application>
                            </applications>
                            <request_method>POST</request_method>
                        </item_prototype>
                    </item_prototypes>
                    <request_method>POST</request_method>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SENSOR_TYPE},1.3.6.1.2.1.99.1.1.1.1,{#SENSOR_INFO},1.3.6.1.2.1.47.1.1.1.1.2,{#SENSOR_PRECISION},1.3.6.1.2.1.99.1.1.1.3]</snmp_oid>
                    <key>temp.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_TYPE}</macro>
                                <value>8</value>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#SENSOR_PRECISION}</macro>
                                <value>1</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>ENTITY-SENSORS-MIB::EntitySensorDataType discovery with celsius filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Temperature status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.99.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.status[entPhySensorOperStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: ENTITY-SENSORS-MIB
The operational status of the sensor {#SENSOR_INFO}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ENTITY-SENSORS-MIB::EntitySensorStatus</name>
                            </valuemap>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.99.1.1.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[entPhySensorValue.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: ENTITY-SENSORS-MIB
The most recent measurement obtained by the agent for this sensor.
To correctly interpret the value of this object, the associated entPhySensorType,
entPhySensorScale, and entPhySensorPrecision objects must also be examined.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.1</params>
                                </step>
                            </preprocessing>
                            <request_method>POST</request_method>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_INFO}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <priority>HIGH</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.
This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;&quot;}+3</recovery_expression>
                                    <name>{#SENSOR_INFO}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Net Arista SNMP Updated:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}
or
{Template Net Arista SNMP Updated:sensor.temp.status[entPhySensorOperStatus.{#SNMPINDEX}].last(0)}={$TEMP_WARN_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Net Arista SNMP Updated:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                            <name>{#SENSOR_INFO}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.
This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                            <dependencies>
                                <dependency>
                                    <name>{#SENSOR_INFO}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <expression>{Template Net Arista SNMP Updated:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                    <recovery_expression>{Template Net Arista SNMP Updated:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <request_method>POST</request_method>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU_UTIL_MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$MEMORY_UTIL_MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$STORAGE_UTIL_CRIT}</macro>
                    <value>95</value>
                </macro>
                <macro>
                    <macro>{$STORAGE_UTIL_WARN}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>50</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN_STATUS}</macro>
                    <value>3</value>
                </macro>
            </macros>
        </template>
    </templates>
    <value_maps>
        <value_map>
            <name>ENTITY-SENSORS-MIB::EntitySensorStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>ok</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>unavailable</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>nonoperational</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>ENTITY-STATE-MIB::EntityOperState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>disabled</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>enabled</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>testing</newvalue>
                </mapping>
            </mappings>
        </value_map>
    </value_maps>
</zabbix_export>


