<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>5.0</version>
    <date>2022-08-11T08:29:23Z</date>
    <groups>
        <group>
            <name>cisco</name>
        </group>
        <group>
            <name>C_templates</name>
        </group>
        <group>
            <name>HomeRackUserGroupTemplates</name>
        </group>
        <group>
            <name>Hypervisors</name>
        </group>
        <group>
            <name>Infra</name>
        </group>
        <group>
            <name>NTP</name>
        </group>
        <group>
            <name>Svetlana_templates</name>
        </group>
        <group>
            <name>Templates</name>
        </group>
        <group>
            <name>Templates/Applications</name>
        </group>
        <group>
            <name>Templates/Databases</name>
        </group>
        <group>
            <name>Templates/Modules</name>
        </group>
        <group>
            <name>Templates/Network devices</name>
        </group>
        <group>
            <name>Templates/Operating systems</name>
        </group>
        <group>
            <name>Templates/Server hardware</name>
        </group>
        <group>
            <name>Templates/Virtualization</name>
        </group>
        <group>
            <name>Templates SNMP Devices</name>
        </group>
        <group>
            <name>Video cameras</name>
        </group>
        <group>
            <name>Virtual machines</name>
        </group>
        <group>
            <name>Windows Event Log</name>
        </group>
        <group>
            <name>Windows servers</name>
        </group>
        <group>
            <name>Windows Servers</name>
        </group>
    </groups>
    <templates>
        <template>
            <template>ADAudit</template>
            <name>ADAudit</name>
            <description>Аудит входа в систему</description>
            <groups>
                <group>
                    <name>Svetlana_templates</name>
                </group>
                <group>
                    <name>Windows servers</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Audit</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>ClearAuditJournal</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,1102]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Clearing the audit log</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(1102)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Очищен журнал аудита</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>LogInSuccessfully</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4624]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Login with account completed successfully</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4624)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Вход с учетной записью выполнен</name>
                            <status>DISABLED</status>
                            <priority>DISASTER</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>LogInDenied</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4625]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Account could not be logged in</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4625)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Учётной записи не удалось выполнить вход в систему</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>UserProfileHasBeenCreated</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4720]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>User account created</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4720)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Создана учётная запись пользователя</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>AttemptToResetTheAccountPassword</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4724]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Trying to reset an account password</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4724)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Попытка сбросить пароль учётной записи</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>UserProfileDisabled</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4725]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Disabled user account</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4725)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Отключена учётная запись пользователя</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>UserProfileDeleted</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4726]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>User account deleted</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4726)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Удалена учётная запись пользователя</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>SecureLocalGroupHasBeenCreated</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4731]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>A local protected local security group created</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4731)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Создана защищённая локальная группа безопасности</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>AddMemberLocalSecureGroup</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4732]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Added a member to a protected local group</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4732)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Добавлен участник в защищённую локальную группу</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>DeleteMemberLocalSecureGroup</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4733]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Member removed from protected local group</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4733)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Удален участник из защищённой локальной группы</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>DeleteSecureLocalGroup</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4734]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Protected local security group removed</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4734)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Удалена защищённая локальная группа безопасности</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>ModifySecureLocalGroup</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4735]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Protected local security group changed</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4735)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Изменена защищённая локальная группа безопасности</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>ModifyUserProfile</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4738]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>User account changed</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4738)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Изменена учётная запись пользователя</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>UserProfileHasBeenBlocked</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4740]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>User account blocked</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4740)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Заблокирована учётная запись пользователя</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>UserNameHasBeenModify</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4781]</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Account name has been changed</description>
                    <applications>
                        <application>
                            <name>Audit</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4781)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{nodata(5)}=0</recovery_expression>
                            <name>Имя учётной записи было изменено</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>AD Replication</template>
            <name>AD Replication</name>
            <groups>
                <group>
                    <name>Windows servers</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>ADReplication.Failure</name>
                </application>
                <application>
                    <name>ADReplication.PartnerMetadata</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>ADReplicationMetadataAndFailurePartners</name>
                    <key>ADReplication[&quot;discovery&quot;]</key>
                    <lifetime>1d</lifetime>
                    <item_prototypes>
                        <item_prototype>
                            <name>ADReplication.Failure.FailureCount.partner:{#PARTNER}</name>
                            <key>ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount]</key>
                            <delay>3m</delay>
                            <history>14d</history>
                            <value_type>FLOAT</value_type>
                            <description>Item shows the active directory replication failure count</description>
                            <applications>
                                <application>
                                    <name>ADReplication.Failure</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ActiveDirectory Template</name>
                            </valuemap>
                            <request_method>POST</request_method>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&lt;&gt;0 and {last()}&lt;&gt;-1</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}=0 or {last()}&lt;&gt;-1</recovery_expression>
                                    <name>Replication from {HOST.NAME} to {#PARTNER} failed</name>
                                    <manual_close>YES</manual_close>
                                    <tags>
                                        <tag>
                                            <tag>Service</tag>
                                            <value>ActiveDirectory</value>
                                        </tag>
                                    </tags>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>ADReplication.Failure.FailureType.partner:{#PARTNER}</name>
                            <key>ADReplication[&quot;failure&quot;,{#PARTNER},FailureType]</key>
                            <delay>3m</delay>
                            <history>14d</history>
                            <value_type>FLOAT</value_type>
                            <description>Item shows the active directory replication failure type</description>
                            <applications>
                                <application>
                                    <name>ADReplication.Failure</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ActiveDirectory Template</name>
                            </valuemap>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>ADReplication.Failure.LastError.partner:{#PARTNER}</name>
                            <key>ADReplication[&quot;failure&quot;,{#PARTNER},LastError]</key>
                            <delay>3m</delay>
                            <history>14d</history>
                            <value_type>FLOAT</value_type>
                            <description>Item shows the active directory replication last error</description>
                            <applications>
                                <application>
                                    <name>ADReplication.Failure</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ActiveDirectory Template</name>
                            </valuemap>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>ADReplication.Failure.FirstFailureTime.partner:{#PARTNER}</name>
                            <key>ADReplication[&quot;firstfailuretime&quot;,{#PARTNER},FirstFailureTime]</key>
                            <delay>3m</delay>
                            <history>14d</history>
                            <trends>0</trends>
                            <value_type>LOG</value_type>
                            <description>Item shows the active directory replication parameter &quot;FirstFailureTime&quot;</description>
                            <applications>
                                <application>
                                    <name>ADReplication.Failure</name>
                                </application>
                            </applications>
                            <logtimefmt>dd-MM-yyyy HH:mm:ss</logtimefmt>
                            <request_method>POST</request_method>
                        </item_prototype>
                        <item_prototype>
                            <name>ADReplication.Partner.Metadata.LRAttempt.partner:{#PARTNER}</name>
                            <key>ADReplication[&quot;lastreplicationtime&quot;,{#PARTNER},LastReplicationAttempt]</key>
                            <delay>3m</delay>
                            <history>14d</history>
                            <trends>0</trends>
                            <value_type>LOG</value_type>
                            <description>Item shows the  last replication attempt time</description>
                            <applications>
                                <application>
                                    <name>ADReplication.PartnerMetadata</name>
                                </application>
                            </applications>
                            <logtimefmt>dd-MM-yyyy HH:mm:ss</logtimefmt>
                        </item_prototype>
                        <item_prototype>
                            <name>ADReplication.Partner.Metadata.LRSuccess.partner:{#PARTNER}</name>
                            <key>ADReplication[&quot;lastreplicationtime&quot;,{#PARTNER},LastReplicationSuccess]</key>
                            <delay>3m</delay>
                            <history>14d</history>
                            <trends>0</trends>
                            <value_type>LOG</value_type>
                            <description>Item shows the  last replication success time</description>
                            <applications>
                                <application>
                                    <name>ADReplication.PartnerMetadata</name>
                                </application>
                            </applications>
                            <logtimefmt>dd-MM-yyyy HH:mm:ss</logtimefmt>
                        </item_prototype>
                        <item_prototype>
                            <name>ADReplication.Partner.Metadata.CRF.partner:{#PARTNER}</name>
                            <key>ADReplication[&quot;value&quot;,{#PARTNER},ConsecutiveReplicationFailures]</key>
                            <delay>3m</delay>
                            <history>14d</history>
                            <trends>180d</trends>
                            <description>Item shows the consecutive replication failures</description>
                            <applications>
                                <application>
                                    <name>ADReplication.PartnerMetadata</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>ADReplication.Partner.Metadata.LRResult.partner:{#PARTNER}</name>
                            <key>ADReplication[&quot;value&quot;,{#PARTNER},LastReplicationResult]</key>
                            <delay>3m</delay>
                            <history>14d</history>
                            <trends>180d</trends>
                            <description>Item shows the last replication result</description>
                            <applications>
                                <application>
                                    <name>ADReplication.PartnerMetadata</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(#2)}&gt;0</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last(#2)}=0</recovery_expression>
                                    <name>AD Replication LastReplicationResult on the {HOST.NAME} from the {#PARTNER}</name>
                                    <priority>WARNING</priority>
                                    <description>Trigger reports about replication failure.</description>
                                    <manual_close>YES</manual_close>
                                    <tags>
                                        <tag>
                                            <tag>Service</tag>
                                            <value>ActiveDirectory</value>
                                        </tag>
                                    </tags>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=1127 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>1127: While accessing the hard disk, a disk operation failed even after retries.</name>
                            <url>https://support.microsoft.com/en-us/help/2025726</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=1256 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>1256: The remote system is not available.</name>
                            <url>https://support.microsoft.com/en-us/help/2200187</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=1396 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>1396: Logon Failure: The target account name is incorrect.</name>
                            <url>https://support.microsoft.com/en-us/help/2183411</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=1722 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>1722: The RPC server is unavailable</name>
                            <url>https://support.microsoft.com/en-us/help/2102154</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=1753 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>1753: There are no more endpoints available from the endpoint mapper.</name>
                            <url>https://support.microsoft.com/en-us/help/2089874</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=1818 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>1818: The remote procedure call was cancelled</name>
                            <url>https://support.microsoft.com/en-us/help/2694215</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=1908 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>1908: Could not find the domain controller for this domain.</name>
                            <url>https://support.microsoft.com/en-us/help/2712026</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8240 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8240: &quot;There is no such object on the server&quot;</name>
                            <url>https://support.microsoft.com/en-us/help/2680976</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8333 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8333: Directory Object Not Found</name>
                            <url>https://support.microsoft.com/en-us/help/2703708</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8418 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8418: The replication operation failed because of a schema mismatch between the servers involved.</name>
                            <url>https://support.microsoft.com/en-us/help/2734946</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8446 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8446: The replication operation failed to allocate memory</name>
                            <url>https://support.microsoft.com/en-us/help/2693500</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8451 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8451: The replication operation encountered a database error</name>
                            <url>https://support.microsoft.com/en-us/help/2645996</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8452 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8452: &quot;The naming context is in the process of being removed or is not replicated from the specified server.&quot;</name>
                            <url>https://support.microsoft.com/en-us/help/2023704</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8453 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8453: &quot;Replication access was denied&quot;</name>
                            <url>https://support.microsoft.com/en-us/help/2022387</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8456 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8456 or 8457: &quot;The source | destination server is currently rejecting replication requests&quot;</name>
                            <url>https://support.microsoft.com/en-us/help/2023007</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8457 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8456 or 8457: &quot;The source | destination server is currently rejecting replication requests&quot;</name>
                            <url>https://support.microsoft.com/en-us/help/2023007</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8464 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8464: Synchronization attempt failed</name>
                            <url>https://support.microsoft.com/en-us/help/3001248</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8477 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8477: The replication request has been posted; waiting for reply</name>
                            <url>https://support.microsoft.com/en-us/help/2758780</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8524 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8524: The DSA operation is unable to proceed because of a DNS lookup failure</name>
                            <url>https://support.microsoft.com/en-us/help/2021446</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8545 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8545: &quot;Replication update could not be applied&quot;</name>
                            <url>https://support.microsoft.com/en-us/help/3110029</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8589 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8589: The DS cannot derive a service principal name (SPN)</name>
                            <url>https://support.microsoft.com/en-us/help/2703028</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8606 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8606: &quot;Insufficient attributes were given to create an object&quot;</name>
                            <url>https://support.microsoft.com/en-us/help/2028495</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},LastError].last()}=8614 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;0 and {AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}&lt;&gt;-1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{AD Replication:ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount].last()}=0</recovery_expression>
                            <name>8614 The Active Directory cannot replicate with this server because the time since the last replication with this server has exceeded the tombstone lifetime</name>
                            <url>https://support.microsoft.com/en-us/help/2020053</url>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <tags>
                                <tag>
                                    <tag>Service</tag>
                                    <value>ActiveDirectory</value>
                                </tag>
                            </tags>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>ADReplication.from {HOST.NAME} to {#PARTNER}.Metadata.CRF Graph</name>
                            <graph_items>
                                <graph_item>
                                    <color>199C0D</color>
                                    <item>
                                        <host>AD Replication</host>
                                        <key>ADReplication[&quot;value&quot;,{#PARTNER},ConsecutiveReplicationFailures]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>AD Replication failure count from {HOST.NAME} to {#PARTNER}</name>
                            <graph_items>
                                <graph_item>
                                    <color>199C0D</color>
                                    <item>
                                        <host>AD Replication</host>
                                        <key>ADReplication[&quot;failure&quot;,{#PARTNER},FailureCount]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>AD Replication last replication result from {HOST.NAME} to {#PARTNER}</name>
                            <graph_items>
                                <graph_item>
                                    <color>199C0D</color>
                                    <item>
                                        <host>AD Replication</host>
                                        <key>ADReplication[&quot;value&quot;,{#PARTNER},LastReplicationResult]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <request_method>POST</request_method>
                </discovery_rule>
            </discovery_rules>
        </template>
        <template>
            <template>App MSSQL DB Discovery</template>
            <name>App MSSQL DB Discovery</name>
            <groups>
                <group>
                    <name>Templates/Databases</name>
                </group>
                <group>
                    <name>Windows Servers</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>SQL Databases</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>MS SQL DB Discovery</name>
                    <key>windowsdb.discovery</key>
                    <delay>300</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#DBS}</macro>
                                <value>@MS SQL System DBs</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovers databases within a single instance specified in a Powershell script.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Active Transactions</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Active Transactions&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <description>Number of active transactions for the database.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Bulk Copy Rows/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Bulk Copy Rows/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <description>Number of rows bulk copied per second.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Bulk Copy Throughput/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Bulk Copy Throughput/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>KBytes/sec</units>
                            <description>Amount of data bulk copied (in kilobytes) per second.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Commit Table Entries</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Commit Table Entries&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <description>The size of the in-memory portion of the commit table for the database.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Data File(s) Size (KB)</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Data File(s) Size (KB)&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>KBytes</units>
                            <description>Cumulative size (in kilobytes) of all the data files in the database including any automatic growth. Monitoring this counter is useful, for example, for determining the correct size of tempdb.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} DBCC Logical Scan Bytes/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\DBCC Logical Scan Bytes/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>Bytes/sec</units>
                            <description>Number of logical read scan bytes per second for database console commands (DBCC).</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Group Commit Time/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Group Commit Time/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Bytes Flushed/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Bytes Flushed/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>Bytes/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Cache Hit Ratio</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Cache Hit Ratio&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <description>Percentage of log cache reads satisfied from the log cache.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Cache Reads/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Cache Reads/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <description>Reads performed per second through the log manager cache.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log File(s) Size (KB)</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log File(s) Size (KB)&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>KBytes</units>
                            <description>Cumulative size (in kilobytes) of all the transaction log files in the database.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log File(s) Used Size (KB)</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log File(s) Used Size (KB)&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>KBytes</units>
                            <description>The cumulative used size of all the log files in the database.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Flushes/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Flushes/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <description>Number of log flushes per second.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Flush Waits/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Flush Waits/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <description>Number of commits per second waiting for the log flush.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(600)}&gt;0.1</expression>
                                    <name>{#DBS} Log Flush Waits/sec</name>
                                    <priority>WARNING</priority>
                                    <description>The number of times per second that SQL Server must wait for pages to be written to the transaction log.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Flush Wait Time</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Flush Wait Time&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>millisec</units>
                            <description>Total wait time (in milliseconds) to flush the log. On an AlwaysOn secondary database, this value indicates the wait time for log records to be hardened to disk.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(600)}&gt;0.1</expression>
                                    <name>{#DBS} Log Flush Wait Time</name>
                                    <priority>WARNING</priority>
                                    <description>Total wait time, in milliseconds, to write all transaction log pages.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Flush Write Time (ms)</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Flush Write Time (ms)&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>millisec</units>
                            <description>Time in milliseconds for performing writes of log flushes that were completed in the last second.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Growths</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Growths&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <description>Total number of times the transaction log for the database has been expanded.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(600)}&gt;0.1</expression>
                                    <name>{#DBS} Log Growths</name>
                                    <priority>WARNING</priority>
                                    <description>Total number of times the transaction log for the database has been expanded. Each time the transaction log grows, all user activity must halt until the log growth completes. Therefore, you want log growths to occur during predefined maintenance windows rather than during general working hours</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Pool Cache Misses/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Pool Cache Misses/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <description>Number of requests for which the log block was not available in the log pool. The log pool is an in-memory cache of the transaction log. This cache is used to optimize reading the log for recovery, transaction replication, rollback, and AlwaysOn Availability Groups.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Pool Disk Reads/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Pool Disk Reads/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <description>Number of disk reads that the log pool issued to fetch log blocks.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Pool Requests/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Pool Requests/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <description>The number of log-block requests processed by the log pool.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Shrinks</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Shrinks&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <description>Total number of times the transaction log for the database has been shrunk.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(600)}&gt;0.1</expression>
                                    <name>{#DBS} Log Shrinks</name>
                                    <priority>WARNING</priority>
                                    <description>Total number of times the transaction log for the database has been shrunk.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Log Truncations</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Truncations&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <description>The number of times the transaction log has been shrunk.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Percent Log Used</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Percent Log Used&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>Percentage of space in the log that is in use.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;80</expression>
                                    <name>{#DBS} Percent Log Used</name>
                                    <priority>WARNING</priority>
                                    <description>Percentage of space in the log that is in use. Since all work in an OLTP database stops until writes can occur to the transaction log, it’s a very good idea to ensure that the log never fills completely. Hence, the recommendation to keep the log under 80% full.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Repl. Pending Xacts</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Repl. Pending Xacts&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <description>Number of transactions in the transaction log of the publication database marked for replication, but not yet delivered to the distribution database.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Repl. Trans. Rate</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Repl. Trans. Rate&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <description>Number of transactions per second read out of the transaction log of the publication database and delivered to the distribution database.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Shrink Data Movement Bytes/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Shrink Data Movement Bytes/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>Bytes/sec</units>
                            <description>Amount of data being moved per second by autoshrink operations, or DBCC SHRINKDATABASE or DBCC SHRINKFILE statements.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Tracked transactions/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Tracked transactions/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <description>Number of committed transactions recorded in the commit table for the database.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Transactions/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Transactions/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <description>Number of transactions started for the database per second.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{$INSTANCE01} Databases {#DBS} Write Transactions/sec</name>
                            <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Write Transactions/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <description>Number of transactions that wrote to the database and committed, in the last second.</description>
                            <applications>
                                <application>
                                    <name>SQL Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Database {#DBS} Bulk Copies</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Bulk Copy Rows/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Bulk Copy Throughput/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>Database {#DBS} File Sizes (KB)</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Data File(s) Size (KB)&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log File(s) Size (KB)&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>0000C8</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log File(s) Used Size (KB)&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>Database {#DBS} Log Pool Rates</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Pool Cache Misses/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Pool Disk Reads/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>0000C8</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Pool Requests/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>Database {#DBS} Log Rates</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Bytes Flushed/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Cache Reads/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>0000C8</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Flushes/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>C800C8</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Flush Waits/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>Database {#DBS} Log Sizes</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Growths&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Shrinks&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>0000C8</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Truncations&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>C800C8</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Percent Log Used&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>Database {#DBS} Log Times and Ratios</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Cache Hit Ratio&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Flush Wait Time&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>0000C8</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Log Flush Write Time (ms)&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>Database {#DBS} Replication</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Repl. Pending Xacts&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Repl. Trans. Rate&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>Database {#DBS} Transactions</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Active Transactions&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Tracked transactions/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>0000C8</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Transactions/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>C800C8</color>
                                    <item>
                                        <host>App MSSQL DB Discovery</host>
                                        <key>perf_counter[&quot;\{$INSTANCE01}:Databases({#DBS})\Write Transactions/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$INSTANCE01}</macro>
                    <value>SQLServer</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>App MSSQL Instance Discovery</template>
            <name>App MSSQL Instance Discovery</name>
            <groups>
                <group>
                    <name>Templates</name>
                </group>
                <group>
                    <name>Templates/Databases</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>SQL Server Access Methods</name>
                </application>
                <application>
                    <name>SQL Server Buffer Manager</name>
                </application>
                <application>
                    <name>SQL Server Databases</name>
                </application>
                <application>
                    <name>SQL Server General Statistics</name>
                </application>
                <application>
                    <name>SQL Server Latches</name>
                </application>
                <application>
                    <name>SQL Server Locks</name>
                </application>
                <application>
                    <name>SQL Server Memory Manager</name>
                </application>
                <application>
                    <name>SQL Server SQL Statistics</name>
                </application>
                <application>
                    <name>SQL Services</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>MSSQL Multi Instance Discovery</name>
                    <key>windowssqlinstances.discovery</key>
                    <delay>300</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#INSTANCES}</macro>
                                <value>@MSSQL Multi Instance Discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovers multiple SQL Server Instances</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#INSTANCES} Access Methods Forwarded Records/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Access Methods\Forwarded Records/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Access Methods</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Access Methods Full Scans/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Access Methods\Full Scans/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Access Methods</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Access Methods Index Searches/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Access Methods\Index Searches/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Access Methods</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Access Methods Page Splits/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Access Methods\Page Splits/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Access Methods</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Access Methods Table Lock Escalations</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Access Methods\Table Lock Escalations/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <applications>
                                <application>
                                    <name>SQL Server Access Methods</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Buffer Manager Buffer cache hit ratio</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Buffer cache hit ratio&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <applications>
                                <application>
                                    <name>SQL Server Buffer Manager</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&lt;90</expression>
                                    <name>{#INSTANCES}:Buffer Manager Buffer cache hit ratio</name>
                                    <url>https://msdn.microsoft.com/en-us/ms189628</url>
                                    <priority>WARNING</priority>
                                    <description>This counter indicates how often SQL Server goes to the buffer, not the hard disk, to get data. The higher this ratio, the less often SQL Server has to go to the hard disk to fetch data, and performance overall is boosted. Unlike many of the other counters available for monitoring SQL Server, this counter averages the Buffer Cache Hit Ratio from the time the last instance of SQL Server was restarted. In other words, this counter is not a real-time measurement, but an average of all the days since SQL Server was last restarted. In OLTP applications, this ratio should exceed 90-95%. If it doesn't, then you need to add more RAM to your server to increase performance. In OLAP applications, the ratio could be much less because of the nature of how OLAP works. In any case, more RAM should increase the performance of SQL Server OLAP activity.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Buffer Manager Free list stalls/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Free list stalls/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Buffer Manager</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;3</expression>
                                    <name>{#INSTANCES}:Buffer Manager Free list stalls/sec</name>
                                    <url>https://msdn.microsoft.com/en-us/ms189628</url>
                                    <priority>WARNING</priority>
                                    <description>Free list stalls/sec is the frequency with which requests for available database pages are suspended because no buffers are available. Free list stall rates of 3 or 4 per second indicate too little SQL memory available.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Buffer Manager Lazy Writes/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Lazy Writes/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Buffer Manager</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;20</expression>
                                    <name>{#INSTANCES}:Buffer Manager Lazy Writes/Sec</name>
                                    <url>https://msdn.microsoft.com/en-us/ms189628</url>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Buffer Manager Page Life Expectancy</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Page Life Expectancy&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Buffer Manager</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&lt;300</expression>
                                    <name>{#INSTANCES}:Buffer Manager Page Life Expectancy</name>
                                    <url>https://msdn.microsoft.com/en-us/ms189628</url>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Buffer Manager Page lookups/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Page lookups/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Buffer Manager</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;100</expression>
                                    <name>{#INSTANCES}:Buffer Manager Page lookups/sec</name>
                                    <url>https://msdn.microsoft.com/en-us/ms189628</url>
                                    <priority>WARNING</priority>
                                    <description>Number of requests to find a page in the buffer pool. When the ratio of page lookups to batch requests is much greater than 100, this is an indication that while query plans are looking up data in the buffer pool, these plans are inefficient. Identify queries with the highest amount of logical I/O's and tune them.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Buffer Manager Page reads/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Page reads/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Buffer Manager</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;90</expression>
                                    <name>{#INSTANCES}:Buffer Manager Page reads/sec</name>
                                    <url>https://msdn.microsoft.com/en-us/ms189628</url>
                                    <priority>WARNING</priority>
                                    <description>Number of physical database page reads issued. 80 – 90 per second is normal, anything that is above indicates indexing or memory constraint.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Buffer Manager Page writes/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Page writes/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Buffer Manager</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;90</expression>
                                    <name>{#INSTANCES}:Buffer Manager Page writes/sec</name>
                                    <url>https://msdn.microsoft.com/en-us/ms189628</url>
                                    <priority>WARNING</priority>
                                    <description>Number of physical database page reads issued. 80 – 90 per second is normal, anything that is above indicates indexing or memory constraint.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Databases _Total Log Flushes/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Databases(_Total)\Log Flushes/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Databases _Total Transactions/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Databases(_Total)\Transactions/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Databases</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} General Statistics Logins/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:General Statistics\Logins/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server General Statistics</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;2</expression>
                                    <name>{#INSTANCES}:General Statistics Logins/sec</name>
                                    <url>https://msdn.microsoft.com/en-us/ms190697</url>
                                    <priority>WARNING</priority>
                                    <description>&gt; 2 per second indicates that the application is not correctly using connection pooling.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} General Statistics Logouts/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:General Statistics\Logouts/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server General Statistics</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;2</expression>
                                    <name>{#INSTANCES}:General Statistics Logouts/sec</name>
                                    <url>https://msdn.microsoft.com/en-us/ms190697</url>
                                    <priority>WARNING</priority>
                                    <description>&gt; 2 per second indicates that the application is not correctly using connection pooling.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} General Statistics User Connections</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:General Statistics\User Connections&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <applications>
                                <application>
                                    <name>SQL Server General Statistics</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Latches Latch Waits/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Latches\Latch Waits/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Latches</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Latches Total Latch Wait Time (ms)</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Latches\Total Latch Wait Time (ms)&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>millisec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Latches</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;60000</expression>
                                    <name>{#INSTANCES}:Latches Total Latch Wait Time (ms)</name>
                                    <url>https://msdn.microsoft.com/en-us/ms190216</url>
                                    <priority>WARNING</priority>
                                    <description>Total wait time (milliseconds) for locks in the last second. Note: For “Lock Wait Time” it is recommended to look beyond the Avg value. Look for any peaks that are close (or exceeds) to a wait of 60 sec. Though this counter counts how many total milliseconds SQL Server is waiting on locks during the last second, but the counter actually records at the end of locking event. So most probably the peaks represent one huge locking event. If those events exceeds more than 60seconds then they may have extended blocking and could be an issue. In such cases, thoroughly analyze the blocking script output. Some applications are written for timing out after 60 seconds and that’s not acceptable response for those applications.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Locks _Total Lock Waits/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Locks(_Total)\Lock Waits/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Locks</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;0</expression>
                                    <name>{#INSTANCES}:Locks _Total Lock Waits/sec</name>
                                    <url>https://msdn.microsoft.com/en-us/ms190216</url>
                                    <priority>WARNING</priority>
                                    <description>This counter reports how many times users waited to acquire a lock over the past second. Note that while you are actually waiting on the lock that this is not reflected in this counter—it gets incremented only when you “wake up” after waiting on the lock. If this value is nonzero then it is an indication that there is at least some level of blocking occurring. If you combine this with the Lock Wait Time counter, you can get some idea of how long the blocking lasted. A zero value for this counter can definitively prove out blocking as a potential cause; a nonzero value will require looking at other information to determine whether it is significant.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Locks _Total Number of Deadlocks/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Locks(_Total)\Number of Deadlocks/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server Locks</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;1</expression>
                                    <name>{#INSTANCES}:Locks_Total Number of Deadlocks/sec</name>
                                    <url>https://msdn.microsoft.com/en-us/ms190216</url>
                                    <priority>WARNING</priority>
                                    <description>The number of lock requests that resulted in a deadlock.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Memory Manager Total Server Memory (KB)</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:Memory Manager\Total Server Memory (KB)&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>KBytes</units>
                            <applications>
                                <application>
                                    <name>SQL Server Memory Manager</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} SQL Statistics Batch Requests/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:SQL Statistics\Batch Requests/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server SQL Statistics</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} SQL Statistics SQL Compilations/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:SQL Statistics\SQL Compilations/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server SQL Statistics</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} SQL Statistics SQL Re-Compilations/sec</name>
                            <key>perf_counter[&quot;\{#INSTANCES}:SQL Statistics\SQL Re-Compilations/sec&quot;,300]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <units>/sec</units>
                            <applications>
                                <application>
                                    <name>SQL Server SQL Statistics</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#INSTANCES} Service</name>
                            <key>service_state[{#INSTANCES}]</key>
                            <delay>30</delay>
                            <value_type>FLOAT</value_type>
                            <applications>
                                <application>
                                    <name>SQL Services</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>Windows service state</name>
                            </valuemap>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:Access Methods\Forwarded Records/sec&quot;,300].last()}&gt;0.1*{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:SQL Statistics\Batch Requests/sec&quot;,300].last()}</expression>
                            <name>{#INSTANCES}:Access Methods Forwarded Records/sec</name>
                            <url>https://msdn.microsoft.com/en-us/ms177426</url>
                            <priority>WARNING</priority>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:Access Methods\Index Searches/sec&quot;,300].last()}/{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:Access Methods\Full Scans/sec&quot;,300].last()}&gt;1000</expression>
                            <name>{#INSTANCES}:Access Methods Full Scans/sec</name>
                            <url>https://msdn.microsoft.com/en-us/ms177426</url>
                            <priority>WARNING</priority>
                            <description>This counter monitors the number of full scans on base tables or indexes. Values greater than 1 or 2 indicate that we are having table / Index page scans. If we see high CPU then we need to investigate this counter, otherwise if the full scans are on small tables we can ignore this counter. A few of the main causes of high Full Scans/sec are • Missing indexes • Too many rows requested Queries with missing indexes or too many rows requested will have a large number of logical reads and an increased CPU time.</description>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:Access Methods\Page Splits/sec&quot;,300].last()}&gt;0.2*{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:SQL Statistics\Batch Requests/sec&quot;,300].last()}</expression>
                            <name>{#INSTANCES}:Access Methods Page Splits/sec</name>
                            <url>https://msdn.microsoft.com/en-us/ms177426</url>
                            <priority>WARNING</priority>
                            <description>Number of page splits per second that occur as the result of overflowing index pages. Interesting counter that can lead us to our table / index design. This value needs to be low as possible. If you find out that the number of page splits is high, consider increasing the fillfactor of your indexes. An increased fillfactor helps to reduce page splits because there is more room in data pages before it fills up and a page split has to occur. Note that this counter also includes the new page allocations as well and doesn’t necessarily pose a problem. The other place we can confirm the page splits that involve data or index rows moves are the fragmented indexes on page splits.</description>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:Latches\Total Latch Wait Time (ms)&quot;,300].last()}/{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:Latches\Latch Waits/sec&quot;,300].last()}&gt;10</expression>
                            <name>{#INSTANCES}:Latches\Latch Waits/sec</name>
                            <url>https://msdn.microsoft.com/en-us/ms177421</url>
                            <priority>WARNING</priority>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:SQL Statistics\SQL Compilations/sec&quot;,300].last()}&gt;0.1*{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:SQL Statistics\Batch Requests/sec&quot;,300].last()}</expression>
                            <name>{#INSTANCES}:SQL Statistics SQL Compilations/sec</name>
                            <url>https://msdn.microsoft.com/en-us/ms190911</url>
                            <priority>WARNING</priority>
                            <description>The number of times per second that SQL Server compilations have occurred. This value needs to be as low as possible. If you see a high value such as over 100, then it’s an indication that there are lots of adhoc queries that are running, might cause CPU usage, solution is to re-write these adhoc as stored procedure or use sp_executeSQL.</description>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:SQL Statistics\SQL Re-Compilations/sec&quot;,300].last()}&gt;0.1*{App MSSQL Instance Discovery:perf_counter[&quot;\{#INSTANCES}:SQL Statistics\Batch Requests/sec&quot;,300].last()}</expression>
                            <name>{#INSTANCES}:SQL Statistics SQL Re-Compilations/sec</name>
                            <url>https://msdn.microsoft.com/en-us/ms190911</url>
                            <priority>WARNING</priority>
                            <description>The number of times per second that SQL Server recompilations have occurred. This value needs to be as low as possible. If you see a high value such as over 100, then it’s an indication that there are lots of adhoc queries that are running, might cause CPU usage, solution is to re-write these adhoc as stored procedure or use sp_executeSQL.</description>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#INSTANCES} Access Methods</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Access Methods\Forwarded Records/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Access Methods\Full Scans/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>0000C8</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Access Methods\Index Searches/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>C800C8</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Access Methods\Page Splits/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#INSTANCES} Buffer Manager</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Buffer cache hit ratio&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Page Life Expectancy&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#INSTANCES} Buffer Manager Rates</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Free list stalls/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Lazy Writes/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>0000C8</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Page lookups/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>C800C8</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Page reads/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>00C8C8</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Buffer Manager\Page writes/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#INSTANCES} Databases _Total</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Databases(_Total)\Log Flushes/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Databases(_Total)\Transactions/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#INSTANCES} Latches and Locks</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Latches\Latch Waits/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Locks(_Total)\Lock Waits/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>0000C8</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:Locks(_Total)\Number of Deadlocks/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#INSTANCES} SQL Statistics</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:SQL Statistics\Batch Requests/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>FF3333</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:SQL Statistics\SQL Compilations/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>0000C8</color>
                                    <item>
                                        <host>App MSSQL Instance Discovery</host>
                                        <key>perf_counter[&quot;\{#INSTANCES}:SQL Statistics\SQL Re-Compilations/sec&quot;,300]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
        </template>
        <template>
            <template>Cisco Device SnmpV3</template>
            <name>Cisco Device SnmpV3</name>
            <description>Designed By Morteza Hanasavi&#13;
email : morteza.hanasavi@gmail.com</description>
            <groups>
                <group>
                    <name>cisco</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>MEMORY-POOL-MIB</name>
                </application>
                <application>
                    <name>Network Interfaces</name>
                </application>
                <application>
                    <name>Power Supply</name>
                </application>
                <application>
                    <name>Status</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>ICMP ping</name>
                    <type>SIMPLE</type>
                    <key>icmpping</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>Unavailable by ICMP ping</name>
                            <priority>HIGH</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
Last three attempts returned timeout.  Please check device connectivity.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>ICMP loss</name>
                    <type>SIMPLE</type>
                    <key>icmppingloss</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$ICMP_LOSS_WARN} and {min(5m)}&lt;100</expression>
                            <name>High ICMP ping loss</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.</description>
                            <dependencies>
                                <dependency>
                                    <name>Unavailable by ICMP ping</name>
                                    <expression>{Cisco Device SnmpV3:icmpping.max(#3)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>ICMP response time</name>
                    <type>SIMPLE</type>
                    <key>icmppingsec</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;{$ICMP_RESPONSE_TIME_WARN}</expression>
                            <name>High ICMP ping response time</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.</description>
                            <dependencies>
                                <dependency>
                                    <name>High ICMP ping loss</name>
                                    <expression>{Cisco Device SnmpV3:icmppingloss.min(5m)}&gt;{$ICMP_LOSS_WARN} and {Cisco Device SnmpV3:icmppingloss.min(5m)}&lt;100</expression>
                                </dependency>
                                <dependency>
                                    <name>Unavailable by ICMP ping</name>
                                    <expression>{Cisco Device SnmpV3:icmpping.max(#3)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>SNMP traps (fallback)</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap.fallback</key>
                    <delay>0</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Item is used to collect all SNMP traps unmatched by other snmptrap items</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <logtimefmt>hh:mm:sszyyyy/MM/dd</logtimefmt>
                </item>
                <item>
                    <name>Device description</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.descr</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <inventory_link>HARDWARE</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.13.1</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.11.1</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
Device serial number has changed. Ack to close</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Device location</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.6.0</snmp_oid>
                    <key>system.location</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>The physical location of this node (e.g., `telephone closet, 3rd floor').  If the location is unknown, the value is the zero-length string.</description>
                    <inventory_link>LOCATION</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.5.0</snmp_oid>
                    <key>system.name</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System object ID</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.2.0</snmp_oid>
                    <key>system.objectid</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.sw.os</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Version (.+), RELEASE
\1</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Device uptime</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.3.0</snmp_oid>
                    <key>system.uptime[sysUpTime]</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <units>uptime</units>
                    <description>The time (in hundredths of a second) since the network management portion of the system was last re-initialized.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.01</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>{HOST.NAME} has been restarted</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
The device uptime is less than 10 minutes</description>
                            <dependencies>
                                <dependency>
                                    <name>No SNMP data collection</name>
                                    <expression>{Cisco Device SnmpV3:zabbix[host,snmp,available].max({$SNMP_TIMEOUT})}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>SNMP availability</name>
                    <type>INTERNAL</type>
                    <key>zabbix[host,snmp,available]</key>
                    <history>2w</history>
                    <trends>0d</trends>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>zabbix.host.available</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max({$SNMP_TIMEOUT})}=0</expression>
                            <name>No SNMP data collection</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
SNMP is not available for polling. Please check device connectivity and SNMP settings.</description>
                            <dependencies>
                                <dependency>
                                    <name>Unavailable by ICMP ping</name>
                                    <expression>{Cisco Device SnmpV3:icmpping.max(#3)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>CPU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.9.9.109.1.1.1.1.5]</snmp_oid>
                    <key>cpu.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: CPU utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.109.1.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>system.cpu.util[cpmCPUTotal5min.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$CPU_UTIL_MAX}</expression>
                                    <name>{#SNMPVALUE}: 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>{#SNMPVALUE}: 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>Cisco Device SnmpV3</host>
                                        <key>system.cpu.util[cpmCPUTotal5min.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Entity Serial Numbers 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,{#ENT_SN},1.3.6.1.2.1.47.1.1.1.1.11]</snmp_oid>
                    <key>entity_sn.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <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>
                            <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}.&#13;
Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SENSOR_INFO},1.3.6.1.4.1.9.9.13.1.4.1.2]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.4.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-ENVMON-MIB::CiscoEnvMonState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS:&quot;critical&quot;},eq)}=1 or {count(#1,{$FAN_CRIT_STATUS:&quot;shutdown&quot;},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Fan is in critical state</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_WARN_STATUS:&quot;warning&quot;},eq)}=1 or {count(#1,{$FAN_WARN_STATUS:&quot;notFunctioning&quot;},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Fan is in warning state</name>
                                    <priority>WARNING</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.&#13;
Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Memory Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.9.9.48.1.1.1.2]</snmp_oid>
                    <key>memory.discovery</key>
                    <delay>1h</delay>
                    <description>Discovery of ciscoMemoryPoolTable, a table of memory pool monitoring entries.&#13;
http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Available memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.48.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <units>B</units>
                            <description>MIB: CISCO-MEMORY-POOL-MIB&#13;
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&#13;
Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html</description>
                            <applications>
                                <application>
                                    <name>MEMORY-POOL-MIB</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Memory utilization</name>
                            <type>CALCULATED</type>
                            <key>vm.memory.pused[vm.memory.pused.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <params>(last(vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}])/(last(vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}])+last(vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}])))*100</params>
                            <description>Memory utilization in %</description>
                            <applications>
                                <application>
                                    <name>MEMORY-POOL-MIB</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$MEMORY_UTIL_MAX}</expression>
                                    <name>{#SNMPVALUE}: High memory utilization</name>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Used memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.48.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <units>B</units>
                            <description>MIB: CISCO-MEMORY-POOL-MIB&#13;
Indicates the number of bytes from the memory pool that are currently in use by applications on the managed device.&#13;
Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html</description>
                            <applications>
                                <application>
                                    <name>MEMORY-POOL-MIB</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#SNMPVALUE}: 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>Cisco Device SnmpV3</host>
                                        <key>vm.memory.pused[vm.memory.pused.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Network Interfaces Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3]</snmp_oid>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <description>Discovering interfaces from IF-MIB. Interfaces are not discovered:&#13;
- with down(2) Administrative status&#13;
- with notPresent(6) Operational status&#13;
- loopbacks</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <description>MIB: IF-MIB&#13;
The number of inbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits received</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in[ifHCInOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets received on the interface,including framing characters.  This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <description>MIB: IF-MIB&#13;
The number of outbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits sent</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out[ifHCOutOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets transmitted out of the interface, including framing characters.  This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.speed[ifHighSpeed.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
An estimate of the interface's current bandwidth in units of 1,000,000 bits per second.  If this object reports a value of `n' then the speed of the interface is somewhere in the range of `n-500,000' to`n+499,999'.  For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth.  For a sub-layer which has no concept of bandwidth, this object should be zero.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1000000</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Operational status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.status[ifOperStatus.{#SNMPINDEX}]</key>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: IF-MIB&#13;
The current operational state of the interface.&#13;
- The testing(3) state indicates that no operational packet scan be passed&#13;
- If ifAdminStatus is down(2) then ifOperStatus should be down(2)&#13;
- If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic&#13;
- It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)&#13;
- It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state&#13;
- It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IF-MIB::ifOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.&#13;
Interface is down</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Interface type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.type[ifType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: IF-MIB&#13;
The type of interface.&#13;
Additional values for ifType are assigned by the Internet Assigned NumbersAuthority (IANA),&#13;
through updating the syntax of the IANAifType textual convention.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IF-MIB::ifType</name>
                            </valuemap>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Cisco Device SnmpV3:net.if.speed[ifHighSpeed.{#SNMPINDEX}].change()}&lt;0 and {Cisco Device SnmpV3:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0&#13;
and (&#13;
{Cisco Device SnmpV3:net.if.type[ifType.{#SNMPINDEX}].last()}=6 or&#13;
{Cisco Device SnmpV3:net.if.type[ifType.{#SNMPINDEX}].last()}=7 or&#13;
{Cisco Device SnmpV3:net.if.type[ifType.{#SNMPINDEX}].last()}=11 or&#13;
{Cisco Device SnmpV3:net.if.type[ifType.{#SNMPINDEX}].last()}=62 or&#13;
{Cisco Device SnmpV3:net.if.type[ifType.{#SNMPINDEX}].last()}=69 or&#13;
{Cisco Device SnmpV3:net.if.type[ifType.{#SNMPINDEX}].last()}=117&#13;
)&#13;
and&#13;
({Cisco Device SnmpV3:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Cisco Device SnmpV3:net.if.speed[ifHighSpeed.{#SNMPINDEX}].change()}&gt;0 and {Cisco Device SnmpV3:net.if.speed[ifHighSpeed.{#SNMPINDEX}].prev()}&gt;0) or&#13;
({Cisco Device SnmpV3:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2)</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before</name>
                            <priority>INFO</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Cisco Device SnmpV3:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Cisco Device SnmpV3:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Cisco Device SnmpV3:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>({Cisco Device SnmpV3:net.if.in[ifHCInOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF_UTIL_MAX:&quot;{#IFNAME}&quot;}/100)*{Cisco Device SnmpV3:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()} or&#13;
{Cisco Device SnmpV3:net.if.out[ifHCOutOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF_UTIL_MAX:&quot;{#IFNAME}&quot;}/100)*{Cisco Device SnmpV3:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}) and&#13;
{Cisco Device SnmpV3:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Cisco Device SnmpV3:net.if.in[ifHCInOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF_UTIL_MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Cisco Device SnmpV3:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()} and&#13;
{Cisco Device SnmpV3:net.if.out[ifHCOutOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF_UTIL_MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Cisco Device SnmpV3:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High bandwidth usage &gt;{$IF_UTIL_MAX:&quot;{#IFNAME}&quot;}%</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Cisco Device SnmpV3:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Cisco Device SnmpV3:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Cisco Device SnmpV3:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Cisco Device SnmpV3:net.if.in.errors[ifInErrors.{#SNMPINDEX}].avg(5m)}&gt;{$IF_ERRORS_WARN:&quot;{#IFNAME}&quot;}&#13;
or {Cisco Device SnmpV3:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].avg(5m)}&gt;{$IF_ERRORS_WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Cisco Device SnmpV3:net.if.in.errors[ifInErrors.{#SNMPINDEX}].avg(5m)}&lt;{$IF_ERRORS_WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Cisco Device SnmpV3:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].avg(5m)}&lt;{$IF_ERRORS_WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High error rate</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
Recovers when below 80% of {$IF_ERRORS_WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Cisco Device SnmpV3:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Cisco Device SnmpV3:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Cisco Device SnmpV3:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Cisco Device SnmpV3</host>
                                        <key>net.if.in[ifHCInOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>F63100</color>
                                    <item>
                                        <host>Cisco Device SnmpV3</host>
                                        <key>net.if.out[ifHCOutOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>2774A4</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Cisco Device SnmpV3</host>
                                        <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Cisco Device SnmpV3</host>
                                        <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Cisco Device SnmpV3</host>
                                        <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Cisco Device SnmpV3</host>
                                        <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>6</sortorder>
                                    <color>AC8C14</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Cisco Device SnmpV3</host>
                                        <key>net.if.speed[ifHighSpeed.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>EtherLike-MIB Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.10.7.2.1.19,{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2]</snmp_oid>
                    <key>net.if.duplex.discovery</key>
                    <delay>1h</delay>
                    <description>Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with up(1) Operational Status are discovered.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Duplex status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.10.7.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: EtherLike-MIB&#13;
The current mode of operation of the MAC&#13;
entity.  'unknown' indicates that the current&#13;
duplex mode could not be determined.&#13;
&#13;
Management control of the duplex mode is&#13;
accomplished through the MAU MIB.  When&#13;
an interface does not support autonegotiation,&#13;
or when autonegotiation is not enabled, the&#13;
duplex mode is controlled using&#13;
ifMauDefaultType.  When autonegotiation is&#13;
supported and enabled, duplex mode is controlled&#13;
using ifMauAutoNegAdvertisedBits.  In either&#13;
case, the currently operating duplex mode is&#13;
reflected both in this object and in ifMauType.&#13;
&#13;
Note that this object provides redundant&#13;
information with ifMauType.  Normally, redundant&#13;
objects are discouraged.  However, in this&#13;
instance, it allows a management application to&#13;
determine the duplex status of an interface&#13;
without having to know every possible value of&#13;
ifMauType.  This was felt to be sufficiently&#13;
valuable to justify the redundancy.&#13;
Reference: [IEEE 802.3 Std.], 30.3.1.1.32,aDuplexStatus.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>EtherLike-MIB::dot3StatsDuplexStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): In half-duplex mode</name>
                                    <priority>WARNING</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.&#13;
Please check autonegotiation settings and cabling</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SENSOR_INFO},1.3.6.1.4.1.9.9.13.1.5.1.2]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.5.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0s</trends>
                            <description>MIB: CISCO-ENVMON-MIB</description>
                            <applications>
                                <application>
                                    <name>Power Supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-ENVMON-MIB::CiscoEnvMonState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS:&quot;critical&quot;},eq)}=1 or {count(#1,{$PSU_CRIT_STATUS:&quot;shutdown&quot;},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Power supply is in critical state</name>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.&#13;
Please check the power supply unit for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_WARN_STATUS:&quot;warning&quot;},eq)}=1 or {count(#1,{$PSU_WARN_STATUS:&quot;notFunctioning&quot;},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Power supply is in warning state</name>
                                    <priority>WARNING</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.&#13;
Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.9.9.13.1.3.1.2]</snmp_oid>
                    <key>temperature.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Temperature status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.3.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: CISCO-ENVMON-MIB&#13;
The current state of the test point being instrumented.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-ENVMON-MIB::CiscoEnvMonState</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.3.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CISCO-ENVMON-MIB&#13;
The current measurement of the test point being instrumented.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <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>{#SNMPVALUE}: 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>{Cisco Device SnmpV3:sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}&#13;
or&#13;
{Cisco Device SnmpV3:sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}].last()}={$TEMP_CRIT_STATUS}&#13;
or&#13;
{Cisco Device SnmpV3:sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}].last()}={$TEMP_DISASTER_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Cisco Device SnmpV3:sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                            <name>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                            <priority>HIGH</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Cisco Device SnmpV3:sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}&#13;
or&#13;
{Cisco Device SnmpV3:sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}].last()}={$TEMP_WARN_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Cisco Device SnmpV3:sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                            <name>{#SNMPVALUE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                        </trigger_prototype>
                    </trigger_prototypes>
                </discovery_rule>
            </discovery_rules>
        </template>
        <template>
            <template>Dahua Video Camera</template>
            <name>Dahua Video Camera</name>
            <description>A simple template based on official Dahua MIB (DAHUA-SNMP-MIB 2014-01-07)</description>
            <groups>
                <group>
                    <name>Video cameras</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>General</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Dahua - CPU Usage</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1004849.2.1.3.0</snmp_oid>
                    <key>cpuUsage.0</key>
                    <delay>30s</delay>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Dahua - Device CLASS</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.1004849.2.1.2.7.0</snmp_oid>
                    <key>deviceClass.0</key>
                    <delay>8h</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Dahua - Device TYPE</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.1004849.2.1.2.6.0</snmp_oid>
                    <key>deviceType.0</key>
                    <delay>8h</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Dahua - IP Adress</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.1004849.2.2.2.8.0</snmp_oid>
                    <key>ipAddr.0</key>
                    <delay>8h</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Dahua - MAC Adress</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.1004849.2.2.2.2.0</snmp_oid>
                    <key>macAddr.0</key>
                    <delay>8h</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Dahua - Machine NAME</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.1004849.2.1.2.9.0</snmp_oid>
                    <key>machineName.0</key>
                    <delay>8h</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Dahua - Serial NUMBER</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.1004849.2.1.2.4.0</snmp_oid>
                    <key>serialNumber.0</key>
                    <delay>8h</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device uptime</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.3.0</snmp_oid>
                    <key>systeme.uptime[sysUpTime]</key>
                    <delay>5m</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <units>uptime</units>
                    <description>MIB: SNMPv2-MIB&#13;
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.01</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Dahua - System VERSION</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.1004849.2.1.2.5.0</snmp_oid>
                    <key>systemVersion.0</key>
                    <delay>8h</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
            </items>
        </template>
        <template>
            <template>Generic Cisco</template>
            <name>Generic Cisco</name>
            <templates>
                <template>
                    <name>Template Module ICMP Ping</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>C_templates</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Information</name>
                </application>
                <application>
                    <name>Interface status</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Network Interfaces</name>
                </application>
                <application>
                    <name>System</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Used CPU for the last 5 minutes</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.9.9.109.1.1.1.1.8.1</snmp_oid>
                    <key>ciscoCpmCPUTotal5minRev</key>
                    <delay>5m</delay>
                    <history>1w</history>
                    <trends>30d</trends>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>System</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>IOS Version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.9.9.25.1.1.1.2.5</snmp_oid>
                    <key>ciscoImageString</key>
                    <delay>1008m</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Information</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Unused memory for the last 5 minutes</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.9.9.48.1.1.1.6.1</snmp_oid>
                    <key>ciscoMemoryPoolFree</key>
                    <delay>5m</delay>
                    <history>1w</history>
                    <trends>30d</trends>
                    <units>bytes</units>
                    <applications>
                        <application>
                            <name>System</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Used memory for the last 5 minutes</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.9.9.48.1.1.1.5.1</snmp_oid>
                    <key>ciscoMemoryPoolUsed</key>
                    <delay>5m</delay>
                    <history>1w</history>
                    <trends>30d</trends>
                    <units>bytes</units>
                    <applications>
                        <application>
                            <name>System</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device Model Name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.2.1.47.1.1.1.1.13[&quot;index&quot;,&quot;.1.3.6.1.2.1.47.1.1.1.1.4&quot;,&quot;0&quot;]</snmp_oid>
                    <key>ciscoPhysicalModelName</key>
                    <delay>1d</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>.1.3.6.1.2.1.47.1.1.1.1.13[&quot;index&quot;,&quot;.1.3.6.1.2.1.47.1.1.1.1.4&quot;,&quot;0&quot;]</description>
                    <inventory_link>TYPE</inventory_link>
                    <applications>
                        <application>
                            <name>Information</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device Serial Number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.2.1.47.1.1.1.1.11[&quot;index&quot;,&quot;.1.3.6.1.2.1.47.1.1.1.1.4&quot;,&quot;0&quot;]</snmp_oid>
                    <key>ciscoPhysicalSerialNum</key>
                    <delay>1d</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>.1.3.6.1.2.1.47.1.1.1.1.11[&quot;index&quot;,&quot;.1.3.6.1.2.1.47.1.1.1.1.4&quot;,&quot;0&quot;] = original snmp oid</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Information</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.2.1.1.5.0</snmp_oid>
                    <key>Cisco_sysName</key>
                    <delay>30s</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Information</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Uptime</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>SNMPv2-MIB::sysUpTime.0</snmp_oid>
                    <key>sysUpTime</key>
                    <delay>30m</delay>
                    <history>30d</history>
                    <trends>30d</trends>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>Information</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Cisco Fan</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#FANVAL}, 1.3.6.1.4.1.9.9.13.1.4.1.2]</snmp_oid>
                    <key>ciscoEnvMonFanStatusDescr</key>
                    <delay>5m</delay>
                    <lifetime>1w</lifetime>
                    <item_prototypes>
                        <item_prototype>
                            <name>$1 state</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.4.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>ciscoEnvMonFanState[{#FANVAL}]</key>
                            <delay>1d</delay>
                            <history>1w</history>
                            <applications>
                                <application>
                                    <name>System</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ciscoEnvMonState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}=3</expression>
                                    <name>Operational status for {#SNMPVALUE} is CRITICAL</name>
                                    <status>DISABLED</status>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last(0)}=4</expression>
                                    <name>Operational status for {#SNMPVALUE} is Failed</name>
                                    <status>DISABLED</status>
                                    <priority>DISASTER</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last(0)}=2</expression>
                                    <name>Operational status for {#SNMPVALUE} is WARNING</name>
                                    <status>DISABLED</status>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{diff(0)}&gt;0</expression>
                                    <name>Operational status for {#SNMPVALUE} was changed</name>
                                    <status>DISABLED</status>
                                    <priority>INFO</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Cisco Power Supply</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#POWERSUP}, 1.3.6.1.4.1.9.9.13.1.5.1.2]</snmp_oid>
                    <key>ciscoEnvMonSupplyStatusDescr</key>
                    <delay>5m</delay>
                    <lifetime>1w</lifetime>
                    <item_prototypes>
                        <item_prototype>
                            <name>$1 state</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.5.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>ciscoEnvMonSupplyState[{#POWERSUP}]</key>
                            <delay>1d</delay>
                            <history>1w</history>
                            <trends>30d</trends>
                            <applications>
                                <application>
                                    <name>System</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}=3</expression>
                                    <name>Operational status for {#SNMPVALUE} is CRITICAL</name>
                                    <status>DISABLED</status>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last(0)}=4</expression>
                                    <name>Operational status for {#SNMPVALUE} is FAILED</name>
                                    <status>DISABLED</status>
                                    <priority>DISASTER</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last(0)}=2</expression>
                                    <name>Operational status for {#SNMPVALUE} is WARNING</name>
                                    <status>DISABLED</status>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{diff(0)}&gt;0</expression>
                                    <name>Operational status for {#SNMPVALUE} was changed</name>
                                    <status>DISABLED</status>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Cisco Temperature</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#CHASSISTEMP}, 1.3.6.1.4.1.9.9.13.1.3.1.2]</snmp_oid>
                    <key>ciscoEnvMonTemperatureStatusDescr</key>
                    <delay>30m</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>Temperature state of $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.3.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>ciscoEnvMonTemperatureState[{#CHASSISTEMP}]</key>
                            <delay>30m</delay>
                            <history>31d</history>
                            <applications>
                                <application>
                                    <name>System</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}=3</expression>
                                    <name>Operational status for sensor {#SNMPVALUE} is CRITICAL</name>
                                    <status>DISABLED</status>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last(0)}=4</expression>
                                    <name>Operational status for sensor {#SNMPVALUE} is FAILED</name>
                                    <status>DISABLED</status>
                                    <priority>DISASTER</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last(0)}=2</expression>
                                    <name>Operational status for sensor {#SNMPVALUE} is WARNING</name>
                                    <status>DISABLED</status>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{diff(0)}&gt;0</expression>
                                    <name>Operational status for sensor {#SNMPVALUE} was changed</name>
                                    <status>DISABLED</status>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Temperature value of $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.3.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>ciscoEnvMonTemperatureStatusValue[{#CHASSISTEMP}]</key>
                            <delay>30m</delay>
                            <history>31d</history>
                            <units>°C</units>
                            <applications>
                                <application>
                                    <name>System</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Temperature of {#SNMPVALUE}</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>FFEE58</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>ciscoEnvMonTemperatureStatusValue[{#CHASSISTEMP}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Network Interfaces</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#IFDESCR},IF-MIB::ifDescr,{#IFALIAS},IF-MIB::ifAlias]</snmp_oid>
                    <key>cis_fDescr</key>
                    <delay>30s</delay>
                    <lifetime>0d</lifetime>
                </discovery_rule>
                <discovery_rule>
                    <name>CPU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.9.9.109.1.1.1.1.5]</snmp_oid>
                    <key>cpu.discovery</key>
                    <delay>1h</delay>
                    <description>If your IOS device has several CPUs, you must use CISCO-PROCESS-MIB and its object cpmCPUTotal5minRev from the table called cpmCPUTotalTable ,&#13;
indexed with cpmCPUTotalIndex .&#13;
This table allows CISCO-PROCESS-MIB to keep CPU statistics for different physical entities in the router,&#13;
like different CPU chips, group of CPUs, or CPUs in different modules/cards.&#13;
In case of a single CPU, cpmCPUTotalTable has only one entry.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: CPU utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.109.1.1.1.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>system.cpu.util[cpmCPUTotal5minRev.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: CISCO-PROCESS-MIB&#13;
The cpmCPUTotal5minRev MIB object provides a more accurate view of the performance of the router over time than the MIB objects cpmCPUTotal1minRev and cpmCPUTotal5secRev . These MIB objects are not accurate because they look at CPU at one minute and five second intervals, respectively. These MIBs enable you to monitor the trends and plan the capacity of your network. The recommended baseline rising threshold for cpmCPUTotal5minRev is 90 percent. Depending on the platform, some routers that run at 90 percent, for example, 2500s, can exhibit performance degradation versus a high-end router, for example, the 7500 series, which can operate fine.&#13;
Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15215-collect-cpu-util-snmp.html</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$CPU_UTIL_MAX}</expression>
                                    <name>#{#SNMPINDEX}: High CPU utilization</name>
                                    <status>DISABLED</status>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>#{#SNMPINDEX}: CPU utilization</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>system.cpu.util[cpmCPUTotal5minRev.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Entity Serial Numbers 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,{#ENT_SN},1.3.6.1.2.1.47.1.1.1.1.11]</snmp_oid>
                    <key>entity_sn.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <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>
                            <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>
                                    <status>DISABLED</status>
                                    <priority>INFO</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.&#13;
Device serial number has changed. Ack to close</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SENSOR_INFO},1.3.6.1.4.1.9.9.13.1.4.1.2]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <description>The table of fan status maintained by the environmental monitor.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.4.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}]</key>
                            <history>2w</history>
                            <trends>0</trends>
                            <description>MIB: CISCO-ENVMON-MIB</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS:&quot;critical&quot;},eq)}=1 or {count(#1,{$FAN_CRIT_STATUS:&quot;shutdown&quot;},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Fan is in critical state</name>
                                    <status>DISABLED</status>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.&#13;
Please check the fan unit</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_WARN_STATUS:&quot;warning&quot;},eq)}=1 or {count(#1,{$FAN_WARN_STATUS:&quot;notFunctioning&quot;},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Fan is in warning state</name>
                                    <status>DISABLED</status>
                                    <priority>WARNING</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.&#13;
Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Memory Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.9.9.48.1.1.1.2]</snmp_oid>
                    <key>memory.discovery</key>
                    <delay>1h</delay>
                    <description>Discovery of ciscoMemoryPoolTable, a table of memory pool monitoring entries.&#13;
http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Available memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.48.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <units>B</units>
                            <description>MIB: CISCO-MEMORY-POOL-MIB&#13;
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&#13;
Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Memory utilization</name>
                            <type>CALCULATED</type>
                            <key>vm.memory.pused[vm.memory.pused.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <units>%</units>
                            <params>(last(vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}])/(last(vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}])+last(vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}])))*100</params>
                            <description>Memory utilization in %</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$MEMORY_UTIL_MAX}</expression>
                                    <name>{#SNMPVALUE}: High memory utilization</name>
                                    <status>DISABLED</status>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Used memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.48.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>30d</history>
                            <units>B</units>
                            <description>MIB: CISCO-MEMORY-POOL-MIB&#13;
Indicates the number of bytes from the memory pool that are currently in use by applications on the managed device.&#13;
Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#SNMPVALUE}: Available Memory</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <ymax_type_1>FIXED</ymax_type_1>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#SNMPVALUE}: Memory utilization</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <ymax_type_1>FIXED</ymax_type_1>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>vm.memory.pused[vm.memory.pused.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#SNMPVALUE}: Used Memory</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <ymax_type_1>FIXED</ymax_type_1>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Cisco Device Model Name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE}, .1.3.6.1.2.1.47.1.1.1.1.13]</snmp_oid>
                    <key>modelName</key>
                    <delay>1d</delay>
                    <lifetime>0d</lifetime>
                    <item_prototypes>
                        <item_prototype>
                            <name>Device Model Name at OID [{#SNMPINDEX}]</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.13[&quot;index&quot;, 1.3.6.1.2.1.47.1.1.1.1.13,{#SNMPVALUE}]</snmp_oid>
                            <key>modelName[{#SNMPINDEX}]</key>
                            <delay>1d</delay>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <applications>
                                <application>
                                    <name>Information</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Device Serial Number at OID [{#SNMPINDEX}]</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.11.{#SNMPINDEX}</snmp_oid>
                            <key>SerialNumber[{#SNMPINDEX}]</key>
                            <delay>1d</delay>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <applications>
                                <application>
                                    <name>Information</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Network Interfaces Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3]</snmp_oid>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <description>Discovering interfaces from IF-MIB. Interfaces are not discovered:&#13;
- with down(2) Administrative status&#13;
- with notPresent(6) Operational status&#13;
- loopbacks</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <description>MIB: IF-MIB&#13;
The number of inbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>1w</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits received</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in[ifHCInOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <description>MIB: IF-MIB&#13;
The number of outbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                            <delay>30s</delay>
                            <history>1w</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits sent</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out[ifHCOutOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets transmitted out of the interface, including framing characters.  This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.speed[ifHighSpeed.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <trends>0</trends>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
An estimate of the interface's current bandwidth in units of 1,000,000 bits per second.  If this object reports a value of `n' then the speed of the interface is somewhere in the range of `n-500,000' to`n+499,999'.  For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth.  For a sub-layer which has no concept of bandwidth, this object should be zero.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Operational status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.status[ifOperStatus.{#SNMPINDEX}]</key>
                            <history>2w</history>
                            <trends>0</trends>
                            <description>MIB: IF-MIB&#13;
The current operational state of the interface.&#13;
- The testing(3) state indicates that no operational packet scan be passed&#13;
- If ifAdminStatus is down(2) then ifOperStatus should be down(2)&#13;
- If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic&#13;
- It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)&#13;
- It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state&#13;
- It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <status>DISABLED</status>
                                    <priority>AVERAGE</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.&#13;
Interface is down</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Interface type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.type[ifType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>1w</history>
                            <trends>0</trends>
                            <description>MIB: IF-MIB&#13;
The type of interface.&#13;
Additional values for ifType are assigned by the Internet Assigned NumbersAuthority (IANA),&#13;
through updating the syntax of the IANAifType textual convention.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Generic Cisco:net.if.speed[ifHighSpeed.{#SNMPINDEX}].change()}&lt;0 and {Generic Cisco:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0&#13;
and (&#13;
{Generic Cisco:net.if.type[ifType.{#SNMPINDEX}].last()}=6 or&#13;
{Generic Cisco:net.if.type[ifType.{#SNMPINDEX}].last()}=7 or&#13;
{Generic Cisco:net.if.type[ifType.{#SNMPINDEX}].last()}=11 or&#13;
{Generic Cisco:net.if.type[ifType.{#SNMPINDEX}].last()}=62 or&#13;
{Generic Cisco:net.if.type[ifType.{#SNMPINDEX}].last()}=69 or&#13;
{Generic Cisco:net.if.type[ifType.{#SNMPINDEX}].last()}=117&#13;
)&#13;
and&#13;
({Generic Cisco:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2)</expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before</name>
                            <status>DISABLED</status>
                            <priority>INFO</priority>
                            <description>({Cisco:net.if.speed[ifHighSpeed.{#SNMPINDEX}].change()}&gt;0 and {Cisco:net.if.speed[ifHighSpeed.{#SNMPINDEX}].prev()}&gt;0) or&#13;
({Cisco:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2)</description>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>({Generic Cisco:net.if.in[ifHCInOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF_UTIL_MAX:&quot;{#IFNAME}&quot;}/100)*{Generic Cisco:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()} or&#13;
{Generic Cisco:net.if.out[ifHCOutOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF_UTIL_MAX:&quot;{#IFNAME}&quot;}/100)*{Generic Cisco:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}) and&#13;
{Generic Cisco:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Generic Cisco:net.if.in[ifHCInOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF_UTIL_MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Generic Cisco:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()} and&#13;
{Generic Cisco:net.if.out[ifHCOutOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF_UTIL_MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Generic Cisco:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High bandwidth usage &gt;{$IF_UTIL_MAX:&quot;{#IFNAME}&quot;}%</name>
                            <status>DISABLED</status>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.</description>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Generic Cisco:net.if.in.errors[ifInErrors.{#SNMPINDEX}].avg(5m)}&gt;{$IF_ERRORS_WARN:&quot;{#IFNAME}&quot;}&#13;
or {Generic Cisco:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].avg(5m)}&gt;{$IF_ERRORS_WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Generic Cisco:net.if.in.errors[ifInErrors.{#SNMPINDEX}].avg(5m)}&lt;{$IF_ERRORS_WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Generic Cisco:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].avg(5m)}&lt;{$IF_ERRORS_WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High error rate</name>
                            <status>DISABLED</status>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
Recovers when below 80% of {$IF_ERRORS_WARN:&quot;{#IFNAME}&quot;} threshold</description>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>net.if.in[ifHCInOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>net.if.out[ifHCOutOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Operational Status</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Generic Cisco</host>
                                        <key>net.if.status[ifOperStatus.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>EtherLike-MIB Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.10.7.2.1.19,{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2]</snmp_oid>
                    <key>net.if.duplex.discovery</key>
                    <delay>1h</delay>
                    <description>Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with up(1) Operational Status are discovered.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Duplex status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.10.7.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <trends>0</trends>
                            <description>MIB: EtherLike-MIB&#13;
The current mode of operation of the MAC&#13;
entity.  'unknown' indicates that the current&#13;
duplex mode could not be determined.&#13;
&#13;
Management control of the duplex mode is&#13;
accomplished through the MAU MIB.  When&#13;
an interface does not support autonegotiation,&#13;
or when autonegotiation is not enabled, the&#13;
duplex mode is controlled using&#13;
ifMauDefaultType.  When autonegotiation is&#13;
supported and enabled, duplex mode is controlled&#13;
using ifMauAutoNegAdvertisedBits.  In either&#13;
case, the currently operating duplex mode is&#13;
reflected both in this object and in ifMauType.&#13;
&#13;
Note that this object provides redundant&#13;
information with ifMauType.  Normally, redundant&#13;
objects are discouraged.  However, in this&#13;
instance, it allows a management application to&#13;
determine the duplex status of an interface&#13;
without having to know every possible value of&#13;
ifMauType.  This was felt to be sufficiently&#13;
valuable to justify the redundancy.&#13;
Reference: [IEEE 802.3 Std.], 30.3.1.1.32,aDuplexStatus.</description>
                            <applications>
                                <application>
                                    <name>Network Interfaces</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>EtherLike-MIB::dot3StatsDuplexStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): In half-duplex mode</name>
                                    <status>DISABLED</status>
                                    <priority>WARNING</priority>
                                    <description>Last value: {ITEM.LASTVALUE1}.&#13;
Please check autonegotiation settings and cabling</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <screens>
                <screen>
                    <name>Performance screen</name>
                    <hsize>3</hsize>
                    <vsize>8</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>ICMP Checks</name>
                                <host>Generic Cisco</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>7</resourcetype>
                            <style>1</style>
                            <resource>0</resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>5</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Infra NTP monitoring</template>
            <name>Infra NTP monitoring</name>
            <description>Infra NTP monitoring</description>
            <groups>
                <group>
                    <name>Infra</name>
                </group>
            </groups>
        </template>
        <template>
            <template>NTP-remote</template>
            <name>NTP[Remote]</name>
            <groups>
                <group>
                    <name>HomeRackUserGroupTemplates</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>NTP[Remote]</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>ntp[{$NTP_IP}]</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p {$NTP_IP}]</key>
                    <delay>3600</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>&quot;*&quot;	It represents the server in the reference synchronization&#13;
&quot;+&quot;	Server that pass the clock error check&#13;
&quot;#&quot;	It is in the in the reference synchronization , but distance is distant server&#13;
&quot; &quot;	Blank , does not refer to a server&#13;
&quot;x&quot;	Server that fail to clock error check&#13;
&quot;. &quot;	Server that are excluded from the reference list&#13;
refid	Host name or IP address of the high-stratum NTP server NTP server is referencing&#13;
st	NTP Server stratum&#13;
t	stratum type l:local,u:unicast,m:multicast,b:broadcast&#13;
when	The number of seconds after receiving the last packet&#13;
poll	Interval number of seconds to query&#13;
reach	Register data for reachability *octal&#13;
delay	[milliseconds]&#13;
offset	[milliseconds]&#13;
jitter	[milliseconds]</description>
                    <applications>
                        <application>
                            <name>NTP[Remote]</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>NTP synchronized server [{$NTP_IP}]</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$1}'|sed s/*//]</key>
                    <delay>1800</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>NTP server name that is synchronized</description>
                    <applications>
                        <application>
                            <name>NTP[Remote]</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}=1</expression>
                            <name>NTP servers are synchronized has been changed . [{$NTP_IP}]</name>
                            <status>DISABLED</status>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>NTP refid [{$NTP_IP}]</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$2}']</key>
                    <delay>1800</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>The upper NTP server of the NTP server that is synchronized</description>
                    <applications>
                        <application>
                            <name>NTP[Remote]</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>NTP stratum [{$NTP_IP}]</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$3}']</key>
                    <delay>1800</delay>
                    <description>Stratum of the NTP server that is synchronized</description>
                    <applications>
                        <application>
                            <name>NTP[Remote]</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>NTP polling [{$NTP_IP}]</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$6}']</key>
                    <delay>1800</delay>
                    <units>s</units>
                    <description>Synchronization period with the NTP server</description>
                    <applications>
                        <application>
                            <name>NTP[Remote]</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>NTP delay [{$NTP_IP}]</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$8}']</key>
                    <delay>1800</delay>
                    <value_type>FLOAT</value_type>
                    <units>ms</units>
                    <description>Estimated delay time of the NTP packet</description>
                    <applications>
                        <application>
                            <name>NTP[Remote]</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>NTP offset [{$NTP_IP}]</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$9}']</key>
                    <delay>1800</delay>
                    <value_type>FLOAT</value_type>
                    <units>ms</units>
                    <description>Time deviation between the NTP server</description>
                    <applications>
                        <application>
                            <name>NTP[Remote]</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&gt;5000 or {last()}&lt;-5000</expression>
                            <name>Misalignment of the upper NTP has exceeded the 5s [{$NTP_IP}]</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}&gt;50 or {last()}&lt;-50</expression>
                            <name>Misalignment of the upper NTP has exceeded the 50ms [{$NTP_IP}]</name>
                            <priority>WARNING</priority>
                            <dependencies>
                                <dependency>
                                    <name>Misalignment of the upper NTP has exceeded the 5s [{$NTP_IP}]</name>
                                    <expression>{NTP-remote:system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$9}'].last()}&gt;5000 or {NTP-remote:system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$9}'].last()}&lt;-5000</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>NTP jitter[({$NTP_IP}]</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$10}']</key>
                    <delay>1800</delay>
                    <value_type>FLOAT</value_type>
                    <units>ms</units>
                    <description>Past 8 dispersion average value of NTP offset</description>
                    <applications>
                        <application>
                            <name>NTP[Remote]</name>
                        </application>
                    </applications>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$NTP_IP}</macro>
                    <value>127.0.0.1</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>NTP Checks</template>
            <name>NTP Checks</name>
            <groups>
                <group>
                    <name>NTP</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>NTP</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>NTP CHECK</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[&quot;cat /home/zabbix/ntp.log&quot;]</key>
                    <delay>30</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>NTP</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{str(OK)}&lt;&gt;1</expression>
                            <name>NTPD is {ITEM.LASTVALUE}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>NTP_Monitoring</template>
            <name>NTP</name>
            <groups>
                <group>
                    <name>HomeRackUserGroupTemplates</name>
                </group>
                <group>
                    <name>Infra</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>NTP</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>proc num NTP</name>
                    <key>proc.num[ntpd]</key>
                    <delay>60</delay>
                    <applications>
                        <application>
                            <name>NTP</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>ntpd Version</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -c version]</key>
                    <delay>3600</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>NTP</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>ntpq</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p]</key>
                    <delay>3600</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>&quot;*&quot;	It represents the server in the reference synchronization&#13;
&quot;+&quot;	Server that pass the clock error check&#13;
&quot;#&quot;	It is in the in the reference synchronization , but distance is distant server&#13;
&quot; &quot;	Blank , does not refer to a server&#13;
&quot;x&quot;	Server that fail to clock error check&#13;
&quot;. &quot;	Server that are excluded from the reference list&#13;
refid	Host name or IP address of the high-stratum NTP server NTP server is referencing&#13;
st	NTP Server stratum&#13;
t	stratum type l:local,u:unicast,m:multicast,b:broadcast&#13;
when	The number of seconds after receiving the last packet&#13;
poll	Interval number of seconds to query&#13;
reach	Register data for reachability *octal&#13;
delay	[milliseconds]&#13;
offset	[milliseconds]&#13;
jitter	[milliseconds]</description>
                    <applications>
                        <application>
                            <name>NTP</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>NTP synchronized server</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p|grep \* |awk '{print$1}'|sed s/*//]</key>
                    <delay>1800</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>NTP server name that is synchronized</description>
                    <applications>
                        <application>
                            <name>NTP</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}=1</expression>
                            <name>NTP servers are synchronized has been changed .</name>
                            <status>DISABLED</status>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>NTP refid</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p|grep \* |awk '{print$2}']</key>
                    <delay>1800</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>The upper NTP server of the NTP server that is synchronized</description>
                    <applications>
                        <application>
                            <name>NTP</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>NTP stratum</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p|grep \* |awk '{print$3}']</key>
                    <delay>1800</delay>
                    <description>Stratum of the NTP server that is synchronized</description>
                    <applications>
                        <application>
                            <name>NTP</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>NTP polling</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p|grep \* |awk '{print$6}']</key>
                    <delay>1800</delay>
                    <units>s</units>
                    <description>Synchronization period with the NTP server</description>
                    <applications>
                        <application>
                            <name>NTP</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>NTP delay</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p|grep \* |awk '{print$8}']</key>
                    <delay>1800</delay>
                    <value_type>FLOAT</value_type>
                    <units>ms</units>
                    <description>Estimated delay time of the NTP packet</description>
                    <applications>
                        <application>
                            <name>NTP</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>NTP offset</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p|grep \* |awk '{print$9}']</key>
                    <delay>1800</delay>
                    <value_type>FLOAT</value_type>
                    <units>ms</units>
                    <description>Time deviation between the NTP server</description>
                    <applications>
                        <application>
                            <name>NTP</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&gt;5000 or {last(0)}&lt;-5000</expression>
                            <name>Misalignment of the upper NTP has exceeded the 5s</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&gt;50 or {last(0)}&lt;-50</expression>
                            <name>Misalignment of the upper NTP has exceeded the 50ms</name>
                            <priority>WARNING</priority>
                            <dependencies>
                                <dependency>
                                    <name>Misalignment of the upper NTP has exceeded the 5s</name>
                                    <expression>{NTP_Monitoring:system.run[ntpq -p|grep \* |awk '{print$9}'].last(0)}&gt;5000 or {NTP_Monitoring:system.run[ntpq -p|grep \* |awk '{print$9}'].last(0)}&lt;-5000</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>NTP jitter</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[ntpq -p|grep \* |awk '{print$10}']</key>
                    <delay>1800</delay>
                    <value_type>FLOAT</value_type>
                    <units>ms</units>
                    <description>Past 8 dispersion average value of NTP offset</description>
                    <applications>
                        <application>
                            <name>NTP</name>
                        </application>
                    </applications>
                </item>
            </items>
        </template>
        <template>
            <template>Template App Apache by HTTP</template>
            <name>Template App Apache by HTTP</name>
            <description>Get metrics from mod_status module using HTTP agent.&#13;
https://httpd.apache.org/docs/current/mod/mod_status.html&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384764-discussion-thread-for-official-zabbix-template-apache&#13;
&#13;
Template tooling version used: 0.33</description>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Apache</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Apache: Total bytes</name>
                    <type>DEPENDENT</type>
                    <key>apache.bytes</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <description>Total bytes served</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[&quot;Total kBytes&quot;]</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Bytes per second</name>
                    <type>DEPENDENT</type>
                    <key>apache.bytes.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>Bps</units>
                    <description>Calculated as change rate for 'Total bytes' stat.&#13;
BytesPerSec is not used, as it counts average since last Apache server start.</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[&quot;Total kBytes&quot;]</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Get status</name>
                    <type>HTTP_AGENT</type>
                    <key>apache.get_status</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>Getting data from a machine-readable version of the Apache status page.&#13;
https://httpd.apache.org/docs/current/mod/mod_status.html</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>// Convert Apache status to JSON
var lines = value.split(&quot;\n&quot;);
var fields = {},
    output = {},
    workers = {
        &quot;_&quot;: 0, &quot;S&quot;: 0, &quot;R&quot;: 0,
        &quot;W&quot;: 0, &quot;K&quot;: 0, &quot;D&quot;: 0,
        &quot;C&quot;: 0, &quot;L&quot;: 0, &quot;G&quot;: 0,
        &quot;I&quot;: 0, &quot;.&quot;: 0
    };

// Get all &quot;Key: Value&quot; pairs as an object
for (var i = 0; i &lt; lines.length; i++) {
    var line = lines[i].match(/([A-z0-9 ]+): (.*)/);
    if (line !== null) {
        output[line[1]] = isNaN(line[2]) ? line[2] : Number(line[2]);
    }
}

// For versions without &quot;ServerUptimeSeconds&quot; metric
output.ServerUptimeSeconds = output.ServerUptimeSeconds || output.Uptime
 
// Parse &quot;Scoreboard&quot; to get worker count.
if (typeof output.Scoreboard === 'string') {
    for (var i = 0; i &lt; output.Scoreboard.length; i++) {
        var char = output.Scoreboard[i];
        workers[char]++;
    }
}
 
// Add worker data to the output
output.Workers = {
    waiting: workers[&quot;_&quot;], starting: workers[&quot;S&quot;], reading: workers[&quot;R&quot;],
    sending: workers[&quot;W&quot;], keepalive: workers[&quot;K&quot;], dnslookup: workers[&quot;D&quot;],
    closing: workers[&quot;C&quot;], logging: workers[&quot;L&quot;], finishing: workers[&quot;G&quot;],
    cleanup: workers[&quot;I&quot;], slot: workers[&quot;.&quot;]
};
 
// Return JSON string
return JSON.stringify(output);</params>
                        </step>
                    </preprocessing>
                    <url>{$APACHE.STATUS.SCHEME}://{HOST.CONN}:{$APACHE.STATUS.PORT}/{$APACHE.STATUS.PATH}</url>
                    <retrieve_mode>BOTH</retrieve_mode>
                    <triggers>
                        <trigger>
                            <expression>{nodata(30m)}=1</expression>
                            <name>Apache: Failed to fetch status page (or no data for 30m)</name>
                            <priority>WARNING</priority>
                            <description>Zabbix has not received data for items for the last 30 minutes.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Apache: Service is down</name>
                                    <expression>{Template App Apache by HTTP:net.tcp.service[http,&quot;{HOST.CONN}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Apache: Total requests</name>
                    <type>DEPENDENT</type>
                    <key>apache.requests</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>A total number of accesses</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[&quot;Total Accesses&quot;]</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Requests per second</name>
                    <type>DEPENDENT</type>
                    <key>apache.requests.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Calculated as change rate for 'Total requests' stat.&#13;
ReqPerSec is not used, as it counts average since last Apache server start.</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[&quot;Total Accesses&quot;]</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Uptime</name>
                    <type>DEPENDENT</type>
                    <key>apache.uptime</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>uptime</units>
                    <description>Service uptime in seconds</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.ServerUptimeSeconds</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>Apache: has been restarted (uptime &lt; 10m)</name>
                            <priority>INFO</priority>
                            <description>Uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Apache: Version</name>
                    <type>DEPENDENT</type>
                    <key>apache.version</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>Service version</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.ServerVersion</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Apache: Version has changed (new version: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>Apache version has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Apache: Workers idle cleanup</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.cleanup</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in cleanup state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.cleanup</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers closing connection</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.closing</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in closing state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.closing</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers DNS lookup</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.dnslookup</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in dnslookup state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.dnslookup</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers finishing</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.finishing</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in finishing state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.finishing</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers keepalive (read)</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.keepalive</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in keepalive state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.keepalive</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers logging</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.logging</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in logging state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.logging</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers reading request</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.reading</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in reading state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.reading</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers sending reply</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.sending</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in sending state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.sending</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers slot with no current process</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.slot</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of slots with no current process</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.slot</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers starting up</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.starting</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in starting state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.starting</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers waiting for connection</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.waiting</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in waiting state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.waiting</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Total workers busy</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers_total.busy</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of busy worker threads/processes</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.BusyWorkers</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Total workers idle</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers_total.idle</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of idle worker threads/processes</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.IdleWorkers</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Service response time</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service.perf[http,&quot;{HOST.CONN}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$APACHE.RESPONSE_TIME.MAX.WARN}</expression>
                            <name>Apache: Service response time is too high (over {$APACHE.RESPONSE_TIME.MAX.WARN}s for 5m)</name>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Apache: Service is down</name>
                                    <expression>{Template App Apache by HTTP:net.tcp.service[http,&quot;{HOST.CONN}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Apache: Service ping</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[http,&quot;{HOST.CONN}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>Apache: Service is down</name>
                            <priority>AVERAGE</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Event MPM discovery</name>
                    <type>DEPENDENT</type>
                    <key>apache.mpm.event.discovery</key>
                    <delay>0</delay>
                    <description>Additional metrics if event MPM is used&#13;
https://httpd.apache.org/docs/current/mod/event.html</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Apache: Bytes per request</name>
                            <type>DEPENDENT</type>
                            <key>apache.bytes[per_request{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>B</units>
                            <description>Average number of client requests per second</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.BytesPerReq</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>apache.get_status</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Apache: Connections async closing</name>
                            <type>DEPENDENT</type>
                            <key>apache.connections[async_closing{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of async connections in closing state (only applicable to event MPM)</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.ConnsAsyncClosing</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>apache.get_status</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Apache: Connections async keep alive</name>
                            <type>DEPENDENT</type>
                            <key>apache.connections[async_keep_alive{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of async connections in keep-alive state (only applicable to event MPM)</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.ConnsAsyncKeepAlive</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>apache.get_status</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Apache: Connections async writing</name>
                            <type>DEPENDENT</type>
                            <key>apache.connections[async_writing{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of async connections in writing state (only applicable to event MPM)</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.ConnsAsyncWriting</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>apache.get_status</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Apache: Connections total</name>
                            <type>DEPENDENT</type>
                            <key>apache.connections[total{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of total connections</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.ConnsTotal</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>apache.get_status</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Apache: Number of async processes</name>
                            <type>DEPENDENT</type>
                            <key>apache.process[num{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of async processes</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.Processes</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>apache.get_status</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Apache: Current async connections{#SINGLETON}</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template App Apache by HTTP</host>
                                        <key>apache.connections[async_closing{#SINGLETON}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template App Apache by HTTP</host>
                                        <key>apache.connections[async_keep_alive{#SINGLETON}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Template App Apache by HTTP</host>
                                        <key>apache.connections[async_writing{#SINGLETON}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>A54F10</color>
                                    <item>
                                        <host>Template App Apache by HTTP</host>
                                        <key>apache.connections[total{#SINGLETON}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>Apache: Current async processes{#SINGLETON}</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template App Apache by HTTP</host>
                                        <key>apache.process[num{#SINGLETON}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>apache.get_status</key>
                    </master_item>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.ServerMPM</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>return JSON.stringify(value === 'event' ? [{'{#SINGLETON}': ''}] : []);</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$APACHE.RESPONSE_TIME.MAX.WARN}</macro>
                    <value>10</value>
                    <description>Maximum Apache response time in seconds for trigger expression</description>
                </macro>
                <macro>
                    <macro>{$APACHE.STATUS.PATH}</macro>
                    <value>server-status?auto</value>
                    <description>The URL path</description>
                </macro>
                <macro>
                    <macro>{$APACHE.STATUS.PORT}</macro>
                    <value>80</value>
                    <description>The port of Apache status page</description>
                </macro>
                <macro>
                    <macro>{$APACHE.STATUS.SCHEME}</macro>
                    <value>http</value>
                    <description>Request scheme which may be http or https</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Apache performance</name>
                    <hsize>2</hsize>
                    <vsize>3</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Apache: Requests per second</name>
                                <host>Template App Apache by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Apache: Workers total</name>
                                <host>Template App Apache by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Apache: Current async connections{#SINGLETON}</name>
                                <host>Template App Apache by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Apache: Current async processes{#SINGLETON}</name>
                                <host>Template App Apache by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Apache: Worker states</name>
                                <host>Template App Apache by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template App Apache by Zabbix agent</template>
            <name>Template App Apache by Zabbix agent</name>
            <description>Get metrics from mod_status module using HTTP agent.&#13;
https://httpd.apache.org/docs/current/mod/mod_status.html&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384764-discussion-thread-for-official-zabbix-template-apache&#13;
&#13;
Template tooling version used: 0.33</description>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Apache</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Apache: Total bytes</name>
                    <type>DEPENDENT</type>
                    <key>apache.bytes</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <description>Total bytes served</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[&quot;Total kBytes&quot;]</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Bytes per second</name>
                    <type>DEPENDENT</type>
                    <key>apache.bytes.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>Bps</units>
                    <description>Calculated as change rate for 'Total bytes' stat.&#13;
BytesPerSec is not used, as it counts average since last Apache server start.</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[&quot;Total kBytes&quot;]</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Total requests</name>
                    <type>DEPENDENT</type>
                    <key>apache.requests</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>A total number of accesses</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[&quot;Total Accesses&quot;]</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Requests per second</name>
                    <type>DEPENDENT</type>
                    <key>apache.requests.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Calculated as change rate for 'Total requests' stat.&#13;
ReqPerSec is not used, as it counts average since last Apache server start.</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[&quot;Total Accesses&quot;]</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Uptime</name>
                    <type>DEPENDENT</type>
                    <key>apache.uptime</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>uptime</units>
                    <description>Service uptime in seconds</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.ServerUptimeSeconds</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>Apache: has been restarted (uptime &lt; 10m)</name>
                            <priority>INFO</priority>
                            <description>Uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Apache: Version</name>
                    <type>DEPENDENT</type>
                    <key>apache.version</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>Service version</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.ServerVersion</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Apache: Version has changed (new version: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>Apache version has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Apache: Workers idle cleanup</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.cleanup</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in cleanup state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.cleanup</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers closing connection</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.closing</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in closing state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.closing</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers DNS lookup</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.dnslookup</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in dnslookup state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.dnslookup</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers finishing</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.finishing</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in finishing state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.finishing</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers keepalive (read)</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.keepalive</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in keepalive state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.keepalive</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers logging</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.logging</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in logging state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.logging</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers reading request</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.reading</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in reading state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.reading</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers sending reply</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.sending</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in sending state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.sending</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers slot with no current process</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.slot</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of slots with no current process</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.slot</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers starting up</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.starting</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in starting state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.starting</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Workers waiting for connection</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers.waiting</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of workers in waiting state</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.Workers.waiting</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Total workers busy</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers_total.busy</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of busy worker threads/processes</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.BusyWorkers</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Total workers idle</name>
                    <type>DEPENDENT</type>
                    <key>apache.workers_total.idle</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of idle worker threads/processes</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.IdleWorkers</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Apache: Service response time</name>
                    <key>net.tcp.service.perf[http,&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$APACHE.RESPONSE_TIME.MAX.WARN}</expression>
                            <name>Apache: Service response time is too high (over {$APACHE.RESPONSE_TIME.MAX.WARN}s for 5m)</name>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Apache: Process is not running</name>
                                    <expression>{Template App Apache by Zabbix agent:proc.num[&quot;{$APACHE.PROCESS_NAME}&quot;].last()}=0</expression>
                                </dependency>
                                <dependency>
                                    <name>Apache: Service is down</name>
                                    <expression>{Template App Apache by Zabbix agent:net.tcp.service[http,&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Apache: Service ping</name>
                    <key>net.tcp.service[http,&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>Apache: Service is down</name>
                            <priority>AVERAGE</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Apache: Process is not running</name>
                                    <expression>{Template App Apache by Zabbix agent:proc.num[&quot;{$APACHE.PROCESS_NAME}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Apache: CPU utilization</name>
                    <key>proc.cpu.util[&quot;{$APACHE.PROCESS_NAME}&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Process CPU utilization percentage.</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Apache: Memory usage (rss)</name>
                    <key>proc.mem[&quot;{$APACHE.PROCESS_NAME}&quot;,,,,rss]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Resident set size memory used by process in bytes.</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Apache: Memory usage (vsize)</name>
                    <key>proc.mem[&quot;{$APACHE.PROCESS_NAME}&quot;,,,,vsize]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Virtual memory size used by process in bytes.</description>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Apache: Number of processes running</name>
                    <key>proc.num[&quot;{$APACHE.PROCESS_NAME}&quot;]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>Apache</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>Apache: Process is not running</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Apache: Get status</name>
                    <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>Getting data from a machine-readable version of the Apache status page.&#13;
https://httpd.apache.org/docs/current/mod/mod_status.html</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>// Convert Apache status to JSON
var lines = value.split(&quot;\n&quot;);
var fields = {},
    output = {},
    workers = {
        &quot;_&quot;: 0, &quot;S&quot;: 0, &quot;R&quot;: 0,
        &quot;W&quot;: 0, &quot;K&quot;: 0, &quot;D&quot;: 0,
        &quot;C&quot;: 0, &quot;L&quot;: 0, &quot;G&quot;: 0,
        &quot;I&quot;: 0, &quot;.&quot;: 0
    };

// Get all &quot;Key: Value&quot; pairs as an object
for (var i = 0; i &lt; lines.length; i++) {
    var line = lines[i].match(/([A-z0-9 ]+): (.*)/);
    if (line !== null) {
        output[line[1]] = isNaN(line[2]) ? line[2] : Number(line[2]);
    }
}

// For versions without &quot;ServerUptimeSeconds&quot; metric
output.ServerUptimeSeconds = output.ServerUptimeSeconds || output.Uptime
 
// Parse &quot;Scoreboard&quot; to get worker count
if (typeof output.Scoreboard === 'string') {
    for (var i = 0; i &lt; output.Scoreboard.length; i++) {
        var char = output.Scoreboard[i];
        workers[char]++;
    }
}
 
// Add worker data to the output
output.Workers = {
    waiting: workers[&quot;_&quot;], starting: workers[&quot;S&quot;], reading: workers[&quot;R&quot;],
    sending: workers[&quot;W&quot;], keepalive: workers[&quot;K&quot;], dnslookup: workers[&quot;D&quot;],
    closing: workers[&quot;C&quot;], logging: workers[&quot;L&quot;], finishing: workers[&quot;G&quot;],
    cleanup: workers[&quot;I&quot;], slot: workers[&quot;.&quot;]
};
 
// Return JSON string
return JSON.stringify(output);</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{nodata(30m)}=1</expression>
                            <name>Apache: Failed to fetch status page (or no data for 30m)</name>
                            <priority>WARNING</priority>
                            <description>Zabbix has not received data for items for the last 30 minutes.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Apache: Process is not running</name>
                                    <expression>{Template App Apache by Zabbix agent:proc.num[&quot;{$APACHE.PROCESS_NAME}&quot;].last()}=0</expression>
                                </dependency>
                                <dependency>
                                    <name>Apache: Service is down</name>
                                    <expression>{Template App Apache by Zabbix agent:net.tcp.service[http,&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Event MPM discovery</name>
                    <type>DEPENDENT</type>
                    <key>apache.mpm.event.discovery</key>
                    <delay>0</delay>
                    <description>Additional metrics if event MPM is used&#13;
https://httpd.apache.org/docs/current/mod/event.html</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Apache: Bytes per request</name>
                            <type>DEPENDENT</type>
                            <key>apache.bytes[per_request{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>B</units>
                            <description>Average number of client requests per second</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.BytesPerReq</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Apache: Connections async closing</name>
                            <type>DEPENDENT</type>
                            <key>apache.connections[async_closing{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of async connections in closing state (only applicable to event MPM)</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.ConnsAsyncClosing</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Apache: Connections async keep alive</name>
                            <type>DEPENDENT</type>
                            <key>apache.connections[async_keep_alive{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of async connections in keep-alive state (only applicable to event MPM)</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.ConnsAsyncKeepAlive</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Apache: Connections async writing</name>
                            <type>DEPENDENT</type>
                            <key>apache.connections[async_writing{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of async connections in writing state (only applicable to event MPM)</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.ConnsAsyncWriting</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Apache: Connections total</name>
                            <type>DEPENDENT</type>
                            <key>apache.connections[total{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of total connections</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.ConnsTotal</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Apache: Number of async processes</name>
                            <type>DEPENDENT</type>
                            <key>apache.process[num{#SINGLETON}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of async processes</description>
                            <applications>
                                <application>
                                    <name>Apache</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.Processes</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Apache: Current async connections{#SINGLETON}</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template App Apache by Zabbix agent</host>
                                        <key>apache.connections[async_closing{#SINGLETON}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template App Apache by Zabbix agent</host>
                                        <key>apache.connections[async_keep_alive{#SINGLETON}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Template App Apache by Zabbix agent</host>
                                        <key>apache.connections[async_writing{#SINGLETON}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>A54F10</color>
                                    <item>
                                        <host>Template App Apache by Zabbix agent</host>
                                        <key>apache.connections[total{#SINGLETON}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>Apache: Current async processes{#SINGLETON}</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template App Apache by Zabbix agent</host>
                                        <key>apache.process[num{#SINGLETON}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>web.page.get[&quot;{$APACHE.STATUS.HOST}&quot;,&quot;{$APACHE.STATUS.PATH}&quot;,&quot;{$APACHE.STATUS.PORT}&quot;]</key>
                    </master_item>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.ServerMPM</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>return JSON.stringify(value === 'event' ? [{'{#SINGLETON}': ''}] : []);</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$APACHE.PROCESS_NAME}</macro>
                    <value>httpd</value>
                    <description>Apache server process name</description>
                </macro>
                <macro>
                    <macro>{$APACHE.RESPONSE_TIME.MAX.WARN}</macro>
                    <value>10</value>
                    <description>Maximum Apache response time in seconds for trigger expression</description>
                </macro>
                <macro>
                    <macro>{$APACHE.STATUS.HOST}</macro>
                    <value>127.0.0.1</value>
                    <description>Hostname or IP address of the Apache status page</description>
                </macro>
                <macro>
                    <macro>{$APACHE.STATUS.PATH}</macro>
                    <value>server-status?auto</value>
                    <description>The URL path</description>
                </macro>
                <macro>
                    <macro>{$APACHE.STATUS.PORT}</macro>
                    <value>80</value>
                    <description>The port of Apache status page</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Apache performance</name>
                    <hsize>2</hsize>
                    <vsize>3</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Apache: Requests per second</name>
                                <host>Template App Apache by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Apache: Workers total</name>
                                <host>Template App Apache by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Apache: Current async connections{#SINGLETON}</name>
                                <host>Template App Apache by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Apache: Current async processes{#SINGLETON}</name>
                                <host>Template App Apache by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Apache: Worker states</name>
                                <host>Template App Apache by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template App Apache Tomcat JMX</template>
            <name>Template App Apache Tomcat JMX</name>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>http-8080</name>
                </application>
                <application>
                    <name>http-8443</name>
                </application>
                <application>
                    <name>jk-8009</name>
                </application>
                <application>
                    <name>Sessions</name>
                </application>
                <application>
                    <name>Tomcat</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>jk-8009 bytes received per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;, bytesReceived]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>jk-8009</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>jk-8009 bytes sent per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,bytesSent]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>jk-8009</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>jk-8009 errors per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,errorCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>jk-8009</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>jk-8009 request processing time</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,processingTime]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>jk-8009</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>jk-8009 requests per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,requestCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>jk-8009</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8443 bytes received per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,bytesReceived]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>http-8443</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8443 bytes sent per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;, bytesSent]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>http-8443</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8443 errors per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,errorCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>http-8443</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8443 request processing time</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,processingTime]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>http-8443</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8443 requests per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,requestCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>http-8443</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8080 bytes received per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,bytesReceived]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>http-8080</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8080 bytes sent per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,bytesSent]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>http-8080</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8080 errors per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,errorCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>http-8080</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8080 request processing time</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,processingTime]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>http-8080</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8080 requests per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=GlobalRequestProcessor,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,requestCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>http-8080</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>Number of active sessions at this moment</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=Manager,context=/,host=localhost&quot;,activeSessions]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Sessions</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>The maximum number of active Sessions allowed, or -1 for no limit</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=Manager,context=/,host=localhost&quot;,maxActiveSessions]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Sessions</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>Maximum number of active sessions so far</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=Manager,context=/,host=localhost&quot;,maxActive]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Sessions</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>Number of sessions we rejected due to maxActive being reached</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=Manager,context=/,host=localhost&quot;,rejectedSessions]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Sessions</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>Number of sessions created by this manager per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=Manager,context=/,host=localhost&quot;,sessionCounter]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Sessions</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8080 gzip compression</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=ProtocolHandler,port=8080&quot;,compression]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>http-8080</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                    <triggers>
                        <trigger>
                            <expression>{str(off)} = 1</expression>
                            <name>gzip compression is off for connector http-8080 on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>http-8443 gzip compression</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=ProtocolHandler,port=8443&quot;,compression]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>http-8443</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                    <triggers>
                        <trigger>
                            <expression>{str(off)} = 1</expression>
                            <name>gzip compression is off for connector http-8443 on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Tomcat version</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=Server&quot;,serverInfo]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Tomcat</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>jk-8009 threads allocated</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,currentThreadCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>jk-8009</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>jk-8009 threads busy</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,currentThreadsBusy]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>jk-8009</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>jk-8009 threads max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,maxThreads]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>jk-8009</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8443 threads allocated</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,currentThreadCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>http-8443</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8443 threads busy</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,currentThreadsBusy]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>http-8443</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8443 threads max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,maxThreads]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>http-8443</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8080 threads allocated</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,currentThreadCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>http-8080</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8080 threads busy</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,currentThreadsBusy]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>http-8080</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>http-8080 threads max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,maxThreads]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>http-8080</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$PROTOCOL_HANDLER_AJP}</macro>
                    <value>ajp-nio-8009</value>
                </macro>
                <macro>
                    <macro>{$PROTOCOL_HANDLER_HTTP}</macro>
                    <value>http-nio-8080</value>
                </macro>
                <macro>
                    <macro>{$PROTOCOL_HANDLER_HTTPS}</macro>
                    <value>https-openssl-nio-8443</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template App FTP Service</template>
            <name>Template App FTP Service</name>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>FTP service</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>FTP service is running</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[ftp]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>FTP service</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>FTP service is down on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template App Generic Java JMX</template>
            <name>Template App Generic Java JMX</name>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Classes</name>
                </application>
                <application>
                    <name>Compilation</name>
                </application>
                <application>
                    <name>Garbage collector</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Memory pool</name>
                </application>
                <application>
                    <name>Operating system</name>
                </application>
                <application>
                    <name>Runtime</name>
                </application>
                <application>
                    <name>Threads</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>cl Loaded Class Count</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=ClassLoading&quot;,LoadedClassCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Classes</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>cl Total Loaded Class Count</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=ClassLoading&quot;,TotalLoadedClassCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Classes</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>cl Unloaded Class Count</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=ClassLoading&quot;,UnloadedClassCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Classes</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>comp Name of the current JIT compiler</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Compilation&quot;,Name]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Compilation</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                    <triggers>
                        <trigger>
                            <expression>{str(Client)}=1</expression>
                            <name>{HOST.NAME} uses suboptimal JIT compiler</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>comp Accumulated time spent in compilation</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Compilation&quot;,TotalCompilationTime]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Compilation</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc ConcurrentMarkSweep number of collections per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=ConcurrentMarkSweep&quot;,CollectionCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc ConcurrentMarkSweep accumulated time spent in collection</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=ConcurrentMarkSweep&quot;,CollectionTime]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc Copy number of collections per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=Copy&quot;,CollectionCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc Copy accumulated time spent in collection</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=Copy&quot;,CollectionTime]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc MarkSweepCompact number of collections per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=MarkSweepCompact&quot;,CollectionCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc MarkSweepCompact accumulated time spent in collection</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=MarkSweepCompact&quot;,CollectionTime]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc ParNew number of collections per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=ParNew&quot;,CollectionCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc ParNew accumulated time spent in collection</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=ParNew&quot;,CollectionTime]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc PS MarkSweep number of collections per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=PS MarkSweep&quot;,CollectionCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc PS MarkSweep accumulated time spent in collection</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=PS MarkSweep&quot;,CollectionTime]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc PS Scavenge number of collections per second</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=PS Scavenge&quot;,CollectionCount]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>gc PS Scavenge accumulated time spent in collection</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=GarbageCollector,name=PS Scavenge&quot;,CollectionTime]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Garbage collector</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mem Heap Memory committed</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Memory&quot;,HeapMemoryUsage.committed]</key>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mem Heap Memory max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Memory&quot;,HeapMemoryUsage.max]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mem Heap Memory used</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Memory&quot;,HeapMemoryUsage.used]</key>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mem Non-Heap Memory committed</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Memory&quot;,NonHeapMemoryUsage.committed]</key>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mem Non-Heap Memory max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Memory&quot;,NonHeapMemoryUsage.max]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mem Non-Heap Memory used</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Memory&quot;,NonHeapMemoryUsage.used]</key>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mem Object Pending Finalization Count</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Memory&quot;,ObjectPendingFinalizationCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp CMS Old Gen committed</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Old Gen&quot;,Usage.committed]</key>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp CMS Old Gen max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Old Gen&quot;,Usage.max]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp CMS Old Gen used</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Old Gen&quot;,Usage.used]</key>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp CMS Perm Gen committed</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Perm Gen&quot;,Usage.committed]</key>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp CMS Perm Gen max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Perm Gen&quot;,Usage.max]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp CMS Perm Gen used</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Perm Gen&quot;,Usage.used]</key>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp Code Cache committed</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=Code Cache&quot;,Usage.committed]</key>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp Code Cache max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=Code Cache&quot;,Usage.max]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp Code Cache used</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=Code Cache&quot;,Usage.used]</key>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp G1 Old Gen committed</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=G1 Old Gen&quot;,Usage.committed]</key>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp G1 Old Gen max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=G1 Old Gen&quot;,Usage.max]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp G1 Old Gen used</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=G1 Old Gen&quot;,Usage.used]</key>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp Perm Gen committed</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=Perm Gen&quot;,Usage.committed]</key>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp Perm Gen max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=Perm Gen&quot;,Usage.max]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp Perm Gen used</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=Perm Gen&quot;,Usage.used]</key>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp PS Perm Gen committed</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=PS Perm Gen&quot;,Usage.committed]</key>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp PS Perm Gen max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=PS Perm Gen&quot;,Usage.max]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp PS Perm Gen used</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=PS Perm Gen&quot;,Usage.used]</key>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp Tenured Gen committed</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=Tenured Gen&quot;,Usage.committed]</key>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp Tenured Gen max</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=Tenured Gen&quot;,Usage.max]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>mp Tenured Gen used</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=MemoryPool,name=Tenured Gen&quot;,Usage.used]</key>
                    <history>1w</history>
                    <status>DISABLED</status>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory pool</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>os Max File Descriptor Count</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=OperatingSystem&quot;,MaxFileDescriptorCount]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Operating system</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>os Open File Descriptor Count</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=OperatingSystem&quot;,OpenFileDescriptorCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Operating system</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>os Process CPU Load</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=OperatingSystem&quot;,ProcessCpuLoad]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Operating system</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>100</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&gt;70</expression>
                            <name>70% os Process CPU Load on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>jvm Uptime</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Runtime&quot;,Uptime]</key>
                    <history>1w</history>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>Runtime</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                    <triggers>
                        <trigger>
                            <expression>{nodata(5m)}=1</expression>
                            <name>{HOST.NAME} is not reachable</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>jvm Name</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Runtime&quot;,VmName]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Runtime</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                    <triggers>
                        <trigger>
                            <expression>{str(Server)}&lt;&gt;1</expression>
                            <name>{HOST.NAME} runs suboptimal VM type</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>jvm Version</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Runtime&quot;,VmVersion]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Runtime</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>th Daemon Thread Count</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Threading&quot;,DaemonThreadCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Threads</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>th Peak Thread Count</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Threading&quot;,PeakThreadCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Threads</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>th Thread Count</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Threading&quot;,ThreadCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Threads</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
                <item>
                    <name>th Total Started Thread Count</name>
                    <type>JMX</type>
                    <key>jmx[&quot;java.lang:type=Threading&quot;,TotalStartedThreadCount]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Threads</name>
                        </application>
                    </applications>
                    <jmx_endpoint>service:jmx:rmi:///jndi/rmi://{HOST.CONN}:{HOST.PORT}/jmxrmi</jmx_endpoint>
                </item>
            </items>
        </template>
        <template>
            <template>Template App HTTP Service</template>
            <name>Template App HTTP Service</name>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>HTTP service</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>HTTP service is running</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[http]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>HTTP service</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>HTTP service is down on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template App HTTPS Service</template>
            <name>Template App HTTPS Service</name>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>HTTPS service</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>HTTPS service is running</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[https]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>HTTPS service</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>HTTPS service is down on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template App IIS by Zabbix agent</template>
            <name>Template App IIS by Zabbix agent</name>
            <description>Get metrics from IIS using Zabbix agent running on Windows.&#13;
&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/401862-discussion-thread-for-official-zabbix-template-internet-information-services&#13;
&#13;
Template tooling version used: 0.39</description>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>IIS</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>IIS: {$IIS.PORT} port ping</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[{$IIS.SERVICE},,{$IIS.PORT}]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>IIS: Port {$IIS.PORT} is down</name>
                            <priority>AVERAGE</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>IIS: The World Wide Web Publishing Service (W3SVC) is not running</name>
                                    <expression>{Template App IIS by Zabbix agent:service_state[W3SVC].last()}&lt;&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>IIS: Anonymous users per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Anonymous Users/sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The number of requests from users over an anonymous connection per second. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>IIS: Bytes Received per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Bytes Received/sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>Bps</units>
                    <description>The average rate per minute at which data bytes are received by the service at the Application Layer. Does not include protocol headers or control bytes.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>IIS: Bytes Sent per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Bytes Sent/sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>Bps</units>
                    <description>The average rate per minute at which data bytes are sent by the service.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>IIS: Bytes Total per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Bytes Total/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>Bps</units>
                    <description>The average rate per minute of total bytes/sec transferred by the Web service (sum of bytes sent/sec and bytes received/sec).</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>IIS: Method CGI requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\CGI Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of CGI requests that are simultaneously being processed by the Web service. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Connection attempts per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Connection Attempts/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The average rate per minute that connections using the Web service are being attempted. The count is the average for all Web sites combined.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method COPY requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Copy Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests made using the COPY method. Copy requests are used for copying files and directories. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Current connections</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Current Connections&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The number of active connections.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>IIS: Method DELETE requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Delete Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests using the DELETE method made. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method Method GET requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Get Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests made using the GET method. GET requests are generally used for basic file retrievals or image maps, though they can be used with forms. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method HEAD requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Head Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests using the HEAD method made. HEAD requests generally indicate a client is querying the state of a document they already have to see if it needs to be refreshed. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method ISAPI requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\ISAPI Extension Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of ISAPI Extension requests that are simultaneously being processed by the Web service. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Locked errors per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Locked Errors/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of errors due to requests that couldn't be satisfied by the server because the requested document was locked. These are generally reported as an HTTP 423 error code to the client. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method LOCK requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Lock Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests made using the LOCK method. Lock requests are used to lock a file for one user so that only that user can modify the file. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method MKCOL requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Mkcol Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests using the MKCOL method made. Mkcol requests are used to create directories on the server. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method MOVE requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Move Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests using the MOVE method made. Move requests are used for moving files and directories. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: NonAnonymous users per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\NonAnonymous Users/sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The number of requests from users over a non-anonymous connection per second. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>IIS: Not Found errors per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Not Found Errors/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of errors due to requests that couldn't be satisfied by the server because the requested document could not be found. These are generally reported to the client with HTTP error code 404. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method OPTIONS requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Options Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests using the OPTIONS method made. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method Total Other requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Other Request Methods/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Total Other Request Methods is the number of HTTP requests that are not OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, MOVE, COPY, MKCOL, PROPFIND, PROPPATCH, SEARCH, LOCK or UNLOCK methods (since service startup). Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method POST requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Post Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of HTTP requests using POST method. Generally used for forms or gateway requests. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method PROPFIND requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Propfind Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests using the PROPFIND method made. Propfind requests retrieve property values on files and directories. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method PROPPATCH requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Proppatch Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests using the PROPPATCH method made. Proppatch requests set property values on files and directories. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method PUT requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Put Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests using the PUT method made. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method MS-SEARCH requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Search Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests using the MS-SEARCH method made. Search requests are used to query the server to find resources that match a set of conditions provided by the client. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Uptime</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Service Uptime&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>Service uptime in seconds.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>IIS: has been restarted (uptime &lt; 10m)</name>
                            <priority>INFO</priority>
                            <description>Uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>IIS: Total connection attempts</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Total Connection Attempts (all instances)&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The total number of connections to the Web or FTP service that have been attempted since service startup. The count is the total for all Web sites or FTP sites combined.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method Total requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Total Method Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of all HTTP requests received. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method TRACE requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Trace Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests using the TRACE method made. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Method TRACE requests per second</name>
                    <key>perf_counter_en[&quot;\Web Service(_Total)\Unlock Requests/Sec&quot;, 60]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The rate of HTTP requests using the UNLOCK method made. Unlock requests are used to remove locks from files. Average per minute.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: Files cache hits percentage</name>
                    <key>perf_counter_en[&quot;\Web Service Cache\File Cache Hits %&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The ratio of user-mode file cache hits to total cache requests (since service startup). Note: This value might be low if the Kernel URI cache hits percentage is high.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: File cache misses</name>
                    <key>perf_counter_en[&quot;\Web Service Cache\File Cache Misses&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The total number of unsuccessful lookups in the user-mode file cache since service startup.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: URIs cache hits percentage</name>
                    <key>perf_counter_en[&quot;\Web Service Cache\URI Cache Hits %&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The ratio of user-mode URI Cache Hits to total cache requests (since service startup)</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: URI cache misses</name>
                    <key>perf_counter_en[&quot;\Web Service Cache\URI Cache Misses&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The total number of unsuccessful lookups in the user-mode URI cache since service startup.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>IIS: World Wide Web Publishing Service (W3SVC) state</name>
                    <key>service_state[W3SVC]</key>
                    <history>7d</history>
                    <description>The World Wide Web Publishing Service (W3SVC) provides web connectivity and administration of websites through the IIS snap-in. If the World Wide Web Publishing Service stops, the operating system cannot serve any form of web request. This service was dependent on &quot;Windows Process Activation Service&quot;.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Windows service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;&gt;0</expression>
                            <name>IIS: The World Wide Web Publishing Service (W3SVC) is not running</name>
                            <priority>HIGH</priority>
                            <description>The World Wide Web Publishing Service (W3SVC) is not in running state. IIS cannot start.</description>
                            <dependencies>
                                <dependency>
                                    <name>IIS: Windows process Activation Service (WAS) is not the running</name>
                                    <expression>{Template App IIS by Zabbix agent:service_state[WAS].last()}&lt;&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>IIS: Windows Process Activation Service (WAS) state</name>
                    <key>service_state[WAS]</key>
                    <history>7d</history>
                    <description>Windows Process Activation Service (WAS) is a tool for managing worker processes that contain applications that host Windows Communication Foundation (WCF) services. Worker processes handle requests that are sent to a Web Server for specific application pools. Each application pool sets boundaries for the applications it contains.</description>
                    <applications>
                        <application>
                            <name>IIS</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Windows service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;&gt;0</expression>
                            <name>IIS: Windows process Activation Service (WAS) is not the running</name>
                            <priority>HIGH</priority>
                            <description>Windows Process Activation Service (WAS) is not in the running state. IIS cannot start.</description>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Application pools discovery</name>
                    <key>wmi.getall[root\webAdministration, select Name from ApplicationPool]</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#APPPOOL}</macro>
                                <value>{$IIS.APPPOOL.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#APPPOOL}</macro>
                                <value>{$IIS.APPPOOL.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>IIS: AppPool {#APPPOOL} state</name>
                            <key>perf_counter_en[&quot;\APP_POOL_WAS({#APPPOOL})\Current Application Pool State&quot;]</key>
                            <history>7d</history>
                            <description>The state of the application pool.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>{#APPPOOL}</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>Application pool state</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>10m</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&lt;&gt;3 and {$IIS.APPPOOL.MONITORED:&quot;{#APPPOOL}&quot;}=1</expression>
                                    <name>IIS: Application pool {#APPPOOL} is not in Running state</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>IIS: {#APPPOOL} Uptime</name>
                            <key>perf_counter_en[&quot;\APP_POOL_WAS({#APPPOOL})\Current Application Pool Uptime&quot;]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>s</units>
                            <description>The web application uptime period since the last restart.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>{#APPPOOL}</name>
                                </application_prototype>
                            </application_prototypes>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&lt;10m</expression>
                                    <name>IIS: {#APPPOOL} has been restarted (uptime &lt; 10m)</name>
                                    <priority>INFO</priority>
                                    <description>Uptime is less than 10 minutes</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>IIS: AppPool {#APPPOOL} recycles</name>
                            <key>perf_counter_en[&quot;\APP_POOL_WAS({#APPPOOL})\Total Application Pool Recycles&quot;]</key>
                            <history>7d</history>
                            <description>The number of times the application pool has been recycled since Windows Process Activation Service (WAS) started.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>{#APPPOOL}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>10m</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{diff()}=1 and {$IIS.APPPOOL.MONITORED:&quot;{#APPPOOL}&quot;}=1</expression>
                                    <name>IIS: Application pool {#APPPOOL} has been recycled</name>
                                    <priority>INFO</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>IIS: AppPool {#APPPOOL} current queue size</name>
                            <key>perf_counter_en[&quot;\HTTP Service Request Queues({#APPPOOL})\CurrentQueueSize&quot;]</key>
                            <delay>30s</delay>
                            <history>7d</history>
                            <description>The number of requests in the queue.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>{#APPPOOL}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>10m</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min({$IIS.QUEUE.MAX.TIME})}&gt;{$IIS.QUEUE.MAX.WARN}</expression>
                                    <name>IIS: Request queue of {#APPPOOL} is too large (over {$IIS.QUEUE.MAX.WARN})</name>
                                    <priority>WARNING</priority>
                                    <dependencies>
                                        <dependency>
                                            <name>IIS: Application pool {#APPPOOL} is not in Running state</name>
                                            <expression>{Template App IIS by Zabbix agent:perf_counter_en[&quot;\APP_POOL_WAS({#APPPOOL})\Current Application Pool State&quot;].last()}&lt;&gt;3 and {$IIS.APPPOOL.MONITORED:&quot;{#APPPOOL}&quot;}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <lld_macro_paths>
                        <lld_macro_path>
                            <lld_macro>{#APPPOOL}</lld_macro>
                            <path>$.Name</path>
                        </lld_macro_path>
                    </lld_macro_paths>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$IIS.APPPOOL.MATCHES}</macro>
                    <value>.+</value>
                    <description>This macro is used in application pools discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$IIS.APPPOOL.MONITORED}</macro>
                    <value>1</value>
                    <description>Monitoring status for discovered application pools. Use context to avoid trigger firing for specific application pools. &quot;1&quot; - enabled, &quot;0&quot; - disabled.</description>
                </macro>
                <macro>
                    <macro>{$IIS.APPPOOL.NOT_MATCHES}</macro>
                    <value>&lt;CHANGE_IF_NEEDED&gt;</value>
                    <description>This macro is used in application pools discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$IIS.PORT}</macro>
                    <value>80</value>
                    <description>Listening port.</description>
                </macro>
                <macro>
                    <macro>{$IIS.QUEUE.MAX.TIME}</macro>
                    <value>5m</value>
                    <description>The time during which the queue length may exceed the threshold.</description>
                </macro>
                <macro>
                    <macro>{$IIS.QUEUE.MAX.WARN}</macro>
                    <description>Maximum application pool's request queue length for trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$IIS.SERVICE}</macro>
                    <value>http</value>
                    <description>The service (http/https/etc) for port check. See &quot;net.tcp.service&quot; documentation page for more information: https://www.zabbix.com/documentation/5.0/manual/config/items/itemtypes/simple_checks</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template App IMAP Service</template>
            <name>Template App IMAP Service</name>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>IMAP service</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>IMAP service is running</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[imap]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>IMAP service</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>IMAP service is down on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template App LDAP Service</template>
            <name>Template App LDAP Service</name>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>LDAP service</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>LDAP service is running</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[ldap]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>LDAP service</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>LDAP service is down on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template App Nginx by HTTP</template>
            <name>Template App Nginx by HTTP</name>
            <description>Get metrics from stub status module using HTTP agent&#13;
https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html.&#13;
&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384765-discussion-thread-for-official-zabbix-template-nginx&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Nginx</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Nginx: Service response time</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service.perf[http,&quot;{HOST.CONN}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$NGINX.RESPONSE_TIME.MAX.WARN}</expression>
                            <name>Nginx: Service response time is too high (over {$NGINX.RESPONSE_TIME.MAX.WARN}s for 5m)</name>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Nginx: Service is down</name>
                                    <expression>{Template App Nginx by HTTP:net.tcp.service[http,&quot;{HOST.CONN}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Nginx: Service status</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[http,&quot;{HOST.CONN}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>Nginx: Service is down</name>
                            <priority>AVERAGE</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Nginx: Connections accepted per second</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.accepted.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The total number of accepted client connections.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)
\1</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>nginx.get_stub_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Connections active</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.active</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The current number of active client connections including Waiting connections.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Active connections: ([0-9]+)
\1</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>nginx.get_stub_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Connections dropped per second</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.dropped.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The total number of dropped client connections.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>var a = value.match(/server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)/)
if (a) {
    return a[1]-a[2]
}</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>nginx.get_stub_status</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)} &gt; {$NGINX.DROP_RATE.MAX.WARN}</expression>
                            <name>Nginx: High connections drop rate (more than {$NGINX.DROP_RATE.MAX.WARN} for 5m)</name>
                            <opdata>Current rate: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>The dropping rate connections is greater than {$NGINX.DROP_RATE.MAX.WARN} for the last 5 minutes.</description>
                            <dependencies>
                                <dependency>
                                    <name>Nginx: Service is down</name>
                                    <expression>{Template App Nginx by HTTP:net.tcp.service[http,&quot;{HOST.CONN}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Nginx: Connections handled per second</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.handled.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The total number of handled connections. Generally, the parameter value is the same as accepts unless some resource limits have been reached (for example, the worker_connections limit).</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)
\2</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>nginx.get_stub_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Connections reading</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.reading</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The current number of connections where nginx is reading the request header.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)
\1</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>nginx.get_stub_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Connections waiting</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.waiting</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The current number of idle client connections waiting for a request.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)
\3</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>nginx.get_stub_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Connections writing</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.writing</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The current number of connections where nginx is writing the response back to the client.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)
\2</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>nginx.get_stub_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Get stub status page</name>
                    <type>HTTP_AGENT</type>
                    <key>nginx.get_stub_status</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>The following status information is provided:&#13;
Active connections - the current number of active client connections including Waiting connections.&#13;
Accepts - the total number of accepted client connections.&#13;
Handled - the total number of handled connections. Generally, the parameter value is the same as accepts unless some resource limits have been reached (for example, the worker_connections limit).&#13;
Requests - the total number of client requests.&#13;
Reading - the current number of connections where nginx is reading the request header.&#13;
Writing - the current number of connections where nginx is writing the response back to the client.&#13;
Waiting - the current number of idle client connections waiting for a request.&#13;
https://nginx.org/en/docs/http/ngx_http_stub_status_module.html</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <url>{$NGINX.STUB_STATUS.SCHEME}://{HOST.CONN}:{$NGINX.STUB_STATUS.PORT}/{$NGINX.STUB_STATUS.PATH}</url>
                    <retrieve_mode>BOTH</retrieve_mode>
                    <triggers>
                        <trigger>
                            <expression>{str(&quot;HTTP/1.1 200&quot;)}=0 or {nodata(30m)}=1</expression>
                            <name>Nginx: Failed to fetch stub status page (or no data for 30m)</name>
                            <priority>WARNING</priority>
                            <description>Zabbix has not received data for items for the last 30 minutes.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Nginx: Service is down</name>
                                    <expression>{Template App Nginx by HTTP:net.tcp.service[http,&quot;{HOST.CONN}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Nginx: Requests total</name>
                    <type>DEPENDENT</type>
                    <key>nginx.requests.total</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The total number of client requests.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)
\3</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>nginx.get_stub_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Requests per second</name>
                    <type>DEPENDENT</type>
                    <key>nginx.requests.total.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The total number of client requests.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)
\3</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>nginx.get_stub_status</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Version</name>
                    <type>DEPENDENT</type>
                    <key>nginx.version</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Server: nginx/(.+)
\1</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>nginx.get_stub_status</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Nginx: Version has changed (new version: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>Nginx version has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$NGINX.DROP_RATE.MAX.WARN}</macro>
                    <value>1</value>
                    <description>The critical rate of the dropped connections for trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$NGINX.RESPONSE_TIME.MAX.WARN}</macro>
                    <value>10</value>
                    <description>The Nginx maximum response time in seconds for trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$NGINX.STUB_STATUS.PATH}</macro>
                    <value>basic_status</value>
                    <description>The path of Nginx stub_status page.</description>
                </macro>
                <macro>
                    <macro>{$NGINX.STUB_STATUS.PORT}</macro>
                    <value>80</value>
                    <description>The port of Nginx stub_status host or container.</description>
                </macro>
                <macro>
                    <macro>{$NGINX.STUB_STATUS.SCHEME}</macro>
                    <value>http</value>
                    <description>The protocol http or https of Nginx stub_status host or container.</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Nginx performance</name>
                    <hsize>2</hsize>
                    <vsize>2</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Nginx: Connections by state</name>
                                <host>Template App Nginx by HTTP</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Nginx: Requests per second</name>
                                <host>Template App Nginx by HTTP</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Nginx: Connections per second</name>
                                <host>Template App Nginx by HTTP</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template App Nginx by Zabbix agent</template>
            <name>Template App Nginx by Zabbix agent</name>
            <description>Get metrics from stub status module using Zabbix agent running on Linux&#13;
https://nginx.ru/en/docs/http/ngx_http_stub_status_module.html&#13;
&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384765-discussion-thread-for-official-zabbix-template-nginx&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Nginx</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Nginx: Service response time</name>
                    <key>net.tcp.service.perf[http,&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$NGINX.RESPONSE_TIME.MAX.WARN}</expression>
                            <name>Nginx: Service response time is too high (over {$NGINX.RESPONSE_TIME.MAX.WARN}s for 5m)</name>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Nginx: Process is not running</name>
                                    <expression>{Template App Nginx by Zabbix agent:proc.num[nginx].last()}=0</expression>
                                </dependency>
                                <dependency>
                                    <name>Nginx: Service is down</name>
                                    <expression>{Template App Nginx by Zabbix agent:net.tcp.service[http,&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Nginx: Service status</name>
                    <key>net.tcp.service[http,&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>Nginx: Service is down</name>
                            <priority>AVERAGE</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Nginx: Process is not running</name>
                                    <expression>{Template App Nginx by Zabbix agent:proc.num[nginx].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Nginx: Connections accepted per second</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.accepted.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The total number of accepted client connections.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)
\1</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PATH}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Connections active</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.active</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The current number of active client connections including Waiting connections.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Active connections: ([0-9]+)
\1</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PATH}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Connections dropped per second</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.dropped.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The total number of dropped client connections.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>var a = value.match(/server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)/)
if (a) {
    return a[1]-a[2]
}</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PATH}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)} &gt; {$NGINX.DROP_RATE.MAX.WARN}</expression>
                            <name>Nginx: High connections drop rate (more than {$NGINX.DROP_RATE.MAX.WARN} for 5m)</name>
                            <opdata>Current rate: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>The dropping rate connections is greater than {$NGINX.DROP_RATE.MAX.WARN} for the last 5 minutes.</description>
                            <dependencies>
                                <dependency>
                                    <name>Nginx: Process is not running</name>
                                    <expression>{Template App Nginx by Zabbix agent:proc.num[nginx].last()}=0</expression>
                                </dependency>
                                <dependency>
                                    <name>Nginx: Service is down</name>
                                    <expression>{Template App Nginx by Zabbix agent:net.tcp.service[http,&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Nginx: Connections handled per second</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.handled.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The total number of handled connections. Generally, the parameter value is the same as accepts unless some resource limits have been reached (for example, the worker_connections limit).</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)
\2</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PATH}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Connections reading</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.reading</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The current number of connections where nginx is reading the request header.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)
\1</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PATH}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Connections waiting</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.waiting</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The current number of idle client connections waiting for a request.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)
\3</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PATH}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Connections writing</name>
                    <type>DEPENDENT</type>
                    <key>nginx.connections.writing</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The current number of connections where nginx is writing the response back to the client.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Reading: ([0-9]+) Writing: ([0-9]+) Waiting: ([0-9]+)
\2</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PATH}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Requests total</name>
                    <type>DEPENDENT</type>
                    <key>nginx.requests.total</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The total number of client requests.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)
\3</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PATH}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Requests per second</name>
                    <type>DEPENDENT</type>
                    <key>nginx.requests.total.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The total number of client requests.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>server accepts handled requests\s+([0-9]+) ([0-9]+) ([0-9]+)
\3</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PATH}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Nginx: Version</name>
                    <type>DEPENDENT</type>
                    <key>nginx.version</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Server: nginx/(.+)
\1</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PATH}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Nginx: Version has changed (new version: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>Nginx version has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Nginx: CPU utilization</name>
                    <key>proc.cpu.util[nginx]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Process CPU utilization percentage.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Nginx: Memory usage (rss)</name>
                    <key>proc.mem[nginx,,,,rss]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Resident set size memory used by process in bytes.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Nginx: Memory usage (vsize)</name>
                    <key>proc.mem[nginx,,,,vsize]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Virtual memory size used by process in bytes.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Nginx: Number of processes running</name>
                    <key>proc.num[nginx]</key>
                    <history>7d</history>
                    <description>Number of the Nginx processes running.</description>
                    <applications>
                        <application>
                            <name>Nginx</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>Nginx: Process is not running</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Nginx: Get stub status page</name>
                    <key>web.page.get[&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PATH}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>The following status information is provided:&#13;
Active connections - the current number of active client connections including Waiting connections.&#13;
Accepts - the total number of accepted client connections.&#13;
Handled - the total number of handled connections. Generally, the parameter value is the same as accepts unless some resource limits have been reached (for example, the worker_connections limit).&#13;
Requests - the total number of client requests.&#13;
Reading - the current number of connections where nginx is reading the request header.&#13;
Writing - the current number of connections where nginx is writing the response back to the client.&#13;
Waiting - the current number of idle client connections waiting for a request.&#13;
https://nginx.org/en/docs/http/ngx_http_stub_status_module.html</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{str(&quot;HTTP/1.1 200&quot;)}=0 or {nodata(30m)}=1</expression>
                            <name>Nginx: Failed to fetch stub status page (or no data for 30m)</name>
                            <priority>WARNING</priority>
                            <description>Zabbix has not received data for items for the last 30 minutes.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Nginx: Process is not running</name>
                                    <expression>{Template App Nginx by Zabbix agent:proc.num[nginx].last()}=0</expression>
                                </dependency>
                                <dependency>
                                    <name>Nginx: Service is down</name>
                                    <expression>{Template App Nginx by Zabbix agent:net.tcp.service[http,&quot;{$NGINX.STUB_STATUS.HOST}&quot;,&quot;{$NGINX.STUB_STATUS.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$NGINX.DROP_RATE.MAX.WARN}</macro>
                    <value>1</value>
                    <description>The critical rate of the dropped connections for trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$NGINX.RESPONSE_TIME.MAX.WARN}</macro>
                    <value>10</value>
                    <description>The Nginx maximum response time in seconds for trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$NGINX.STUB_STATUS.HOST}</macro>
                    <value>localhost</value>
                    <description>Hostname or IP of Nginx stub_status host or container.</description>
                </macro>
                <macro>
                    <macro>{$NGINX.STUB_STATUS.PATH}</macro>
                    <value>basic_status</value>
                    <description>The path of Nginx stub_status page.</description>
                </macro>
                <macro>
                    <macro>{$NGINX.STUB_STATUS.PORT}</macro>
                    <value>80</value>
                    <description>The port of Nginx stub_status host or container.</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Nginx performance</name>
                    <hsize>2</hsize>
                    <vsize>2</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Nginx: Connections by state</name>
                                <host>Template App Nginx by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Nginx: Requests per second</name>
                                <host>Template App Nginx by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Nginx: Connections per second</name>
                                <host>Template App Nginx by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template App NNTP Service</template>
            <name>Template App NNTP Service</name>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>NNTP service</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>NNTP service is running</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[nntp]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>NNTP service</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>NNTP service is down on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template App NTP Service</template>
            <name>Template App NTP Service</name>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>NTP service</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>NTP service is running</name>
                    <type>SIMPLE</type>
                    <key>net.udp.service[ntp]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>NTP service</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>NTP service is down on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template App POP Service</template>
            <name>Template App POP Service</name>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>POP service</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>POP service is running</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[pop]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>POP service</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>POP service is down on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template App RabbitMQ cluster by HTTP</template>
            <name>Template App RabbitMQ cluster by HTTP</name>
            <description>Get cluster metrics from RabbitMQ management plugin provided an HTTP-based API using HTTP agent.&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq&#13;
&#13;
Template tooling version used: 0.33</description>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>RabbitMQ</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>RabbitMQ: Get exchanges</name>
                    <type>HTTP_AGENT</type>
                    <key>rabbitmq.get_exchanges</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <authtype>BASIC</authtype>
                    <username>{$RABBITMQ.API.USER}</username>
                    <password>{$RABBITMQ.API.PASSWORD}</password>
                    <description>The HTTP API endpoint that returns exchanges metrics</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <url>{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/exchanges</url>
                </item>
                <item>
                    <name>RabbitMQ: Get overview</name>
                    <type>HTTP_AGENT</type>
                    <key>rabbitmq.get_overview</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <authtype>BASIC</authtype>
                    <username>{$RABBITMQ.API.USER}</username>
                    <password>{$RABBITMQ.API.PASSWORD}</password>
                    <description>The HTTP API endpoint that returns cluster-wide metrics</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <url>{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/overview</url>
                    <triggers>
                        <trigger>
                            <expression>{nodata(30m)}=1</expression>
                            <name>RabbitMQ: Failed to fetch overview data (or no data for 30m)</name>
                            <priority>WARNING</priority>
                            <description>Zabbix has not received data for items for the last 30 minutes</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Messages acknowledged</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.ack</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of messages delivered to clients and acknowledged</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.ack</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages acknowledged per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.ack.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages delivered to clients and acknowledged per second</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.ack_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages confirmed</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.confirm</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of messages confirmed</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.confirm</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages confirmed per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.confirm.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages confirmed per second</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.confirm_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages delivered</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.deliver_get</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.deliver_get</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages delivered per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.deliver_get.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate per second of the sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.deliver_get_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages published</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of messages published</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages published per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages published per second</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages publish_in</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish_in</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of messages published from channels into this overview</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish_in</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages publish_in per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish_in.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages published from channels into this overview per sec</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish_in_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages publish_out</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish_out</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of messages published from this overview into queues</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish_out</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages publish_out per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish_out.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages published from this overview into queues per second,0,rabbitmq,total msgs pub out rate</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish_out_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages returned redeliver</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.redeliver</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of subset of messages in deliver_get which had the redelivered flag set</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.redeliver</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages returned redeliver per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.redeliver.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of subset of messages in deliver_get which had the redelivered flag set per second</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.redeliver_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages returned unroutable</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.return_unroutable</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of messages returned to publisher as unroutable</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.return_unroutable</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages returned unroutable per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.return_unroutable.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages returned to publisher as unroutable per second</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.return_unroutable_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Channels total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.object_totals.channels</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of channels</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.object_totals.channels</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Connections total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.object_totals.connections</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of connections</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.object_totals.connections</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Consumers total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.object_totals.consumers</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of consumers</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.object_totals.consumers</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Exchanges total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.object_totals.exchanges</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of exchanges</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.object_totals.exchanges</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Queues total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.object_totals.queues</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of queues</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.object_totals.queues</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.queue_totals.messages</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of messages (ready plus unacknowledged)</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.queue_totals.messages</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages ready for delivery</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.queue_totals.messages.ready</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of messages ready for deliver</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.queue_totals.messages_ready</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages unacknowledged</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.queue_totals.messages.unacknowledged</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of unacknowledged messages</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.queue_totals.messages_unacknowledged</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_overview</key>
                    </master_item>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Exchanges discovery</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.exchanges.discovery</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#EXCHANGE}</macro>
                                <value>{$RABBITMQ.LLD.FILTER.EXCHANGE.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#EXCHANGE}</macro>
                                <value>{$RABBITMQ.LLD.FILTER.EXCHANGE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Individual exchange metrics</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages acknowledged per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.ack.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages delivered to clients and acknowledged per second</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.ack_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages acknowledged</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.ack[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of messages delivered to clients and acknowledged</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.ack.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages confirmed per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.confirm.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages confirmed per second</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.confirm_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages confirmed</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.confirm[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages confirmed</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.confirm.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages delivered per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.deliver_get.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate per second of the sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.deliver_get_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages delivered</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.deliver_get[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.deliver_get.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages published per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages published per second</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages published</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages published</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages publish_in per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish_in.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages published from channels into this overview per sec</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish_in_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages publish_in</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish_in[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages published from channels into this overview</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish_in.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages publish_out per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish_out.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages published from this overview into queues per second,0,rabbitmq,total msgs pub out rate</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish_out_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages publish_out</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish_out[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages published from this overview into queues</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish_out.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages redelivered per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.redeliver.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of subset of messages in deliver_get which had the redelivered flag set per second</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.redeliver_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages redelivered</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.redeliver[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of subset of messages in deliver_get which had the redelivered flag set</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.redeliver.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages returned unroutable per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.return_unroutable.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages returned to publisher as unroutable per second</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.return_unroutable_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages returned unroutable</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.return_unroutable[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages returned to publisher as unroutable</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.return_unroutable.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_exchanges</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <master_item>
                        <key>rabbitmq.get_exchanges</key>
                    </master_item>
                    <lld_macro_paths>
                        <lld_macro_path>
                            <lld_macro>{#EXCHANGE}</lld_macro>
                            <path>$.name</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#TYPE}</lld_macro>
                            <path>$.type</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#VHOST}</lld_macro>
                            <path>$.vhost</path>
                        </lld_macro_path>
                    </lld_macro_paths>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$RABBITMQ.API.PASSWORD}</macro>
                    <value>zabbix</value>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.PORT}</macro>
                    <value>15672</value>
                    <description>The port of RabbitMQ API endpoint</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.SCHEME}</macro>
                    <value>http</value>
                    <description>Request scheme which may be http or https</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.USER}</macro>
                    <value>zbx_monitor</value>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.LLD.FILTER.EXCHANGE.MATCHES}</macro>
                    <value>.*</value>
                    <description>Filter of discoverable exchanges</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.LLD.FILTER.EXCHANGE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                    <description>Filter to exclude discovered exchanges</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>RabbitMQ overview</name>
                    <hsize>2</hsize>
                    <vsize>3</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Messages</name>
                                <host>Template App RabbitMQ cluster by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Connections</name>
                                <host>Template App RabbitMQ cluster by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Messages status</name>
                                <host>Template App RabbitMQ cluster by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Queues</name>
                                <host>Template App RabbitMQ cluster by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Messages per second</name>
                                <host>Template App RabbitMQ cluster by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template App RabbitMQ cluster by Zabbix agent</template>
            <name>Template App RabbitMQ cluster by Zabbix agent</name>
            <description>Get cluster metrics from RabbitMQ management plugin provided an HTTP-based API using Zabbix agent.&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq&#13;
&#13;
Template tooling version used: 0.33</description>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>RabbitMQ</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>RabbitMQ: Messages acknowledged</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.ack</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of messages delivered to clients and acknowledged</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.ack</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages acknowledged per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.ack.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages delivered to clients and acknowledged per second</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.ack_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages confirmed</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.confirm</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of messages confirmed</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.confirm</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages confirmed per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.confirm.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages confirmed per second</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.confirm_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages delivered</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.deliver_get</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.deliver_get</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages delivered per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.deliver_get.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate per second of the sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.deliver_get_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages published</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of messages published</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages published per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages published per second</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages publish_in</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish_in</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of messages published from channels into this overview</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish_in</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages publish_in per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish_in.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages published from channels into this overview per sec</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish_in_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages publish_out</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish_out</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of messages published from this overview into queues</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish_out</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages publish_out per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.publish_out.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages published from this overview into queues per second,0,rabbitmq,total msgs pub out rate</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.publish_out_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages returned redeliver</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.redeliver</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of subset of messages in deliver_get which had the redelivered flag set</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.redeliver</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages returned redeliver per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.redeliver.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of subset of messages in deliver_get which had the redelivered flag set per second</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.redeliver_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages returned unroutable</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.return_unroutable</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Count of messages returned to publisher as unroutable</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.return_unroutable</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages returned unroutable per second</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.messages.return_unroutable.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Rate of messages returned to publisher as unroutable per second</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.message_stats.return_unroutable_details.rate</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Channels total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.object_totals.channels</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of channels</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.object_totals.channels</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Connections total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.object_totals.connections</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of connections</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.object_totals.connections</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Consumers total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.object_totals.consumers</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of consumers</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.object_totals.consumers</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Exchanges total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.object_totals.exchanges</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of exchanges</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.object_totals.exchanges</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Queues total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.object_totals.queues</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of queues</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.object_totals.queues</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages total</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.queue_totals.messages</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of messages (ready plus unacknowledged)</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.queue_totals.messages</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages ready for delivery</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.queue_totals.messages.ready</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of messages ready for deliver</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.queue_totals.messages_ready</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Messages unacknowledged</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.overview.queue_totals.messages.unacknowledged</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of unacknowledged messages</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.queue_totals.messages_unacknowledged</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Get exchanges</name>
                    <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>The HTTP API endpoint that returns exchanges metrics</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>\n\s?\n(.*)
\1</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>RabbitMQ: Get overview</name>
                    <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>The HTTP API endpoint that returns cluster-wide metrics</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>\n\s?\n(.*)
\1</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{nodata(30m)}=1</expression>
                            <name>RabbitMQ: Failed to fetch overview data (or no data for 30m)</name>
                            <priority>WARNING</priority>
                            <description>Zabbix has not received data for items for the last 30 minutes</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Exchanges discovery</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.exchanges.discovery</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#EXCHANGE}</macro>
                                <value>{$RABBITMQ.LLD.FILTER.EXCHANGE.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#EXCHANGE}</macro>
                                <value>{$RABBITMQ.LLD.FILTER.EXCHANGE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Individual exchange metrics</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages acknowledged per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.ack.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages delivered to clients and acknowledged per second</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.ack_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages acknowledged</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.ack[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of messages delivered to clients and acknowledged</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.ack.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages confirmed per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.confirm.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages confirmed per second</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.confirm_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages confirmed</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.confirm[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages confirmed</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.confirm.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages delivered per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.deliver_get.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate per second of the sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.deliver_get_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages delivered</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.deliver_get[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.deliver_get.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages published per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages published per second</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages published</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages published</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages publish_in per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish_in.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages published from channels into this overview per sec</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish_in_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages publish_in</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish_in[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages published from channels into this overview</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish_in.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages publish_out per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish_out.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages published from this overview into queues per second,0,rabbitmq,total msgs pub out rate</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish_out_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages publish_out</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.publish_out[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages published from this overview into queues</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.publish_out.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages redelivered per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.redeliver.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of subset of messages in deliver_get which had the redelivered flag set per second</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.redeliver_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages redelivered</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.redeliver[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of subset of messages in deliver_get which had the redelivered flag set</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.redeliver.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages returned unroutable per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.return_unroutable.rate[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of messages returned to publisher as unroutable per second</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.return_unroutable_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Exchange {#VHOST}/{#EXCHANGE}/{#TYPE}: Messages returned unroutable</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.exchange.messages.return_unroutable[&quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages returned to publisher as unroutable</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Exchange &quot;{#VHOST}/{#EXCHANGE}/{#TYPE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#EXCHANGE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot; &amp;&amp; @.type ==&quot;{#TYPE}&quot;)].message_stats.return_unroutable.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.CLUSTER_HOST}:{$RABBITMQ.API.PORT}/api/exchanges&quot;]</key>
                    </master_item>
                    <lld_macro_paths>
                        <lld_macro_path>
                            <lld_macro>{#EXCHANGE}</lld_macro>
                            <path>$.name</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#TYPE}</lld_macro>
                            <path>$.type</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#VHOST}</lld_macro>
                            <path>$.vhost</path>
                        </lld_macro_path>
                    </lld_macro_paths>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$RABBITMQ.API.CLUSTER_HOST}</macro>
                    <value>127.0.0.1</value>
                    <description>The hostname or IP of RabbitMQ cluster API endpoint</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.PASSWORD}</macro>
                    <value>zabbix</value>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.PORT}</macro>
                    <value>15672</value>
                    <description>The port of RabbitMQ API endpoint</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.USER}</macro>
                    <value>zbx_monitor</value>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.LLD.FILTER.EXCHANGE.MATCHES}</macro>
                    <value>.*</value>
                    <description>Filter of discoverable exchanges</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.LLD.FILTER.EXCHANGE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                    <description>Filter to exclude discovered exchanges</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>RabbitMQ overview</name>
                    <hsize>2</hsize>
                    <vsize>3</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Messages</name>
                                <host>Template App RabbitMQ cluster by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Connections</name>
                                <host>Template App RabbitMQ cluster by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Messages status</name>
                                <host>Template App RabbitMQ cluster by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Queues</name>
                                <host>Template App RabbitMQ cluster by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Messages per second</name>
                                <host>Template App RabbitMQ cluster by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template App RabbitMQ node by HTTP</template>
            <name>Template App RabbitMQ node by HTTP</name>
            <description>Get node metrics from RabbitMQ management plugin provided an HTTP-based API using HTTP agent.&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq&#13;
&#13;
Template tooling version used: 0.33</description>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>RabbitMQ</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>RabbitMQ: Service response time</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service.perf[http,&quot;{HOST.CONN}&quot;,&quot;{$RABBITMQ.API.PORT}&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$RABBITMQ.RESPONSE_TIME.MAX.WARN}</expression>
                            <name>RabbitMQ: Service response time is too high (over {$RABBITMQ.RESPONSE_TIME.MAX.WARN}s for 5m)</name>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>RabbitMQ: Service is down</name>
                                    <expression>{Template App RabbitMQ node by HTTP:net.tcp.service[http,&quot;{HOST.CONN}&quot;,&quot;{$RABBITMQ.API.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Service ping</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[http,&quot;{HOST.CONN}&quot;,&quot;{$RABBITMQ.API.PORT}&quot;]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>RabbitMQ: Service is down</name>
                            <priority>AVERAGE</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Get nodes</name>
                    <type>HTTP_AGENT</type>
                    <key>rabbitmq.get_nodes</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <authtype>BASIC</authtype>
                    <username>{$RABBITMQ.API.USER}</username>
                    <password>{$RABBITMQ.API.PASSWORD}</password>
                    <description>The HTTP API endpoint that returns nodes metrics</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <url>{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true</url>
                    <triggers>
                        <trigger>
                            <expression>{nodata(30m)}=1</expression>
                            <name>RabbitMQ: Failed to fetch nodes data (or no data for 30m)</name>
                            <priority>WARNING</priority>
                            <description>Zabbix has not received data for items for the last 30 minutes.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>RabbitMQ: Service is down</name>
                                    <expression>{Template App RabbitMQ node by HTTP:net.tcp.service[http,&quot;{HOST.CONN}&quot;,&quot;{$RABBITMQ.API.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Get node overview</name>
                    <type>HTTP_AGENT</type>
                    <key>rabbitmq.get_node_overview</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <authtype>BASIC</authtype>
                    <username>{$RABBITMQ.API.USER}</username>
                    <password>{$RABBITMQ.API.PASSWORD}</password>
                    <description>The HTTP API endpoint that returns cluster-wide metrics</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <url>{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/overview</url>
                </item>
                <item>
                    <name>RabbitMQ: Get queues</name>
                    <type>HTTP_AGENT</type>
                    <key>rabbitmq.get_queues</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <authtype>BASIC</authtype>
                    <username>{$RABBITMQ.API.USER}</username>
                    <password>{$RABBITMQ.API.PASSWORD}</password>
                    <description>The HTTP API endpoint that returns queues metrics</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <url>{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/queues</url>
                </item>
                <item>
                    <name>RabbitMQ: Healthcheck</name>
                    <type>HTTP_AGENT</type>
                    <key>rabbitmq.healthcheck</key>
                    <history>7h</history>
                    <authtype>BASIC</authtype>
                    <username>{$RABBITMQ.API.USER}</username>
                    <password>{$RABBITMQ.API.PASSWORD}</password>
                    <description>Runs basic healthchecks in the current node. Checks that the rabbit application is running, channels and queues can be listed successfully, and that no alarms are in effect.</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>RabbitMQ healthcheck</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.status</params>
                        </step>
                        <step>
                            <type>BOOL_TO_DECIMAL</type>
                            <params/>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <url>{$RABBITMQ.API.SCHEME}://{HOST.CONN}:{$RABBITMQ.API.PORT}/api/healthchecks/node</url>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>RabbitMQ: Node healthcheck failed</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>AVERAGE</priority>
                            <description>https://www.rabbitmq.com/monitoring.html#health-checks</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Free disk space</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.disk_free</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Current free disk space</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.disk_free</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Disk free alarm</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.disk_free_alarm</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Does the node have disk alarm</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Alarm state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.disk_free_alarm</params>
                        </step>
                        <step>
                            <type>BOOL_TO_DECIMAL</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>RabbitMQ: Free disk space alarm (Free space threshold has been reached)</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>AVERAGE</priority>
                            <description>https://www.rabbitmq.com/disk-alarms.html</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Disk free limit</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.disk_free_limit</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Disk free space limit in bytes</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.disk_free_limit</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Used file descriptors</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.fd_used</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Used file descriptors</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.fd_used</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Memory alarm</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.mem_alarm</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Does the host has memory alarm</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Alarm state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.mem_alarm</params>
                        </step>
                        <step>
                            <type>BOOL_TO_DECIMAL</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>RabbitMQ: Memory alarm (Memory usage threshold has been reached)</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>AVERAGE</priority>
                            <description>https://www.rabbitmq.com/memory.html</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Memory limit</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.mem_limit</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Memory usage high watermark in bytes</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.mem_limit</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Memory used</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.mem_used</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Memory used in bytes</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.mem_used</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Management plugin version</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.overview.management_version</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>Version of the management plugin in use</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.management_version</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_node_overview</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: RabbitMQ version</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.overview.rabbitmq_version</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>Version of RabbitMQ on the node which processed this request</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.rabbitmq_version</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_node_overview</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>RabbitMQ: Version has changed (new version: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>RabbitMQ version has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Number of network partitions</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.partitions</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of network partitions this node is seeing</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.partitions</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>return JSON.parse(value).length;</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;0</expression>
                            <name>RabbitMQ: Number of network partitions is too high (more than 0 for 5m)</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>https://www.rabbitmq.com/partitions.html#detecting</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Is running</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.running</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Is the node running or not</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.running</params>
                        </step>
                        <step>
                            <type>BOOL_TO_DECIMAL</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(5m)}=0</expression>
                            <name>RabbitMQ: Node is not running</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>AVERAGE</priority>
                            <description>RabbitMQ node is not running</description>
                            <dependencies>
                                <dependency>
                                    <name>RabbitMQ: Service is down</name>
                                    <expression>{Template App RabbitMQ node by HTTP:net.tcp.service[http,&quot;{HOST.CONN}&quot;,&quot;{$RABBITMQ.API.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Runtime run queue</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.run_queue</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Average number of Erlang processes waiting to run</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.run_queue</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Sockets available</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.sockets_total</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>File descriptors available for use as sockets</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.sockets_total</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Sockets used</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.sockets_used</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of file descriptors used as sockets</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.sockets_used</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Uptime</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.uptime</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>Uptime in milliseconds</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.uptime</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>rabbitmq.get_nodes</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>RabbitMQ: has been restarted (uptime &lt; 10m)</name>
                            <priority>INFO</priority>
                            <description>Uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Queues discovery</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.queues.discovery</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#QUEUE}</macro>
                                <value>{$RABBITMQ.LLD.FILTER.QUEUE.MATCHES}</value>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#QUEUE}</macro>
                                <value>{$RABBITMQ.LLD.FILTER.QUEUE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#NODE}</macro>
                                <value>{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Individual queue metrics</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Consumers</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.consumers[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of consumers</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].consumers.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Memory</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.memory[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>B</units>
                            <description>Bytes of memory consumed by the Erlang process associated with the queue, including stack, heap and internal structures</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].memory.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages acknowledged per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.ack.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Number per second of messages delivered to clients and acknowledged</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.ack_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages acknowledged</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.ack[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of messages delivered to clients and acknowledged</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.ack.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages delivered per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.deliver.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Count of messages delivered in acknowledgement mode to consumers</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.deliver_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages delivered</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.deliver[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages delivered in acknowledgement mode to consumers</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.deliver.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages delivered per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.deliver_get.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate per second of the sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.deliver_get_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages delivered</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.deliver_get[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.deliver_get.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages published per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.publish.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate per second of messages published</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.publish_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages published</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.publish[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages published</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.publish.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Count per second of the total messages in the queue</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages_details.rate.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages redelivered per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.redeliver.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate per second of subset of messages in deliver_get which had the redelivered flag set</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.redeliver_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages redelivered</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.redeliver[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of subset of messages in deliver_get which had the redelivered flag set</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.redeliver.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of the total messages in the queue</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$RABBITMQ.MESSAGES.MAX.WARN:&quot;{#QUEUE}&quot;}</expression>
                                    <name>RabbitMQ: Too many messages in queue (over {$RABBITMQ.MESSAGES.MAX.WARN} for 5m)</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages ready per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages_ready.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Number per second of messages ready to be delivered to clients</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages_ready_details.rate.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages ready</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages_ready[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of messages ready to be delivered to clients</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages_ready.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages unacknowledged per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages_unacknowledged.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Number per second of messages delivered to clients but not yet acknowledged</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages_unacknowledged_details.rate.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages unacknowledged</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages_unacknowledged[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of messages delivered to clients but not yet acknowledged</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages_unacknowledged.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>rabbitmq.get_queues</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages per second</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages.ack.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages.deliver.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages.deliver_get.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages.publish.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages_ready.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>6</sortorder>
                                    <color>AC8C14</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages.redeliver.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>7</sortorder>
                                    <color>611F27</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages_unacknowledged.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages status</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages.ack[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages.deliver[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages.deliver_get[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages.publish[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages_ready[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>6</sortorder>
                                    <color>AC8C14</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages.redeliver[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>7</sortorder>
                                    <color>611F27</color>
                                    <item>
                                        <host>Template App RabbitMQ node by HTTP</host>
                                        <key>rabbitmq.queue.messages_unacknowledged[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>rabbitmq.get_queues</key>
                    </master_item>
                    <lld_macro_paths>
                        <lld_macro_path>
                            <lld_macro>{#QUEUE}</lld_macro>
                            <path>$.name</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#VHOST}</lld_macro>
                            <path>$.vhost</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#NODE}</lld_macro>
                            <path>$.node</path>
                        </lld_macro_path>
                    </lld_macro_paths>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$RABBITMQ.API.PASSWORD}</macro>
                    <value>zabbix</value>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.PORT}</macro>
                    <value>15672</value>
                    <description>The port of RabbitMQ API endpoint</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.SCHEME}</macro>
                    <value>http</value>
                    <description>Request scheme which may be http or https</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.USER}</macro>
                    <value>zbx_monitor</value>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.CLUSTER.NAME}</macro>
                    <value>rabbit</value>
                    <description>The name of RabbitMQ cluster</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.LLD.FILTER.QUEUE.MATCHES}</macro>
                    <value>.*</value>
                    <description>Filter of discoverable queues</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.LLD.FILTER.QUEUE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                    <description>Filter to exclude discovered queues</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.MESSAGES.MAX.WARN}</macro>
                    <value>1000</value>
                    <description>Maximum number of messages in the queue for trigger expression</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.RESPONSE_TIME.MAX.WARN}</macro>
                    <value>10</value>
                    <description>Maximum RabbitMQ response time in seconds for trigger expression</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>RabbitMQ node status</name>
                    <hsize>2</hsize>
                    <vsize>3</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Node status</name>
                                <host>Template App RabbitMQ node by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Uptime</name>
                                <host>Template App RabbitMQ node by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Disk free</name>
                                <host>Template App RabbitMQ node by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Memory used</name>
                                <host>Template App RabbitMQ node by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: File descriptors</name>
                                <host>Template App RabbitMQ node by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Sockets</name>
                                <host>Template App RabbitMQ node by HTTP</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template App RabbitMQ node by Zabbix agent</template>
            <name>Template App RabbitMQ node by Zabbix agent</name>
            <description>Get node metrics from RabbitMQ management plugin provided an HTTP-based API using Zabbix agent.&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387226-discussion-thread-for-official-zabbix-template-rabbitmq&#13;
&#13;
Template tooling version used: 0.33</description>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>RabbitMQ</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>RabbitMQ: Service response time</name>
                    <key>net.tcp.service.perf[http,&quot;{$RABBITMQ.API.HOST}&quot;,&quot;{$RABBITMQ.API.PORT}&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$RABBITMQ.RESPONSE_TIME.MAX.WARN}</expression>
                            <name>RabbitMQ: Service response time is too high (over {$RABBITMQ.RESPONSE_TIME.MAX.WARN}s for 5m)</name>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>RabbitMQ: Process is not running</name>
                                    <expression>{Template App RabbitMQ node by Zabbix agent:proc.num[&quot;{$RABBITMQ.PROCESS_NAME}&quot;].last()}=0</expression>
                                </dependency>
                                <dependency>
                                    <name>RabbitMQ: Service is down</name>
                                    <expression>{Template App RabbitMQ node by Zabbix agent:net.tcp.service[http,&quot;{$RABBITMQ.API.HOST}&quot;,&quot;{$RABBITMQ.API.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Service ping</name>
                    <key>net.tcp.service[http,&quot;{$RABBITMQ.API.HOST}&quot;,&quot;{$RABBITMQ.API.PORT}&quot;]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>RabbitMQ: Service is down</name>
                            <priority>AVERAGE</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>RabbitMQ: Process is not running</name>
                                    <expression>{Template App RabbitMQ node by Zabbix agent:proc.num[&quot;{$RABBITMQ.PROCESS_NAME}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: CPU utilization</name>
                    <key>proc.cpu.util[&quot;{$RABBITMQ.PROCESS_NAME}&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Process CPU utilization percentage.</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>RabbitMQ: Memory usage (rss)</name>
                    <key>proc.mem[&quot;{$RABBITMQ.PROCESS_NAME}&quot;,,,,rss]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Resident set size memory used by process in bytes.</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>RabbitMQ: Memory usage (vsize)</name>
                    <key>proc.mem[&quot;{$RABBITMQ.PROCESS_NAME}&quot;,,,,vsize]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Virtual memory size used by process in bytes.</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>RabbitMQ: Number of processes running</name>
                    <key>proc.num[&quot;{$RABBITMQ.PROCESS_NAME}&quot;]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>RabbitMQ: Process is not running</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Free disk space</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.disk_free</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Current free disk space</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.disk_free</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Disk free alarm</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.disk_free_alarm</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Does the node have disk alarm</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Alarm state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.disk_free_alarm</params>
                        </step>
                        <step>
                            <type>BOOL_TO_DECIMAL</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>RabbitMQ: Free disk space alarm (Free space threshold has been reached)</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>AVERAGE</priority>
                            <description>https://www.rabbitmq.com/disk-alarms.html</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Disk free limit</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.disk_free_limit</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Disk free space limit in bytes</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.disk_free_limit</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Used file descriptors</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.fd_used</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Used file descriptors</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.fd_used</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Memory alarm</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.mem_alarm</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Does the host has memory alarm</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Alarm state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.mem_alarm</params>
                        </step>
                        <step>
                            <type>BOOL_TO_DECIMAL</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>RabbitMQ: Memory alarm (Memory usage threshold has been reached)</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>AVERAGE</priority>
                            <description>https://www.rabbitmq.com/memory.html</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Memory limit</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.mem_limit</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Memory usage high watermark in bytes</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.mem_limit</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Memory used</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.mem_used</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Memory used in bytes</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.mem_used</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Management plugin version</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.overview.management_version</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>Version of the management plugin in use</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.management_version</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: RabbitMQ version</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.overview.rabbitmq_version</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>Version of RabbitMQ on the node which processed this request</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.rabbitmq_version</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>RabbitMQ: Version has changed (new version: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>RabbitMQ version has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Number of network partitions</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.partitions</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of network partitions this node is seeing</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.partitions</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>return JSON.parse(value).length;</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;0</expression>
                            <name>RabbitMQ: Number of network partitions is too high (more than 0 for 5m)</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>https://www.rabbitmq.com/partitions.html#detecting</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Is running</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.running</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Is the node running or not</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.running</params>
                        </step>
                        <step>
                            <type>BOOL_TO_DECIMAL</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(5m)}=0</expression>
                            <name>RabbitMQ: Node is not running</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>AVERAGE</priority>
                            <description>RabbitMQ node is not running</description>
                            <dependencies>
                                <dependency>
                                    <name>RabbitMQ: Process is not running</name>
                                    <expression>{Template App RabbitMQ node by Zabbix agent:proc.num[&quot;{$RABBITMQ.PROCESS_NAME}&quot;].last()}=0</expression>
                                </dependency>
                                <dependency>
                                    <name>RabbitMQ: Service is down</name>
                                    <expression>{Template App RabbitMQ node by Zabbix agent:net.tcp.service[http,&quot;{$RABBITMQ.API.HOST}&quot;,&quot;{$RABBITMQ.API.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Runtime run queue</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.run_queue</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Average number of Erlang processes waiting to run</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.run_queue</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Sockets available</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.sockets_total</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>File descriptors available for use as sockets</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.sockets_total</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Sockets used</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.sockets_used</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of file descriptors used as sockets</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.sockets_used</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>RabbitMQ: Uptime</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.node.uptime</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>Uptime in milliseconds</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.uptime</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>RabbitMQ: has been restarted (uptime &lt; 10m)</name>
                            <priority>INFO</priority>
                            <description>Uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Healthcheck</name>
                    <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/healthchecks/node&quot;]</key>
                    <history>7h</history>
                    <description>Runs basic healthchecks in the current node. Checks that the rabbit application is running, channels and queues can be listed successfully, and that no alarms are in effect.</description>
                    <applications>
                        <application>
                            <name>RabbitMQ</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>RabbitMQ healthcheck</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>\n\s?\n(.*)
\1</params>
                        </step>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.status</params>
                        </step>
                        <step>
                            <type>BOOL_TO_DECIMAL</type>
                            <params/>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>0</error_handler_params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>RabbitMQ: Node healthcheck failed</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>AVERAGE</priority>
                            <description>https://www.rabbitmq.com/monitoring.html#health-checks</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Get nodes</name>
                    <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/nodes/{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}?memory=true&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>The HTTP API endpoint that returns nodes metrics</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>\n\s?\n(.*)
\1</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{nodata(30m)}=1</expression>
                            <name>RabbitMQ: Failed to fetch nodes data (or no data for 30m)</name>
                            <priority>WARNING</priority>
                            <description>Zabbix has not received data for items for the last 30 minutes.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>RabbitMQ: Process is not running</name>
                                    <expression>{Template App RabbitMQ node by Zabbix agent:proc.num[&quot;{$RABBITMQ.PROCESS_NAME}&quot;].last()}=0</expression>
                                </dependency>
                                <dependency>
                                    <name>RabbitMQ: Service is down</name>
                                    <expression>{Template App RabbitMQ node by Zabbix agent:net.tcp.service[http,&quot;{$RABBITMQ.API.HOST}&quot;,&quot;{$RABBITMQ.API.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RabbitMQ: Get node overview</name>
                    <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/overview&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>The HTTP API endpoint that returns cluster-wide metrics</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>\n\s?\n(.*)
\1</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>RabbitMQ: Get queues</name>
                    <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>The HTTP API endpoint that returns queues metrics</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>\n\s?\n(.*)
\1</params>
                        </step>
                    </preprocessing>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Queues discovery</name>
                    <type>DEPENDENT</type>
                    <key>rabbitmq.queues.discovery</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#QUEUE}</macro>
                                <value>{$RABBITMQ.LLD.FILTER.QUEUE.MATCHES}</value>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#QUEUE}</macro>
                                <value>{$RABBITMQ.LLD.FILTER.QUEUE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#NODE}</macro>
                                <value>{$RABBITMQ.CLUSTER.NAME}@{HOST.NAME}</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Individual queue metrics</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Consumers</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.consumers[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of consumers</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].consumers.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Memory</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.memory[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>B</units>
                            <description>Bytes of memory consumed by the Erlang process associated with the queue, including stack, heap and internal structures</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].memory.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages acknowledged per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.ack.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Number per second of messages delivered to clients and acknowledged</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.ack_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages acknowledged</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.ack[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of messages delivered to clients and acknowledged</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.ack.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages delivered per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.deliver.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Count of messages delivered in acknowledgement mode to consumers</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.deliver_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages delivered</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.deliver[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages delivered in acknowledgement mode to consumers</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.deliver.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages delivered per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.deliver_get.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate per second of the sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.deliver_get_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages delivered</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.deliver_get[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Sum of messages delivered in acknowledgement mode to consumers, in no-acknowledgement mode to consumers, in acknowledgement mode in response to basic.get, and in no-acknowledgement mode in response to basic.get</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.deliver_get.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages published per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.publish.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate per second of messages published</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.publish_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages published</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.publish[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of messages published</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.publish.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Count per second of the total messages in the queue</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages_details.rate.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages redelivered per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.redeliver.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate per second of subset of messages in deliver_get which had the redelivered flag set</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.redeliver_details.rate.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages redelivered</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages.redeliver[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of subset of messages in deliver_get which had the redelivered flag set</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].message_stats.redeliver.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Count of the total messages in the queue</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$RABBITMQ.MESSAGES.MAX.WARN:&quot;{#QUEUE}&quot;}</expression>
                                    <name>RabbitMQ: Too many messages in queue (over {$RABBITMQ.MESSAGES.MAX.WARN} for 5m)</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages ready per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages_ready.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Number per second of messages ready to be delivered to clients</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages_ready_details.rate.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages ready</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages_ready[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of messages ready to be delivered to clients</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages_ready.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages unacknowledged per second</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages_unacknowledged.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Number per second of messages delivered to clients but not yet acknowledged</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages_unacknowledged_details.rate.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages unacknowledged</name>
                            <type>DEPENDENT</type>
                            <key>rabbitmq.queue.messages_unacknowledged[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of messages delivered to clients but not yet acknowledged</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>RabbitMQ: Queue &quot;{#VHOST}/{#QUEUE}&quot;</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.name == &quot;{#QUEUE}&quot; &amp;&amp; @.vhost == &quot;{#VHOST}&quot;)].messages_unacknowledged.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages per second</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages.ack.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages.deliver.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages.deliver_get.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages.publish.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages_ready.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>6</sortorder>
                                    <color>AC8C14</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages.redeliver.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>7</sortorder>
                                    <color>611F27</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages_unacknowledged.rate[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>RabbitMQ: Queue {#VHOST}/{#QUEUE}: Messages status</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages.ack[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages.deliver[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages.deliver_get[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages.publish[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages_ready[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>6</sortorder>
                                    <color>AC8C14</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages.redeliver[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>7</sortorder>
                                    <color>611F27</color>
                                    <item>
                                        <host>Template App RabbitMQ node by Zabbix agent</host>
                                        <key>rabbitmq.queue.messages_unacknowledged[&quot;{#VHOST}/{#QUEUE}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/queues&quot;]</key>
                    </master_item>
                    <lld_macro_paths>
                        <lld_macro_path>
                            <lld_macro>{#QUEUE}</lld_macro>
                            <path>$.name</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#VHOST}</lld_macro>
                            <path>$.vhost</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#NODE}</lld_macro>
                            <path>$.node</path>
                        </lld_macro_path>
                    </lld_macro_paths>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$RABBITMQ.API.HOST}</macro>
                    <value>127.0.0.1</value>
                    <description>The hostname or IP of RabbitMQ API endpoint</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.PASSWORD}</macro>
                    <value>zabbix</value>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.PORT}</macro>
                    <value>15672</value>
                    <description>The port of RabbitMQ API endpoint</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.API.USER}</macro>
                    <value>zbx_monitor</value>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.CLUSTER.NAME}</macro>
                    <value>rabbit</value>
                    <description>The name of RabbitMQ cluster</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.LLD.FILTER.QUEUE.MATCHES}</macro>
                    <value>.*</value>
                    <description>Filter of discoverable queues</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.LLD.FILTER.QUEUE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                    <description>Filter to exclude discovered queues</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.MESSAGES.MAX.WARN}</macro>
                    <value>1000</value>
                    <description>Maximum number of messages in the queue for trigger expression</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.PROCESS_NAME}</macro>
                    <value>beam.smp</value>
                    <description>RabbitMQ server process name</description>
                </macro>
                <macro>
                    <macro>{$RABBITMQ.RESPONSE_TIME.MAX.WARN}</macro>
                    <value>10</value>
                    <description>Maximum RabbitMQ response time in seconds for trigger expression</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>RabbitMQ node status</name>
                    <hsize>2</hsize>
                    <vsize>3</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Node status</name>
                                <host>Template App RabbitMQ node by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Uptime</name>
                                <host>Template App RabbitMQ node by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Disk free</name>
                                <host>Template App RabbitMQ node by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Memory used</name>
                                <host>Template App RabbitMQ node by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: File descriptors</name>
                                <host>Template App RabbitMQ node by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>RabbitMQ: Sockets</name>
                                <host>Template App RabbitMQ node by Zabbix agent</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>1</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template App Remote Zabbix proxy</template>
            <name>Template App Remote Zabbix proxy</name>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Zabbix proxy</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Utilization of configuration syncer internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.configuration_syncer.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['configuration syncer'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix configuration syncer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of data sender internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.data_sender.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['data sender'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix data sender processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of discoverer data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.discoverer.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process.discoverer.busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix discoverer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of heartbeat sender internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.heartbeat_sender.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['heartbeat sender'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix heartbeat sender processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of history syncer internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.history_syncer.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['history syncer'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix history syncer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of housekeeper internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.housekeeper.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process.housekeeper.busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(30m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(30m)}&lt;65</recovery_expression>
                            <name>Zabbix housekeeper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of http poller data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.http_poller.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['http poller'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix http poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of icmp pinger data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.icmp_pinger.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['icmp pinger'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix icmp pinger processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of ipmi manager internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.ipmi_manager.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['ipmi manager'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix ipmi manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of ipmi poller data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.ipmi_poller.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['ipmi poller'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix ipmi poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of java poller data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.java_poller.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['java poller'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix java poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of poller data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.poller.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process.poller.busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of self-monitoring internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.self-monitoring.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['self-monitoring'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix self-monitoring processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of snmp trapper data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.snmp_trapper.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['snmp trapper'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix snmp trapper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of task manager internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.task_manager.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['task manager'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix task manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of trapper data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.trapper.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process.trapper.busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix trapper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of unreachable poller data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.unreachable_poller.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['unreachable poller'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix unreachable poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of vmware data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.vmware_collector.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['vmware collector'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix vmware collector processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Configuration cache, % used</name>
                    <type>DEPENDENT</type>
                    <key>rcache.buffer.pused</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.rcache.pused</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the configuration cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing CacheSize in the zabbix_proxy.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>VMware cache, % used</name>
                    <type>DEPENDENT</type>
                    <key>vmware.buffer.pused</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.vmware.pused</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the vmware cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing VMwareCacheSize in the zabbix_proxy.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>History write cache, % used</name>
                    <type>DEPENDENT</type>
                    <key>wcache.history.pused</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.history.pused</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the history cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing HistoryCacheSize in the zabbix_proxy.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>History index cache, % used</name>
                    <type>DEPENDENT</type>
                    <key>wcache.index.pused</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.index.pused</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the history index cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing HistoryIndexCacheSize in the zabbix_proxy.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of processed values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.all</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed numeric (float) values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.float</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.float</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed log values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.log</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.log</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed not supported values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.not_supported</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values['not supported']</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed character values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.str</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.str</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed text values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.text</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.text</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed numeric (unsigned) values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.uint</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.uint</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Zabbix stats queue over $5</name>
                    <type>INTERNAL</type>
                    <key>zabbix[stats,{$ADDRESS},{$PORT},queue,10m]</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.queue</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{min(10m)}&gt;100</expression>
                            <name>More than 100 items having missing data for more than 10 minutes</name>
                            <priority>WARNING</priority>
                            <description>zabbix[stats,{$IP},{$PORT},queue,10m] item is collecting data about how many items are missing data for more than 10 minutes</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix stats queue</name>
                    <type>INTERNAL</type>
                    <key>zabbix[stats,{$ADDRESS},{$PORT},queue]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.queue</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Zabbix stats</name>
                    <type>INTERNAL</type>
                    <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    <history>0</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>Zabbix proxy statistics master item.</description>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$ADDRESS}</macro>
                </macro>
                <macro>
                    <macro>{$PORT}</macro>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Zabbix proxy health</name>
                    <hsize>2</hsize>
                    <vsize>2</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix proxy performance</name>
                                <host>Template App Remote Zabbix proxy</host>
                            </resource>
                            <width>500</width>
                            <height>212</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix data gathering process busy %</name>
                                <host>Template App Remote Zabbix proxy</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix internal process busy %</name>
                                <host>Template App Remote Zabbix proxy</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix cache usage, % free</name>
                                <host>Template App Remote Zabbix proxy</host>
                            </resource>
                            <width>500</width>
                            <height>128</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template App Remote Zabbix server</template>
            <name>Template App Remote Zabbix server</name>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Zabbix server</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>LLD queue</name>
                    <type>DEPENDENT</type>
                    <key>lld_queue</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <description>Count of values enqueued in the preprocessing queue.</description>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.lld_queue</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Preprocessing queue</name>
                    <type>DEPENDENT</type>
                    <key>preprocessing_queue</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <description>Count of values enqueued in the preprocessing queue.</description>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.preprocessing_queue</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Utilization of alerter internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.alerter.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process.alerter.busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix alerter processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of alert manager internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.alert_manager.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['alert manager'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix alert manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of alert syncer internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.alert_syncer.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['alert syncer'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix alert syncer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of configuration syncer internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.configuration_syncer.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['configuration syncer'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix configuration syncer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                            <description>Zabbix configuration syncer processes more than 75% busy</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of discoverer data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.discoverer.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process.discoverer.busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix discoverer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of escalator internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.escalator.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process.escalator.busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix escalator processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of history syncer internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.history_syncer.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['history syncer'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix history syncer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of housekeeper internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.housekeeper.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process.housekeeper.busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(30m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(30m)}&lt;65</recovery_expression>
                            <name>Zabbix housekeeper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of http poller data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.http_poller.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['http poller'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix http poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of icmp pinger data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.icmp_pinger.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['icmp pinger'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix icmp pinger processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of ipmi manager internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.ipmi_manager.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['ipmi manager'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix ipmi manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of ipmi poller data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.ipmi_poller.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['ipmi poller'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix ipmi poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of java poller data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.java_poller.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['java poller'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix java poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of LLD manager internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.lld_manager.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['lld manager'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix LLD manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of LLD worker internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.lld_worker.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['lld worker'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix LLD worker processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of poller data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.poller.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process.poller.busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of preprocessing manager internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.preprocessing_manager.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['preprocessing manager'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix preprocessing manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of preprocessing worker internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.preprocessing_worker.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['preprocessing worker'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix preprocessing worker processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of proxy poller data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.proxy_poller.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['proxy poller'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix proxy poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of self-monitoring internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.self-monitoring.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['self-monitoring'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix self-monitoring processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of snmp trapper data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.snmp_trapper.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['snmp trapper'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix snmp trapper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of task manager internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.task_manager.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['task manager'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix task manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of timer internal processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.timer.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process.timer.busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix timer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of trapper data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.trapper.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process.trapper.busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix trapper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of unreachable poller data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.unreachable_poller.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['unreachable poller'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix unreachable poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of vmware data collector processes, in %</name>
                    <type>DEPENDENT</type>
                    <key>process.vmware_collector.avg.busy</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.process['vmware collector'].busy.avg</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix vmware collector processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Configuration cache, % used</name>
                    <type>DEPENDENT</type>
                    <key>rcache.buffer.pused</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.rcache.pused</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the configuration cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing CacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Value cache, % used</name>
                    <type>DEPENDENT</type>
                    <key>vcache.buffer.pused</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.vcache.buffer.pused</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;95</expression>
                            <name>More than 95% used in the value cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing ValueCacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Value cache hits</name>
                    <type>DEPENDENT</type>
                    <key>vcache.cache.hits</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>vps</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.vcache.cache.hits</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Value cache misses</name>
                    <type>DEPENDENT</type>
                    <key>vcache.cache.misses</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>vps</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.vcache.cache.misses</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Value cache operating mode</name>
                    <type>DEPENDENT</type>
                    <key>vcache.cache.mode</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Value cache operating mode</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.vcache.cache.mode</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>Zabbix value cache working in low memory mode</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>VMware cache, % used</name>
                    <type>DEPENDENT</type>
                    <key>vmware.buffer.pused</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.vmware.pused</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the vmware cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing VMwareCacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>History write cache, % used</name>
                    <type>DEPENDENT</type>
                    <key>wcache.history.pused</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.history.pused</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the history cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing HistoryCacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>History index cache, % used</name>
                    <type>DEPENDENT</type>
                    <key>wcache.index.pused</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.index.pused</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the history index cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing HistoryIndexCacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Trend write cache, % used</name>
                    <type>DEPENDENT</type>
                    <key>wcache.trend.pused</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.trend.pused</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the trends cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing TrendCacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of processed values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.all</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed numeric (float) values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.float</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.float</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed log values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.log</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.log</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed not supported values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.not_supported</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values['not supported']</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed character values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.str</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.str</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed text values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.text</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.text</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of processed numeric (unsigned) values per second</name>
                    <type>DEPENDENT</type>
                    <key>wcache.values.uint</key>
                    <delay>0</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.data.wcache.values.uint</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    </master_item>
                </item>
                <item>
                    <name>Zabbix stats queue over $5</name>
                    <type>INTERNAL</type>
                    <key>zabbix[stats,{$ADDRESS},{$PORT},queue,10m]</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.queue</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{min(10m)}&gt;100</expression>
                            <name>More than 100 items having missing data for more than 10 minutes</name>
                            <priority>WARNING</priority>
                            <description>zabbix[stats,{$IP},{$PORT},queue,10m] item is collecting data about how many items are missing data for more than 10 minutes</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix stats queue</name>
                    <type>INTERNAL</type>
                    <key>zabbix[stats,{$ADDRESS},{$PORT},queue]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.queue</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Zabbix stats</name>
                    <type>INTERNAL</type>
                    <key>zabbix[stats,{$ADDRESS},{$PORT}]</key>
                    <history>0</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>Zabbix server statistics master item.</description>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$ADDRESS}</macro>
                </macro>
                <macro>
                    <macro>{$PORT}</macro>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Zabbix server health</name>
                    <hsize>2</hsize>
                    <vsize>3</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix server performance</name>
                                <host>Template App Remote Zabbix server</host>
                            </resource>
                            <width>500</width>
                            <height>212</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix data gathering process busy %</name>
                                <host>Template App Remote Zabbix server</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix internal process busy %</name>
                                <host>Template App Remote Zabbix server</host>
                            </resource>
                            <width>555</width>
                            <height>114</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix cache usage, % free</name>
                                <host>Template App Remote Zabbix server</host>
                            </resource>
                            <width>500</width>
                            <height>128</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Value cache effectiveness</name>
                                <host>Template App Remote Zabbix server</host>
                            </resource>
                            <width>500</width>
                            <height>160</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix internal queues</name>
                                <host>Template App Remote Zabbix server</host>
                            </resource>
                            <width>500</width>
                            <height>160</height>
                            <x>1</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template App SMTP Service</template>
            <name>Template App SMTP Service</name>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>SMTP service</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>SMTP service is running</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[smtp]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>SMTP service</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>SMTP service is down on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template App SSH Service</template>
            <name>Template App SSH Service</name>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>SSH service</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>SSH service is running</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[ssh]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>SSH service</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>SSH service is down on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template App Telnet Service</template>
            <name>Template App Telnet Service</name>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Telnet service</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Telnet service is running</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[telnet]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Telnet service</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>Telnet service is down on {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template App Zabbix Proxy</template>
            <name>Template App Zabbix Proxy</name>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Zabbix proxy</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Zabbix preprocessing queue</name>
                    <type>INTERNAL</type>
                    <key>zabbix[preprocessing_queue]</key>
                    <history>1w</history>
                    <description>Count of values enqueued in the preprocessing queue.</description>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Utilization of configuration syncer internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,configuration syncer,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix configuration syncer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of data sender internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,data sender,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix data sender processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of discoverer data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,discoverer,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <allowed_hosts>localhost</allowed_hosts>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix discoverer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of heartbeat sender internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,heartbeat sender,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix heartbeat sender processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of history syncer internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,history syncer,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix history syncer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of housekeeper internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,housekeeper,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(30m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(30m)}&lt;65</recovery_expression>
                            <name>Zabbix housekeeper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of http poller data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,http poller,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix http poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of icmp pinger data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,icmp pinger,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix icmp pinger processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of ipmi manager internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,ipmi manager,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix ipmi manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of ipmi poller data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,ipmi poller,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix ipmi poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of java poller data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,java poller,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix java poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of poller data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,poller,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <allowed_hosts>localhost</allowed_hosts>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of preprocessing manager internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,preprocessing manager,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix preprocessing manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of preprocessing worker internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,preprocessing worker,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix preprocessing worker processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of self-monitoring internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,self-monitoring,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix self-monitoring processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of snmp trapper data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,snmp trapper,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix snmp trapper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of task manager internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,task manager,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix task manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of trapper data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,trapper,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix trapper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of unreachable poller data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,unreachable poller,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix unreachable poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of vmware data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,vmware collector,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix vmware collector processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix queue over 10 minutes</name>
                    <type>INTERNAL</type>
                    <key>zabbix[queue,10m]</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{min(10m)}&gt;100</expression>
                            <name>More than 100 items having missing data for more than 10 minutes</name>
                            <priority>WARNING</priority>
                            <description>zabbix[queue,10m] item is collecting data about how many items are missing data for more than 10 minutes</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix queue</name>
                    <type>INTERNAL</type>
                    <key>zabbix[queue]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                </item>
                <item>
                    <name>Zabbix configuration cache, % used</name>
                    <type>INTERNAL</type>
                    <key>zabbix[rcache,buffer,pused]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the configuration cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing CacheSize in the zabbix_proxy.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix vmware cache, % used</name>
                    <type>INTERNAL</type>
                    <key>zabbix[vmware,buffer,pused]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the vmware cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing VMwareCacheSize in the zabbix_proxy.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix history write cache, % used</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,history,pused]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the history cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing HistoryCacheSize in the zabbix_proxy.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix history index cache, % used</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,index,pused]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <request_method>POST</request_method>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the history index cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing HistoryIndexCacheSize in the zabbix_proxy.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of processed numeric (float) values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,float]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <request_method>POST</request_method>
                </item>
                <item>
                    <name>Number of processed log values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,log]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <request_method>POST</request_method>
                </item>
                <item>
                    <name>Number of processed not supported values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,not supported]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <request_method>POST</request_method>
                </item>
                <item>
                    <name>Number of processed character values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,str]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <request_method>POST</request_method>
                </item>
                <item>
                    <name>Number of processed text values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,text]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <request_method>POST</request_method>
                </item>
                <item>
                    <name>Number of processed numeric (unsigned) values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,uint]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <request_method>POST</request_method>
                </item>
                <item>
                    <name>Number of processed values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix proxy</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <request_method>POST</request_method>
                </item>
            </items>
            <screens>
                <screen>
                    <name>Zabbix proxy health</name>
                    <hsize>2</hsize>
                    <vsize>2</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix proxy performance</name>
                                <host>Template App Zabbix Proxy</host>
                            </resource>
                            <width>500</width>
                            <height>212</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix data gathering process busy %</name>
                                <host>Template App Zabbix Proxy</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix internal process busy %</name>
                                <host>Template App Zabbix Proxy</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix cache usage, % used</name>
                                <host>Template App Zabbix Proxy</host>
                            </resource>
                            <width>500</width>
                            <height>128</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template App Zabbix Server</template>
            <name>Template App Zabbix Server</name>
            <groups>
                <group>
                    <name>Templates/Applications</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Zabbix server</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Zabbix LLD queue</name>
                    <type>INTERNAL</type>
                    <key>zabbix[lld_queue]</key>
                    <history>1w</history>
                    <description>Count of values enqueued in the preprocessing queue.</description>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Zabbix preprocessing queue</name>
                    <type>INTERNAL</type>
                    <key>zabbix[preprocessing_queue]</key>
                    <history>1w</history>
                    <description>Count of values enqueued in the preprocessing queue.</description>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Utilization of alerter internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,alerter,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix alerter processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of alert manager internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,alert manager,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix alert manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of alert syncer internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,alert syncer,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix alert syncer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of configuration syncer internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,configuration syncer,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix configuration syncer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of discoverer data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,discoverer,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix discoverer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of escalator internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,escalator,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix escalator processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of history syncer internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,history syncer,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix history syncer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of housekeeper internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,housekeeper,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(30m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(30m)}&lt;65</recovery_expression>
                            <name>Zabbix housekeeper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of http poller data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,http poller,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix http poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of icmp pinger data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,icmp pinger,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix icmp pinger processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of ipmi manager internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,ipmi manager,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix ipmi manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of ipmi poller data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,ipmi poller,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix ipmi poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of java poller data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,java poller,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix java poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of LLD manager internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,lld manager,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix LLD manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of LLD worker internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,lld worker,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix LLD worker processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of poller data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,poller,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of preprocessing manager internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,preprocessing manager,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix preprocessing manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of preprocessing worker internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,preprocessing worker,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix preprocessing worker processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of proxy poller data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,proxy poller,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix proxy poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of self-monitoring internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,self-monitoring,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{min(10m)}&lt;65</recovery_expression>
                            <name>Zabbix self-monitoring processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of snmp trapper data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,snmp trapper,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix snmp trapper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of task manager internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,task manager,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix task manager processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of timer internal processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,timer,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix timer processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of trapper data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,trapper,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix trapper processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of unreachable poller data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,unreachable poller,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix unreachable poller processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Utilization of vmware data collector processes, in %</name>
                    <type>INTERNAL</type>
                    <key>zabbix[process,vmware collector,avg,busy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(10m)}&gt;75</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{avg(10m)}&lt;65</recovery_expression>
                            <name>Zabbix vmware collector processes more than 75% busy</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix queue over 10 minutes</name>
                    <type>INTERNAL</type>
                    <key>zabbix[queue,10m]</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(10m)}&gt;100</expression>
                            <name>More than 100 items having missing data for more than 10 minutes</name>
                            <priority>WARNING</priority>
                            <description>zabbix[queue,10m] item is collecting data about how many items are missing data for more than 10 minutes</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix queue</name>
                    <type>INTERNAL</type>
                    <key>zabbix[queue]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Zabbix configuration cache, % used</name>
                    <type>INTERNAL</type>
                    <key>zabbix[rcache,buffer,pused]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the configuration cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing CacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix value cache, % used</name>
                    <type>INTERNAL</type>
                    <key>zabbix[vcache,buffer,pused]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;95</expression>
                            <name>More than 95% used in the value cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing ValueCacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix value cache hits</name>
                    <type>INTERNAL</type>
                    <key>zabbix[vcache,cache,hits]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>vps</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Zabbix value cache misses</name>
                    <type>INTERNAL</type>
                    <key>zabbix[vcache,cache,misses]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>vps</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Zabbix value cache operating mode</name>
                    <type>INTERNAL</type>
                    <key>zabbix[vcache,cache,mode]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Value cache operating mode</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>Zabbix value cache working in low memory mode</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix vmware cache, % used</name>
                    <type>INTERNAL</type>
                    <key>zabbix[vmware,buffer,pused]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the vmware cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing VMwareCacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix history write cache, % used</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,history,pused]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the history cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing HistoryCacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix history index cache, % used</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,index,pused]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the history index cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing HistoryIndexCacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Zabbix trend write cache, % used</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,trend,pused]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{max(10m)}&gt;75</expression>
                            <name>More than 75% used in the trends cache</name>
                            <priority>AVERAGE</priority>
                            <description>Consider increasing TrendCacheSize in the zabbix_server.conf configuration file</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of processed numeric (float) values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,float]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Number of processed log values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,log]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Number of processed not supported values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,not supported]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Number of processed character values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,str]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Number of processed text values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,text]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Number of processed numeric (unsigned) values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values,uint]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Number of processed values per second</name>
                    <type>INTERNAL</type>
                    <key>zabbix[wcache,values]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix server</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
            </items>
            <screens>
                <screen>
                    <name>Zabbix server health</name>
                    <hsize>2</hsize>
                    <vsize>3</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix server performance</name>
                                <host>Template App Zabbix Server</host>
                            </resource>
                            <width>500</width>
                            <height>212</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix data gathering process busy %</name>
                                <host>Template App Zabbix Server</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix internal process busy %</name>
                                <host>Template App Zabbix Server</host>
                            </resource>
                            <width>555</width>
                            <height>114</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix cache usage, % used</name>
                                <host>Template App Zabbix Server</host>
                            </resource>
                            <width>500</width>
                            <height>128</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Value cache effectiveness</name>
                                <host>Template App Zabbix Server</host>
                            </resource>
                            <width>500</width>
                            <height>160</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Zabbix internal queues</name>
                                <host>Template App Zabbix Server</host>
                            </resource>
                            <width>500</width>
                            <height>160</height>
                            <x>1</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Cisco General</template>
            <name>Template Cisco General</name>
            <groups>
                <group>
                    <name>Templates SNMP Devices</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>BGP Peers</name>
                </application>
                <application>
                    <name>OSPF Interfaces</name>
                </application>
                <application>
                    <name>OSPF Neighbor States</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>BGP Peers</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.2.1.15.3.1.1]</snmp_oid>
                    <key>bgpPeerIdentifier</key>
                    <delay>300</delay>
                    <lifetime>0</lifetime>
                    <description>BGP4-MIB::bgpPeerIdentifier</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>BGP Peer &quot;{#SNMPINDEX}&quot; State</name>
                            <type>SNMP_TRAP</type>
                            <key>snmptrap[&quot;(bgpBackwardTransition|cbgpFsmStateChange).*bgpPeerState\.{#SNMPINDEX}[[:space:]][a-zA-Z]+[[:space:]]&quot;]</key>
                            <delay>0</delay>
                            <history>5d</history>
                            <trends>0</trends>
                            <value_type>LOG</value_type>
                            <applications>
                                <application>
                                    <name>BGP Peers</name>
                                </application>
                            </applications>
                            <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{nodata(10m)}=0</expression>
                                    <name>BGP Peer &quot;{#SNMPINDEX}&quot;-&gt;&quot;{#SNMPVALUE}&quot; State changed</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>BGP Peer &quot;{#SNMPINDEX}&quot; State</name>
                            <type>SNMP_TRAP</type>
                            <key>snmptrap[&quot;(bgpEstablished|bgpBackwardTransition|cbgpFsmStateChange).*bgpPeerState\.{#SNMPINDEX}[[:space:]][a-zA-Z]+[[:space:]]&quot;]</key>
                            <delay>0</delay>
                            <history>5d</history>
                            <trends>0</trends>
                            <value_type>LOG</value_type>
                            <applications>
                                <application>
                                    <name>BGP Peers</name>
                                </application>
                            </applications>
                            <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{nodata(10m)}=0</expression>
                                    <name>BGP Peer &quot;{#SNMPINDEX}&quot;-&gt;&quot;{#SNMPVALUE}&quot; State changed</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>OSPF Interfaces</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.2.1.14.7.1.1]</snmp_oid>
                    <key>ospfIfIpAddress</key>
                    <delay>300</delay>
                    <lifetime>0</lifetime>
                    <description>OSPF-MIB::ospfIfIpAddress&#13;
&#13;
The IP address of this OSPF interface.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>OSPF Interface &quot;{SNMPVALUE}&quot; State</name>
                            <type>SNMP_TRAP</type>
                            <key>snmptrap[&quot;ospfIfStateChange.+ospfIfIpAddress[[:space:]]{#SNMPVALUE}[[:space:]].+ospfIfState[[:space:]][a-zA-Z]+&quot;]</key>
                            <delay>0</delay>
                            <history>5d</history>
                            <trends>0</trends>
                            <value_type>LOG</value_type>
                            <applications>
                                <application>
                                    <name>OSPF Interfaces</name>
                                </application>
                            </applications>
                            <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{nodata(10m)}=0</expression>
                                    <name>OSPF Interface &quot;{#SNMPVALUE}&quot; State has been changed</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>OSPF Neighbors</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.2.1.14.10.1.1]</snmp_oid>
                    <key>ospfNbrIpAddr</key>
                    <delay>300</delay>
                    <lifetime>0</lifetime>
                    <description>OSPF-MIB::ospfNbrIpAddr&#13;
&#13;
&#13;
The IP address this neighbor is using in its IP source address.  Note that, on addressless links, this will not be 0.0.0.0 but the address of another of the neighbor's interfaces.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>OSPF &quot;{#SNMPVALUE}&quot; Neighbour State</name>
                            <type>SNMP_TRAP</type>
                            <key>snmptrap[&quot;(ospfNbrStateChange).*ospfNbrIpAddr[[:space:]]{#SNMPVALUE}[[:space:]].*[[:space:]][a-zA-Z]+[[:space:]]$&quot;]</key>
                            <delay>0</delay>
                            <history>5d</history>
                            <trends>0</trends>
                            <value_type>LOG</value_type>
                            <applications>
                                <application>
                                    <name>OSPF Neighbor States</name>
                                </application>
                            </applications>
                            <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{nodata(10m)}=0</expression>
                                    <name>OSPF Neighbor {#SNMPVALUE} has been changed</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
        </template>
        <template>
            <template>Template DB MSSQL by ODBC</template>
            <name>Template DB MSSQL by ODBC</name>
            <description>1. Create an MSSQL user for monitoring.&#13;
  View Server State and View Any Definition permissions should be granted to the user.&#13;
  Grant this user read permissions to the sysjobschedules, sysjobhistory, sysjobs tables.  &#13;
  For more information, see MSSQL documentation.&#13;
2. Set the user name and password in host macros ({$MSSQL.USER} and {$MSSQL.PASSWORD}).&#13;
  Do not forget to install Microsoft ODBC driver on Zabbix server or Zabbix proxy.&#13;
  See Microsoft documentation for instructions: https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver15.&#13;
  Note! Credentials in the odbc.ini do not work for MSSQL.&#13;
3. For named instance set the value of {$MSSQL.INSTANCE} macro as MSSQL$instance name.&#13;
The &quot;Service's TCP port state&quot; item uses {HOST.CONN} and {$MSSQL.PORT} macros to check the availability of the MSSQL instance.&#13;
&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/&#13;
&#13;
Template tooling version used: 0.39</description>
            <groups>
                <group>
                    <name>Templates/Databases</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>MSSQL</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>MSSQL: Get job status</name>
                    <type>ODBC</type>
                    <key>db.odbc.get[get_job_status,&quot;{$MSSQL.DSN}&quot;]</key>
                    <delay>10m</delay>
                    <history>0</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <params>SELECT sj.name AS JobName
, sj.enabled AS Enabled
, sjs.last_run_outcome AS RunStatus
, sjs.last_outcome_message AS LastRunStatusMessage
, sjs.last_run_duration/10000*3600 + sjs.last_run_duration/100%100*60 + sjs.last_run_duration%100 AS RunDuration
, CASE sjs.last_run_date
    WHEN 0 THEN NULL
    ELSE msdb.dbo.agent_datetime(sjs.last_run_date,sjs.last_run_time)
    END AS LastRunDateTime
, sja.next_scheduled_run_date AS NextRunDateTime
FROM msdb..sysjobs AS sj
LEFT JOIN msdb..sysjobservers AS sjs ON sj.job_id = sjs.job_id
LEFT JOIN ( SELECT job.job_id,
    max(act.session_id) AS s_id,
    max(act.next_scheduled_run_date) AS next_scheduled_run_date
    FROM msdb..sysjobs AS job
    LEFT JOIN msdb..sysjobactivity AS act ON act.job_id = job.job_id
    GROUP BY job.job_id ) AS sja ON sja.job_id = sj.job_id
WHERE Enabled = 1</params>
                    <username>{$MSSQL.USER}</username>
                    <password>{$MSSQL.PASSWORD}</password>
                    <description>The item gets sql agent job status.</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>MSSQL: Get last backup</name>
                    <type>ODBC</type>
                    <key>db.odbc.get[get_last_backup,&quot;{$MSSQL.DSN}&quot;]</key>
                    <delay>10m</delay>
                    <history>0</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <params>SELECT bs.database_name as dbname,[type], DATEDIFF(SECOND, bs.backup_finish_date, getdate()) as timesincelastbackup, (DATEDIFF(SECOND, bs.backup_start_date, bs.backup_finish_date)) as duration
FROM msdb.dbo.backupset as bs WHERE bs.database_name not in (
SELECT
AGDatabases.database_name AS Databasename
FROM sys.dm_hadr_availability_group_states States
INNER JOIN master.sys.availability_groups Groups ON States.group_id = Groups.group_id
INNER JOIN sys.availability_databases_cluster AGDatabases ON Groups.group_id = AGDatabases.group_id
WHERE primary_replica != @@Servername OR primary_replica is NULL
)
GROUP BY bs.database_name, backup_finish_date, [type], backup_start_date
HAVING backup_finish_date = (SELECT MAX(backup_finish_date) from msdb.dbo.backupset WHERE database_name = bs.database_name AND bs.type = [type])
ORDER BY bs.database_name</params>
                    <username>{$MSSQL.USER}</username>
                    <password>{$MSSQL.PASSWORD}</password>
                    <description>The item gets information about backup processes.</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>MSSQL: Get performance counters</name>
                    <type>ODBC</type>
                    <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    <delay>0;m0-59</delay>
                    <history>0</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <params>SELECT object_name,counter_name,instance_name,cntr_value
FROM sys.dm_os_performance_counters
UNION
SELECT '{$MSSQL.INSTANCE}' as object_name,'Version' as counter_name,@@version as instance_name,0 as cntr_value
UNION
SELECT '{$MSSQL.INSTANCE}' as object_name,'Uptime' as counter_name,'' as instance_name,DATEDIFF(second,sqlserver_start_time,GETDATE()) as cntr_value
FROM sys.dm_os_sys_info
UNION
SELECT '{$MSSQL.INSTANCE}:Databases' as object_name,'State' as counter_name,name as instance_name,state as cntr_value
FROM sys.databases
UNION
SELECT a.object_name,'BufferCacheHitRatio' as counter_name,'' as instance_name,cast(a.cntr_value*100.0/b.cntr_value as dec(3,0)) as cntr_value
FROM sys.dm_os_performance_counters a
JOIN (SELECT cntr_value,OBJECT_NAME
FROM sys.dm_os_performance_counters
WHERE counter_name='Buffer cache hit ratio base' AND OBJECT_NAME='{$MSSQL.INSTANCE}:Buffer Manager') b
ON a.OBJECT_NAME=b.OBJECT_NAME
WHERE a.counter_name='Buffer cache hit ratio' AND a.OBJECT_NAME='{$MSSQL.INSTANCE}:Buffer Manager'
UNION
SELECT a.object_name,'WorktablesFromCacheRatio' as counter_name,'' as instance_name,cast(a.cntr_value*100.0/b.cntr_value as dec(3,0)) as cntr_value
FROM sys.dm_os_performance_counters a
JOIN (SELECT cntr_value,OBJECT_NAME
FROM sys.dm_os_performance_counters
WHERE counter_name='Worktables From Cache Base' AND OBJECT_NAME='{$MSSQL.INSTANCE}:Access Methods') b
ON a.OBJECT_NAME=b.OBJECT_NAME
WHERE a.counter_name='Worktables From Cache Ratio' AND a.OBJECT_NAME='{$MSSQL.INSTANCE}:Access Methods'
UNION
SELECT a.object_name,'CacheHitRatio' as counter_name,'_Total' as instance_name,cast(a.cntr_value*100.0/b.cntr_value as dec(3,0)) as cntr_value
FROM sys.dm_os_performance_counters a
JOIN (SELECT cntr_value,OBJECT_NAME
FROM sys.dm_os_performance_counters
WHERE counter_name='Cache Hit Ratio base' AND OBJECT_NAME='{$MSSQL.INSTANCE}:Plan Cache' AND instance_name='_Total') b
ON a.OBJECT_NAME=b.OBJECT_NAME
WHERE a.counter_name='Cache Hit Ratio' AND a.OBJECT_NAME='{$MSSQL.INSTANCE}:Plan Cache' AND instance_name='_Total'</params>
                    <username>{$MSSQL.USER}</username>
                    <password>{$MSSQL.PASSWORD}</password>
                    <description>The item gets server global status information.</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>MSSQL: Auto-param attempts per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.autoparam_attempts_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of auto-parameterization attempts per second. The total should be the sum of the failed, safe, and unsafe auto-parameterizations. Auto-parameterization occurs when an instance of SQL Server tries to parameterize a Transact-SQL request by replacing some literals with parameters to me reuse of the resulting cached execution plan across multiple similar-looking requests possible. Note that auto-parameterizations are also known as simple parameterizations in the newer versions of SQL Server. This counter does not include forced parameterizations.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Statistics' &amp;&amp; @.counter_name=='Auto-Param Attempts/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Average latch wait time</name>
                    <type>CALCULATED</type>
                    <key>mssql.average_latch_wait_time</key>
                    <delay>0;m0-59s3</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>ms</units>
                    <params>(last(mssql.average_latch_wait_time_raw) - prev(mssql.average_latch_wait_time_raw)) /
(last(mssql.average_latch_wait_time_base) - prev(mssql.average_latch_wait_time_base) + 
(last(mssql.average_latch_wait_time_base) - prev(mssql.average_latch_wait_time_base)=0))</params>
                    <description>Average latch wait time (in milliseconds) for latch requests that had to wait.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>MSSQL: Average latch wait time base</name>
                    <type>DEPENDENT</type>
                    <key>mssql.average_latch_wait_time_base</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>For internal use only.</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Latches' &amp;&amp; @.counter_name=='Average Latch Wait Time Base')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Average latch wait time raw</name>
                    <type>DEPENDENT</type>
                    <key>mssql.average_latch_wait_time_raw</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>ms</units>
                    <description>Average latch wait time (in milliseconds) for latch requests that had to wait.</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Latches' &amp;&amp; @.counter_name=='Average Latch Wait Time (ms)')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Total average wait time</name>
                    <type>CALCULATED</type>
                    <key>mssql.average_wait_time</key>
                    <delay>0;m0-59s3</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>ms</units>
                    <params>(last(mssql.average_wait_time_raw) - prev(mssql.average_wait_time_raw)) /
(last(mssql.average_wait_time_base) - prev(mssql.average_wait_time_base) + 
(last(mssql.average_wait_time_base) - prev(mssql.average_wait_time_base)=0))</params>
                    <description>The average wait time, in milliseconds, for each lock request that had to wait.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MSSQL.AVERAGE_WAIT_TIME.MAX}</expression>
                            <name>MSSQL: Total average wait time for locks is high (over {$MSSQL.AVERAGE_WAIT_TIME.MAX}ms for 5m)</name>
                            <priority>WARNING</priority>
                            <description>An average wait time longer than 500ms may indicate excessive blocking. This value should generally correlate to 'Lock Waits/sec' and move up or down with it accordingly.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Total average wait time base</name>
                    <type>DEPENDENT</type>
                    <key>mssql.average_wait_time_base</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>For internal use only.</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Locks' &amp;&amp; @.counter_name=='Average Wait Time Base' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Total average wait time raw</name>
                    <type>DEPENDENT</type>
                    <key>mssql.average_wait_time_raw</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>ms</units>
                    <description>Average amount of wait time (in milliseconds) for each lock request that resulted in a wait. Information for all locks.</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Locks' &amp;&amp; @.counter_name=='Average Wait Time (ms)' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Batch requests per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.batch_requests_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>rps</units>
                    <description>Number of Transact-SQL command batches received per second. This statistic is affected by all constraints (such as I/O, number of users, cache size, complexity of requests, and so on). High batch requests mean good throughput.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Statistics' &amp;&amp; @.counter_name=='Batch Requests/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Buffer cache hit ratio</name>
                    <type>DEPENDENT</type>
                    <key>mssql.buffer_cache_hit_ratio</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Indicates the percentage of pages found in the buffer cache without having to read from disk. The ratio is the total number of cache hits divided by the total number of cache lookups over the last few thousand page accesses. After a long period of time, the ratio changes very little. Since reading from the cache is much less expensive than reading from the disk, a higher value is preferred for this item. To increase the buffer cache hit ratio, consider increasing the amount of memory available to SQL Server or using the buffer pool extension feature.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Buffer Manager' &amp;&amp; @.counter_name=='BufferCacheHitRatio')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(5m)}&lt;{$MSSQL.BUFFER_CACHE_RATIO.MIN.CRIT}</expression>
                            <name>MSSQL: Percentage of the buffer cache efficiency is low (below {$MSSQL.BUFFER_CACHE_RATIO.MIN.CRIT}% for 5m)</name>
                            <priority>HIGH</priority>
                            <description>Too low buffer cache hit ratio.</description>
                        </trigger>
                        <trigger>
                            <expression>{max(5m)}&lt;{$MSSQL.BUFFER_CACHE_RATIO.MIN.WARN}</expression>
                            <name>MSSQL: Percentage of the buffer cache efficiency is low (below {$MSSQL.BUFFER_CACHE_RATIO.MIN.WARN}% for 5m)</name>
                            <priority>WARNING</priority>
                            <description>Low buffer cache hit ratio.</description>
                            <dependencies>
                                <dependency>
                                    <name>MSSQL: Percentage of the buffer cache efficiency is low (below {$MSSQL.BUFFER_CACHE_RATIO.MIN.CRIT}% for 5m)</name>
                                    <expression>{Template DB MSSQL by ODBC:mssql.buffer_cache_hit_ratio.max(5m)}&lt;{$MSSQL.BUFFER_CACHE_RATIO.MIN.CRIT}</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Cache hit ratio</name>
                    <type>DEPENDENT</type>
                    <key>mssql.cache_hit_ratio</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Ratio between cache hits and lookups.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Plan Cache' &amp;&amp; @.counter_name=='CacheHitRatio' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Cache objects in use</name>
                    <type>DEPENDENT</type>
                    <key>mssql.cache_objects_in_use</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of cache objects in use.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Plan Cache' &amp;&amp; @.counter_name=='Cache Objects in use' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Cache object counts</name>
                    <type>DEPENDENT</type>
                    <key>mssql.cache_object_counts</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of cache objects in the cache.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Plan Cache' &amp;&amp; @.counter_name=='Cache Object Counts' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Cache pages</name>
                    <type>DEPENDENT</type>
                    <key>mssql.cache_pages</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of 8-kilobyte (KB) pages used by cache objects.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Plan Cache' &amp;&amp; @.counter_name=='Cache Pages' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Checkpoint pages per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.checkpoint_pages_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Indicates the number of pages flushed to disk per second by a checkpoint or other operation which required all dirty pages to be flushed.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Buffer Manager' &amp;&amp; @.counter_name=='Checkpoint pages/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Database pages</name>
                    <type>DEPENDENT</type>
                    <key>mssql.database_pages</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Indicates the number of pages in the buffer pool with database content.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Buffer Manager' &amp;&amp; @.counter_name=='Database pages')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Total data file size</name>
                    <type>DEPENDENT</type>
                    <key>mssql.data_files_size</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Total size of all data files.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Data File(s) Size (KB)' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Total errors per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.errors_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of errors per second.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Errors' &amp;&amp; @.counter_name=='Errors/sec' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Failed auto-params per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.failed_autoparams_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of failed auto-parameterization attempts per second. This number should be small. Note that auto-parameterizations are also known as simple parameterizations in the newer versions of SQL Server.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Statistics' &amp;&amp; @.counter_name=='Failed Auto-Params/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Forwarded records per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.forwarded_records_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of records per second fetched through forwarded record pointers.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Access Methods' &amp;&amp; @.counter_name=='Forwarded Records/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Free list stalls per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.free_list_stalls_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>rps</units>
                    <description>Indicates the number of requests per second that had to wait for a free page.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Buffer Manager' &amp;&amp; @.counter_name=='Free list stalls/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MSSQL.FREE_LIST_STALLS.MAX}</expression>
                            <name>MSSQL: Number of rps waiting for a free page is high (over {$MSSQL.FREE_LIST_STALLS.MAX} for 5m)</name>
                            <priority>WARNING</priority>
                            <description>Some requests have to wait for a free page.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Full scans per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.full_scans_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of unrestricted full scans per second. These can be either base-table or full-index scans. Values greater than 1 or 2 indicate that there are table / Index page scans. If that is combined with high CPU, this counter requires further investigation, otherwise, if the full scans are on small tables, it can be ignored.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Access Methods' &amp;&amp; @.counter_name=='Full Scans/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Granted Workspace Memory</name>
                    <type>DEPENDENT</type>
                    <key>mssql.granted_workspace_memory</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Specifies the total amount of memory currently granted to executing processes, such as hash, sort, bulk copy, and index creation operations.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Memory Manager' &amp;&amp; @.counter_name=='Granted Workspace Memory (KB)')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Index searches per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.index_searches_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of index searches per second. These are used to start a range scan, reposition a range scan, revalidate a scan point, fetch a single index record, and search down the index to locate where to insert a new row.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Access Methods' &amp;&amp; @.counter_name=='Index Searches/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Errors per second (Info errors)</name>
                    <type>DEPENDENT</type>
                    <key>mssql.info_errors_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of errors per second.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Errors' &amp;&amp; @.counter_name=='Errors/sec' &amp;&amp; @.instance_name=='Info Errors')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Errors per second (Kill connection errors)</name>
                    <type>DEPENDENT</type>
                    <key>mssql.kill_connection_errors_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of errors per second.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Errors' &amp;&amp; @.counter_name=='Errors/sec' &amp;&amp; @.instance_name=='Kill Connection Errors')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Latch waits per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.latch_waits_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>rps</units>
                    <description>The number of latch requests that could not be granted immediately. Latches are lightweight means of holding a very transient server resource, such as an address in memory.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Latches' &amp;&amp; @.counter_name=='Latch Waits/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Lazy writes per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.lazy_writes_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Indicates the number of buffers written per second by the buffer manager's lazy writer. The lazy writer is a system process that flushes out batches of dirty, aged buffers (buffers that contain changes that must be written back to disk before the buffer can be reused for a different page) and makes them available to user processes. The lazy writer eliminates the need to perform frequent checkpoints in order to create available buffers.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Buffer Manager' &amp;&amp; @.counter_name=='Lazy writes/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MSSQL.LAZY_WRITES.MAX}</expression>
                            <name>MSSQL: Number of buffers written per second by the lazy writer is high (over {$MSSQL.LAZY_WRITES.MAX} for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The number of buffers written per second by the buffer manager's lazy writer exceeds the threshold.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Total lock requests per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.lock_requests_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>rps</units>
                    <description>Number of new locks and lock conversions per second requested from the lock manager.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Locks' &amp;&amp; @.counter_name=='Lock Requests/sec' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MSSQL.LOCK_REQUESTS.MAX}</expression>
                            <name>MSSQL: Total number of locks per second is high (over {$MSSQL.LOCK_REQUESTS.MAX} for 5m)</name>
                            <priority>WARNING</priority>
                            <description>Number of new locks and lock conversions per second requested from the lock manager is high.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Total lock requests per second that timed out</name>
                    <type>DEPENDENT</type>
                    <key>mssql.lock_timeouts_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>rps</units>
                    <description>Number of timed out lock requests per second, including requests for NOWAIT locks.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Locks' &amp;&amp; @.counter_name=='Lock Timeouts/sec' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MSSQL.LOCK_TIMEOUTS.MAX}</expression>
                            <name>MSSQL: Total lock requests per second that timed out is high (over {$MSSQL.LOCK_TIMEOUTS.MAX} for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The total number of timed out lock requests per second, including requests for NOWAIT locks, is high.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Total lock requests per second that required waiting</name>
                    <type>DEPENDENT</type>
                    <key>mssql.lock_waits_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>rps</units>
                    <description>Number of lock requests per second that required the caller to wait.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Locks' &amp;&amp; @.counter_name=='Lock Waits/sec' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;0</expression>
                            <name>MSSQL: Some blocking is occurring for 5m</name>
                            <priority>AVERAGE</priority>
                            <description>Values greater than zero indicate at least some blocking is occurring, while a value of zero can quickly eliminate blocking as a potential root-cause problem.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Lock wait time</name>
                    <type>DEPENDENT</type>
                    <key>mssql.lock_wait_time</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>ms</units>
                    <description>Average of total wait time (in milliseconds) for locks in the last second.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Locks' &amp;&amp; @.counter_name=='Lock Wait Time (ms)' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Logins per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.logins_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Total number of logins started per second. This does not include pooled connections. Any value over 2 may indicate insufficient connection pooling.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:General Statistics' &amp;&amp; @.counter_name=='Logins/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Logouts per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.logouts_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Total number of logout operations started per second. Any value over 2 may indicate insufficient connection pooling.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:General Statistics' &amp;&amp; @.counter_name=='Logouts/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Total log file size</name>
                    <type>DEPENDENT</type>
                    <key>mssql.log_files_size</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Total size of all the transaction log files.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Log File(s) Size (KB)' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Total log file used size</name>
                    <type>DEPENDENT</type>
                    <key>mssql.log_files_used_size</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>The cumulative used size of all the log files in the database.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Log File(s) Used Size (KB)' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Maximum workspace memory</name>
                    <type>DEPENDENT</type>
                    <key>mssql.maximum_workspace_memory</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Indicates the maximum amount of memory available for executing processes, such as hash, sort, bulk copy, and index creation operations.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Memory Manager' &amp;&amp; @.counter_name=='Maximum Workspace Memory (KB)')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Memory grants outstanding</name>
                    <type>DEPENDENT</type>
                    <key>mssql.memory_grants_outstanding</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Specifies the total number of processes that have successfully acquired a workspace memory grant.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Memory Manager' &amp;&amp; @.counter_name=='Memory Grants Outstanding')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Memory grants pending</name>
                    <type>DEPENDENT</type>
                    <key>mssql.memory_grants_pending</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Specifies the total number of processes waiting for a workspace memory grant.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Memory Manager' &amp;&amp; @.counter_name=='Memory Grants Pending')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Total lock requests per second that have deadlocks</name>
                    <type>DEPENDENT</type>
                    <key>mssql.number_deadlocks_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>rps</units>
                    <description>Number of lock requests per second that resulted in a deadlock.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Locks' &amp;&amp; @.counter_name=='Number of Deadlocks/sec' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MSSQL.DEADLOCKS.MAX}</expression>
                            <name>MSSQL: Number of deadlock is high (over {$MSSQL.DEADLOCKS.MAX} for 5m)</name>
                            <priority>AVERAGE</priority>
                            <description>Too many deadlocks are occurring currently.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Errors per second (DB offline errors)</name>
                    <type>DEPENDENT</type>
                    <key>mssql.offline_errors_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of errors per second.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Errors' &amp;&amp; @.counter_name=='Errors/sec' &amp;&amp; @.instance_name=='DB Offline Errors')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Page life expectancy</name>
                    <type>DEPENDENT</type>
                    <key>mssql.page_life_expectancy</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>Indicates the number of seconds a page will stay in the buffer pool without references.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Buffer Manager' &amp;&amp; @.counter_name=='Page life expectancy')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(15m)}&lt;{$MSSQL.PAGE_LIFE_EXPECTANCY.MIN}</expression>
                            <name>MSSQL: Page life expectancy is low (less {$MSSQL.PAGE_LIFE_EXPECTANCY.MIN}min for 15m)</name>
                            <priority>HIGH</priority>
                            <description>The page stays in the buffer pool without references of less time than the threshold value.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Page lookups per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.page_lookups_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>rps</units>
                    <description>Indicates the number of requests per second to find a page in the buffer pool.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Buffer Manager' &amp;&amp; @.counter_name=='Page lookups/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Page reads per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.page_reads_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Indicates the number of physical database page reads that are issued per second. This statistic displays the total number of physical page reads across all databases. Because physical I/O is expensive, you may be able to minimize the cost, either by using a larger data cache, intelligent indexes, and more efficient queries, or by changing the database design.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Buffer Manager' &amp;&amp; @.counter_name=='Page reads/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MSSQL.PAGE_READS.MAX}</expression>
                            <name>MSSQL: Number of physical database page reads per second is high (over {$MSSQL.PAGE_READS.MAX} for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The physical database page reads are issued too frequently.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Page splits per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.page_splits_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of page splits per second that occur as the result of overflowing index pages.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Access Methods' &amp;&amp; @.counter_name=='Page Splits/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Page writes per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.page_writes_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Indicates the number of physical database page writes that are issued per second.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Buffer Manager' &amp;&amp; @.counter_name=='Page writes/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MSSQL.PAGE_WRITES.MAX}</expression>
                            <name>MSSQL: Number of physical database page writes per second is high (over {$MSSQL.PAGE_WRITES.MAX} for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The physical database page writes are issued too frequently.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Percent of Adhoc queries running</name>
                    <type>CALCULATED</type>
                    <key>mssql.percent_of_adhoc_queries</key>
                    <delay>0;m0-59s3</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>last(mssql.sql_compilations_sec.rate) * 100 /
(last(mssql.batch_requests_sec.rate) + (last(mssql.batch_requests_sec.rate)=0))</params>
                    <description>The ratio of SQL compilations per second to Batch requests per second in percentage.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(15m)} &gt; {$MSSQL.PERCENT_COMPILATIONS.MAX}</expression>
                            <name>MSSQL: Percent of adhoc queries running is over {$MSSQL.PERCENT_COMPILATIONS.MAX}% for 15m</name>
                            <priority>WARNING</priority>
                            <description>The lower this value is the better. High values often indicate excessive adhoc querying and should be as low as possible. If excessive adhoc querying is happening, try rewriting the queries as procedures or invoke the queries using sp_executeSQL. When rewriting isn't possible, consider using a plan guide or setting the database to parameterization forced mode.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Percent of Recompiled Transact-SQL Objects</name>
                    <type>CALCULATED</type>
                    <key>mssql.percent_recompilations_to_compilations</key>
                    <delay>0;m0-59s3</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>last(mssql.sql_recompilations_sec.rate) * 100 /
(last(mssql.sql_compilations_sec.rate) + (last(mssql.sql_compilations_sec.rate)=0))</params>
                    <description>The ratio of SQL re-compilations per second to SQL compilations per second in percentage.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(15m)} &gt; {$MSSQL.PERCENT_RECOMPILATIONS.MAX}</expression>
                            <name>MSSQL: Percent of times statement recompiles is over {$MSSQL.PERCENT_RECOMPILATIONS.MAX}% for 15m</name>
                            <priority>WARNING</priority>
                            <description>This number should be at or near zero, since recompiles can cause deadlocks and exclusive compile locks. This counter's value should follow in proportion to “Batch Requests/sec” and “SQL Compilations/sec”.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Number of blocked processes</name>
                    <type>DEPENDENT</type>
                    <key>mssql.processes_blocked</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of currently blocked processes.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:General Statistics' &amp;&amp; @.counter_name=='Processes blocked')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Read-ahead pages per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.readahead_pages_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Indicates the number of pages read per second in anticipation of use.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Buffer Manager' &amp;&amp; @.counter_name=='Readahead pages/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Safe auto-params per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.safe_autoparams_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of safe auto-parameterization attempts per second. Safe refers to a determination that a cached execution plan can be shared between different similar-looking Transact-SQL statements. SQL Server makes many auto-parameterization attempts some of which turn out to be safe and others fail. Note that auto-parameterizations are also known as simple parameterizations in the newer versions of SQL Server. This does not include forced parameterizations.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Statistics' &amp;&amp; @.counter_name=='Safe Auto-Params/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Full scans to Index searches ratio</name>
                    <type>CALCULATED</type>
                    <key>mssql.scan_to_search</key>
                    <delay>0;m0-59s3</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <params>last(mssql.full_scans_sec.rate) / (last(mssql.index_searches_sec.rate) + (last(mssql.index_searches_sec.rate)=0))</params>
                    <description>The ratio of Full scans per second to Index searches per second. The threshold recommendation is strictly for OLTP workloads.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(15m)} &gt; 0.001</expression>
                            <name>MSSQL: Number of index and table scans exceeds index searches in the last 15m</name>
                            <priority>WARNING</priority>
                            <description>Index searches are preferable to index and table scans. For OLTP applications, optimize for more index searches and less scans (preferably, 1 full scan for every 1000 index searches). Index and table scans are expensive I/O operations.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: SQL compilations per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.sql_compilations_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of SQL compilations per second. Indicates the number of times the compile code path is entered. Includes compiles caused by statement-level recompilations in SQL Server. After SQL Server user activity is stable, this value reaches a steady state.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Statistics' &amp;&amp; @.counter_name=='SQL Compilations/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: SQL re-compilations per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.sql_recompilations_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of statement recompiles per second. Counts the number of times statement recompiles are triggered. Generally, you want the recompiles to be low.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Statistics' &amp;&amp; @.counter_name=='SQL Re-Compilations/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Table lock escalations per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.table_lock_escalations.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of times locks on a table were escalated to the TABLE or HoBT granularity.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Access Methods' &amp;&amp; @.counter_name=='Table Lock Escalations/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Target pages</name>
                    <type>DEPENDENT</type>
                    <key>mssql.target_pages</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The optimal number of pages in the buffer pool.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Buffer Manager' &amp;&amp; @.counter_name=='Target pages')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Target server memory</name>
                    <type>DEPENDENT</type>
                    <key>mssql.target_server_memory</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Indicates the ideal amount of memory the server can consume.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Memory Manager' &amp;&amp; @.counter_name=='Target Server Memory (KB)')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Total latch wait Time</name>
                    <type>DEPENDENT</type>
                    <key>mssql.total_latch_wait_time</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>ms</units>
                    <description>Total latch wait time (in milliseconds) for latch requests in the last second. This value should stay stable compared to the number of latch waits per second.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Latches' &amp;&amp; @.counter_name=='Total Latch Wait Time (ms)')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Total server memory</name>
                    <type>DEPENDENT</type>
                    <key>mssql.total_server_memory</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>Specifies the amount of memory the server has committed using the memory manager.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Memory Manager' &amp;&amp; @.counter_name=='Total Server Memory (KB)')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Total transactions number</name>
                    <type>DEPENDENT</type>
                    <key>mssql.transactions</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The number of currently active transactions of all types.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Transactions' &amp;&amp; @.counter_name=='Transactions')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Total transactions per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.transactions_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Total number of transactions started for all databases per second.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Transactions/sec' &amp;&amp; @.instance_name=='_Total')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Unsafe auto-params per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.unsafe_autoparams_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of unsafe auto-parameterization attempts per second. For example, the query has some characteristics that prevent the cached plan from being shared. These are designated as unsafe. This does not count the number of forced parameterizations.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Statistics' &amp;&amp; @.counter_name=='Unsafe Auto-Params/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Uptime</name>
                    <type>DEPENDENT</type>
                    <key>mssql.uptime</key>
                    <delay>0</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <units>uptime</units>
                    <description>MS SQL Server uptime in 'N days, hh:mm:ss' format.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}' &amp;&amp; @.counter_name=='Uptime')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{nodata(30m)}=1</expression>
                            <name>MSSQL: Failed to fetch info data (or no data for 30m)</name>
                            <priority>INFO</priority>
                            <description>Zabbix has not received data for items for the last 30 minutes.</description>
                            <dependencies>
                                <dependency>
                                    <name>MSSQL: Service is unavailable</name>
                                    <expression>{Template DB MSSQL by ODBC:net.tcp.service[tcp,{HOST.CONN},{$MSSQL.PORT}].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>MSSQL: Service has been restarted (uptime &lt; 10m)</name>
                            <priority>INFO</priority>
                            <description>Uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Number users connected</name>
                    <type>DEPENDENT</type>
                    <key>mssql.user_connections</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of users connected to MS SQL Server.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:General Statistics' &amp;&amp; @.counter_name=='User Connections')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Errors per second (User errors)</name>
                    <type>DEPENDENT</type>
                    <key>mssql.user_errors_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of errors per second.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:SQL Errors' &amp;&amp; @.counter_name=='Errors/sec' &amp;&amp; @.instance_name=='User Errors')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>MSSQL: Version</name>
                    <type>DEPENDENT</type>
                    <key>mssql.version</key>
                    <delay>0</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MS SQL Server version.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}' &amp;&amp; @.counter_name=='Version')].instance_name.first()</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <name>MSSQL: Version has changed (new version value received: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>MSSQL version has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Work files created per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.workfiles_created_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of work files created per second. For example, work files can be used to store temporary results for hash joins and hash aggregates.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Access Methods' &amp;&amp; @.counter_name=='Workfiles Created/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MSSQL.WORK_FILES.MAX}</expression>
                            <name>MSSQL: Number of work files created per second is high (over {$MSSQL.WORK_FILES.MAX} for 5m)</name>
                            <priority>AVERAGE</priority>
                            <description>Too many work files created per second to store temporary results for hash joins and hash aggregates.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Work tables created per second</name>
                    <type>DEPENDENT</type>
                    <key>mssql.worktables_created_sec.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of work tables created per second. For example, work tables can be used to store temporary results for query spool, lob variables, XML variables, and cursors.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Access Methods' &amp;&amp; @.counter_name=='Worktables Created/sec')].cntr_value.first()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MSSQL.WORK_TABLES.MAX}</expression>
                            <name>MSSQL: Number of work tables created per second is high (over {$MSSQL.WORK_TABLES.MAX} for 5m)</name>
                            <priority>AVERAGE</priority>
                            <description>Too many work tables created per second to store temporary results for query spool, lob variables, XML variables, and cursors.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Worktables from cache ratio</name>
                    <type>DEPENDENT</type>
                    <key>mssql.worktables_from_cache_ratio</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Percentage of work tables created where the initial two pages of the work table were not allocated but were immediately available from the work table cache.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Access Methods' &amp;&amp; @.counter_name=='WorktablesFromCacheRatio')].cntr_value.first()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{max(5m)}&lt;{$MSSQL.WORKTABLES_FROM_CACHE_RATIO.MIN.CRIT}</expression>
                            <name>MSSQL: Percentage of work tables available from the work table cache is low (below {$MSSQL.WORKTABLES_FROM_CACHE_RATIO.MIN.CRIT}% for 5m)</name>
                            <priority>HIGH</priority>
                            <description>A value less than 90% may indicate insufficient memory, since execution plans are being dropped, or on 32-bit systems, may indicate the need for an upgrade to a 64-bit system</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>MSSQL: Service's TCP port state</name>
                    <type>SIMPLE</type>
                    <key>net.tcp.service[tcp,{HOST.CONN},{$MSSQL.PORT}]</key>
                    <delay>30s</delay>
                    <history>7d</history>
                    <description>Test the availability of MS SQL Server on a TCP port.</description>
                    <applications>
                        <application>
                            <name>MSSQL</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>MSSQL: Service is unavailable</name>
                            <priority>DISASTER</priority>
                            <description>The TCP port of the MS SQL Server service is currently unavailable.</description>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Availability groups discovery</name>
                    <type>ODBC</type>
                    <key>db.odbc.discovery[availability_groups,&quot;{$MSSQL.DSN}&quot;]</key>
                    <delay>1h</delay>
                    <params>SELECT name as group_name 
FROM sys.availability_groups</params>
                    <username>{$MSSQL.USER}</username>
                    <password>{$MSSQL.PASSWORD}</password>
                    <description>Discovery of the existing availability groups.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}': Get replica states</name>
                            <type>ODBC</type>
                            <key>db.odbc.get[{#GROUP_NAME}_replica_states,&quot;{$MSSQL.DSN}&quot;]</key>
                            <history>0h</history>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <params>SELECT ag.name as group_name,
ISNULL(ags.primary_recovery_health, 2) as primary_recovery_health,
ISNULL(ags.primary_replica, 'Unknown') as primary_replica,
ISNULL(ags.secondary_recovery_health, 2) as secondary_recovery_health,
ags.synchronization_health as synchronization_health
FROM sys.dm_hadr_availability_group_states ags JOIN sys.availability_groups ag ON ag.group_id = ags.group_id</params>
                            <username>{$MSSQL.USER}</username>
                            <password>{$MSSQL.PASSWORD}</password>
                            <description>Getting replica states - name, primary and secondary health, synchronization health.</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}': Primary replica recovery health</name>
                            <type>DEPENDENT</type>
                            <key>mssql.primary_recovery_health[&quot;{#GROUP_NAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Indicates the recovery health of the primary replica:&#13;
0 = In progress&#13;
1 = Online&#13;
2 = Unavailable</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Availability Group '{#GROUP_NAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL AG Recovery health</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}')].primary_recovery_health.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[{#GROUP_NAME}_replica_states,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=0</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}': Primary replica recovery health in progress</name>
                                    <priority>WARNING</priority>
                                    <description>The primary replica is in the synchronization process.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}': Primary replica name</name>
                            <type>DEPENDENT</type>
                            <key>mssql.primary_replica[&quot;{#GROUP_NAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>Name of the server instance that is hosting the current primary replica.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Availability Group '{#GROUP_NAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}')].primary_replica.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>3h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[{#GROUP_NAME}_replica_states,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}': Secondary replica recovery health</name>
                            <type>DEPENDENT</type>
                            <key>mssql.secondary_recovery_health[&quot;{#GROUP_NAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Indicates the recovery health of a secondary replica replica:&#13;
0 = In progress&#13;
1 = Online&#13;
2 = Unavailable</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Availability Group '{#GROUP_NAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL AG Recovery health</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}')].secondary_recovery_health.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[{#GROUP_NAME}_replica_states,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=0</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}': Secondary replica recovery health in progress</name>
                                    <priority>WARNING</priority>
                                    <description>The secondary replica is in the synchronization process.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}': Synchronization health</name>
                            <type>DEPENDENT</type>
                            <key>mssql.synchronization_health[&quot;{#GROUP_NAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Reflects a rollup of the synchronization_health of all availability replicas in the availability group:&#13;
0: Not healthy. None of the availability replicas have a healthy synchronization.&#13;
1: Partially healthy. The synchronization of some, but not all, availability replicas is healthy.&#13;
2: Healthy. The synchronization of every availability replica is healthy.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Availability Group '{#GROUP_NAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL AG Synchronization health</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}')].synchronization_health.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[{#GROUP_NAME}_replica_states,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=0</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}': All replicas unhealthy</name>
                                    <priority>DISASTER</priority>
                                    <description>None of the availability replicas have a healthy synchronization.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=1</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}': Some replicas unhealthy</name>
                                    <priority>HIGH</priority>
                                    <description>The synchronization health of some, but not all, availability replicas is healthy.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
                <discovery_rule>
                    <name>Database discovery</name>
                    <type>ODBC</type>
                    <key>db.odbc.discovery[dbname,&quot;{$MSSQL.DSN}&quot;]</key>
                    <delay>1h</delay>
                    <params>SELECT name as dbname 
FROM sys.databases</params>
                    <username>{$MSSQL.USER}</username>
                    <password>{$MSSQL.PASSWORD}</password>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#DBNAME}</macro>
                                <value>{$MSSQL.DBNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#DBNAME}</macro>
                                <value>{$MSSQL.DBNAME.MATCHES}</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning databases in DBMS.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Last diff backup duration</name>
                            <type>DEPENDENT</type>
                            <key>mssql.backup.diff.duration[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>Duration of the last differential backup.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.dbname=='{#DBNAME}' &amp;&amp; @.type=='I')].duration.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_last_backup,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Last diff backup (time ago)</name>
                            <type>DEPENDENT</type>
                            <key>mssql.backup.diff[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>The amount of time since the last differential backup.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.dbname=='{#DBNAME}' &amp;&amp; @.type=='I')].timesincelastbackup.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_last_backup,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;{$MSSQL.BACKUP_DIFF.CRIT:&quot;{#DBNAME}&quot;}</expression>
                                    <name>MSSQL DB '{#DBNAME}': Diff backup older than {$MSSQL.BACKUP_DIFF.CRIT:&quot;{#DBNAME}&quot;}</name>
                                    <opdata>Time since last backup: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>The differential backup has not been executed for a long time.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}&gt;{$MSSQL.BACKUP_DIFF.WARN:&quot;{#DBNAME}&quot;}</expression>
                                    <name>MSSQL DB '{#DBNAME}': Diff backup older than {$MSSQL.BACKUP_DIFF.WARN:&quot;{#DBNAME}&quot;}</name>
                                    <opdata>Time since last backup: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>The differential backup has not been executed for a long time.</description>
                                    <manual_close>YES</manual_close>
                                    <dependencies>
                                        <dependency>
                                            <name>MSSQL DB '{#DBNAME}': Diff backup older than {$MSSQL.BACKUP_DIFF.CRIT:&quot;{#DBNAME}&quot;}</name>
                                            <expression>{Template DB MSSQL by ODBC:mssql.backup.diff[&quot;{#DBNAME}&quot;].last()}&gt;{$MSSQL.BACKUP_DIFF.CRIT:&quot;{#DBNAME}&quot;}</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Last full backup duration</name>
                            <type>DEPENDENT</type>
                            <key>mssql.backup.full.duration[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>Duration of the last full backup.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.dbname=='{#DBNAME}' &amp;&amp; @.type=='D')].duration.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_last_backup,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Last full backup (time ago)</name>
                            <type>DEPENDENT</type>
                            <key>mssql.backup.full[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>The amount of time since the last full backup.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.dbname=='{#DBNAME}' &amp;&amp; @.type=='D')].timesincelastbackup.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_last_backup,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;{$MSSQL.BACKUP_FULL.CRIT:&quot;{#DBNAME}&quot;}</expression>
                                    <name>MSSQL DB '{#DBNAME}': Full backup older than {$MSSQL.BACKUP_FULL.CRIT:&quot;{#DBNAME}&quot;}</name>
                                    <opdata>Time since last backup: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>The full backup has not been executed for a long time.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}&gt;{$MSSQL.BACKUP_FULL.WARN:&quot;{#DBNAME}&quot;}</expression>
                                    <name>MSSQL DB '{#DBNAME}': Full backup older than {$MSSQL.BACKUP_FULL.WARN:&quot;{#DBNAME}&quot;}</name>
                                    <opdata>Time since last backup: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>The full backup has not been executed for a long time.</description>
                                    <manual_close>YES</manual_close>
                                    <dependencies>
                                        <dependency>
                                            <name>MSSQL DB '{#DBNAME}': Full backup older than {$MSSQL.BACKUP_FULL.CRIT:&quot;{#DBNAME}&quot;}</name>
                                            <expression>{Template DB MSSQL by ODBC:mssql.backup.full[&quot;{#DBNAME}&quot;].last()}&gt;{$MSSQL.BACKUP_FULL.CRIT:&quot;{#DBNAME}&quot;}</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Last log backup duration</name>
                            <type>DEPENDENT</type>
                            <key>mssql.backup.log.duration[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>Duration of the last log backup.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.dbname=='{#DBNAME}' &amp;&amp; @.type=='L')].duration.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_last_backup,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Last log backup</name>
                            <type>DEPENDENT</type>
                            <key>mssql.backup.log[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>The amount of time since the last log backup.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.dbname=='{#DBNAME}' &amp;&amp; @.type=='L')].timesincelastbackup.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_last_backup,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;{$MSSQL.BACKUP_LOG.CRIT:&quot;{#DBNAME}&quot;}</expression>
                                    <name>MSSQL DB '{#DBNAME}': Log backup older than {$MSSQL.BACKUP_LOG.CRIT:&quot;{#DBNAME}&quot;}</name>
                                    <opdata>Time since last backup: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>The log backup has not been executed for a long time.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}&gt;{$MSSQL.BACKUP_LOG.WARN:&quot;{#DBNAME}&quot;}</expression>
                                    <name>MSSQL DB '{#DBNAME}': Log backup older than {$MSSQL.BACKUP_LOG.WARN:&quot;{#DBNAME}&quot;}</name>
                                    <opdata>Time since last backup: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>The log backup has not been executed for a long time.</description>
                                    <manual_close>YES</manual_close>
                                    <dependencies>
                                        <dependency>
                                            <name>MSSQL DB '{#DBNAME}': Log backup older than {$MSSQL.BACKUP_LOG.CRIT:&quot;{#DBNAME}&quot;}</name>
                                            <expression>{Template DB MSSQL by ODBC:mssql.backup.log[&quot;{#DBNAME}&quot;].last()}&gt;{$MSSQL.BACKUP_LOG.CRIT:&quot;{#DBNAME}&quot;}</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Active transactions</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.active_transactions[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of active transactions for the database.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Active Transactions' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Data file size</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.data_files_size[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>B</units>
                            <description>Cumulative size of all the data files in the database including any automatic growth. Monitoring this counter is useful, for example, for determining the correct size of tempdb.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Data File(s) Size (KB)' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1024</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Log bytes flushed per second</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.log_bytes_flushed_sec.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>Bps</units>
                            <description>Total number of log bytes flushed per second. Useful for determining trends and utilization of the transaction log.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Log Bytes Flushed/sec' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Log file size</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.log_files_size[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>B</units>
                            <description>Cumulative size of all the transaction log files in the database.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Log File(s) Size (KB)' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1024</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Log file used size</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.log_files_used_size[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>B</units>
                            <description>Cumulative used size of all the log files in the database.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Log File(s) Used Size (KB)' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1024</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Log flushes per second</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.log_flushes_sec.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Number of log flushes per second.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Log Flushes/sec' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Log flush waits per second</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.log_flush_waits_sec.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Number of commits per second waiting for the log flush.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Log Flush Waits/sec' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MSSQL.LOG_FLUSH_WAITS.MAX:&quot;{#DBNAME}&quot;}</expression>
                                    <name>MSSQL DB '{#DBNAME}': Number of commits waiting for the log flush is high (over {$MSSQL.LOG_FLUSH_WAITS.MAX:&quot;{#DBNAME}&quot;}/sec for 5m)</name>
                                    <priority>WARNING</priority>
                                    <description>Too many commits are waiting for the log flush.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Log flush wait time</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.log_flush_wait_time[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>ms</units>
                            <description>Total wait time (in milliseconds) to flush the log. On an AlwaysOn secondary database, this value indicates the wait time for log records to be hardened to disk.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Log Flush Wait Time' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MSSQL.LOG_FLUSH_WAIT_TIME.MAX:&quot;{#DBNAME}&quot;}</expression>
                                    <name>MSSQL DB '{#DBNAME}': Total wait time to flush the log is high (over {$MSSQL.LOG_FLUSH_WAIT_TIME.MAX:&quot;{#DBNAME}&quot;}ms for 5m)</name>
                                    <priority>WARNING</priority>
                                    <description>The wait time to flush the log is too long.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Log growths</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.log_growths[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Total number of times the transaction log for the database has been expanded.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Log Growths' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Log shrinks</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.log_shrinks[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Total number of times the transaction log for the database has been shrunk.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Log Shrinks' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Log truncations</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.log_truncations[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of times the transaction log has been shrunk.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Log Truncations' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Percent log used</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.percent_log_used[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>Percentage of space in the log that is in use.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Percent Log Used' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MSSQL.PERCENT_LOG_USED.MAX:&quot;{#DBNAME}&quot;}</expression>
                                    <name>MSSQL DB '{#DBNAME}': Percent of log using is high (over {$MSSQL.PERCENT_LOG_USED.MAX:&quot;{#DBNAME}&quot;}% for 5m)</name>
                                    <priority>WARNING</priority>
                                    <description>There's not enough space left in the log.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': State</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.state[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>0 = ONLINE&#13;
1 = RESTORING&#13;
2 = RECOVERING | SQL Server 2008 and later&#13;
3 = RECOVERY_PENDING | SQL Server 2008 and later&#13;
4 = SUSPECT&#13;
5 = EMERGENCY | SQL Server 2008 and later&#13;
6 = OFFLINE | SQL Server 2008 and later&#13;
7 = COPYING | Azure SQL Database Active Geo-Replication&#13;
10 = OFFLINE_SECONDARY | Azure SQL Database Active Geo-Replication</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL DB state</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='State' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>15m</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;1</expression>
                                    <name>MSSQL DB '{#DBNAME}': State is {ITEM.VALUE}</name>
                                    <priority>HIGH</priority>
                                    <description>The DB has a non-working state.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL DB '{#DBNAME}': Transactions per second</name>
                            <type>DEPENDENT</type>
                            <key>mssql.db.transactions_sec.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Number of transactions started for the database per second.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Database '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.object_name=='{$MSSQL.INSTANCE}:Databases' &amp;&amp; @.counter_name=='Transactions/sec' &amp;&amp; @.instance_name=='{#DBNAME}')].cntr_value.first()</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_status_variables,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>MSSQL DB '{#DBNAME}': Log size</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template DB MSSQL by ODBC</host>
                                        <key>mssql.db.log_files_size[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template DB MSSQL by ODBC</host>
                                        <key>mssql.db.log_files_used_size[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>MSSQL DB '{#DBNAME}': Number of Log changes</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template DB MSSQL by ODBC</host>
                                        <key>mssql.db.log_growths[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template DB MSSQL by ODBC</host>
                                        <key>mssql.db.log_shrinks[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Template DB MSSQL by ODBC</host>
                                        <key>mssql.db.log_truncations[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>MSSQL DB '{#DBNAME}': Size</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template DB MSSQL by ODBC</host>
                                        <key>mssql.db.data_files_size[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
                <discovery_rule>
                    <name>Job discovery</name>
                    <type>ODBC</type>
                    <key>db.odbc.discovery[jobname,&quot;{$MSSQL.DSN}&quot;]</key>
                    <delay>1h</delay>
                    <params>SELECT name AS jobname FROM msdb..sysjobs WHERE enabled = 1</params>
                    <username>{$MSSQL.USER}</username>
                    <password>{$MSSQL.PASSWORD}</password>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#JOBNAME}</macro>
                                <value>{$MSSQL.JOB.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#JOBNAME}</macro>
                                <value>{$MSSQL.JOB.MATCHES}</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning jobs in DBMS.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>MSSQL Job '{#JOBNAME}': Last run date-time</name>
                            <type>DEPENDENT</type>
                            <key>mssql.job.lastrundatetime[&quot;{#JOBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <description>The last date-time of the job run.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Job '{#JOBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.JobName=='{#JOBNAME}')].LastRunDateTime.first()</params>
                                    <error_handler>DISCARD_VALUE</error_handler>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_job_status,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL Job '{#JOBNAME}': Last run status message</name>
                            <type>DEPENDENT</type>
                            <key>mssql.job.lastrunstatusmessage[&quot;{#JOBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <description>The informational message about the last run of the job.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Job '{#JOBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.JobName=='{#JOBNAME}')].LastRunStatusMessage.first()</params>
                                    <error_handler>DISCARD_VALUE</error_handler>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>15m</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_job_status,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL Job '{#JOBNAME}': Next run date-time</name>
                            <type>DEPENDENT</type>
                            <key>mssql.job.nextrundatetime[&quot;{#JOBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <description>The next date-time of the job run.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Job '{#JOBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.JobName=='{#JOBNAME}')].NextRunDateTime.first()</params>
                                    <error_handler>DISCARD_VALUE</error_handler>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>15m</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_job_status,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL Job '{#JOBNAME}': Run status</name>
                            <type>DEPENDENT</type>
                            <key>mssql.job.runstatus[&quot;{#JOBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>The job status possible values:&#13;
0 ⇒ Failed&#13;
1 ⇒ Succeeded&#13;
2 ⇒ Retry&#13;
3 ⇒ Canceled&#13;
4 ⇒ Running</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Job '{#JOBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL Job Run Status</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.JobName=='{#JOBNAME}')].RunStatus.first()</params>
                                    <error_handler>DISCARD_VALUE</error_handler>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>15m</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_job_status,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=0</expression>
                                    <name>MSSQL Job '{#JOBNAME}': Failed to run</name>
                                    <priority>WARNING</priority>
                                    <description>The last run of the job has failed.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL Job '{#JOBNAME}': Run duration</name>
                            <type>DEPENDENT</type>
                            <key>mssql.job.run_duration[&quot;{#JOBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>Duration of the last run job.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Job '{#JOBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.JobName=='{#JOBNAME}')].RunDuration.first()</params>
                                    <error_handler>DISCARD_VALUE</error_handler>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>15m</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[get_job_status,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;{$MSSQL.BACKUP_DURATION.WARN:&quot;{#JOBNAME}&quot;}</expression>
                                    <name>MSSQL Job '{#JOBNAME}': Job duration is greater than {$MSSQL.BACKUP_DURATION.WARN:&quot;{#JOBNAME}&quot;}</name>
                                    <opdata>Job duration: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>The job is taking too long.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
                <discovery_rule>
                    <name>Local database discovery</name>
                    <type>ODBC</type>
                    <key>db.odbc.discovery[local_db,&quot;{$MSSQL.DSN}&quot;]</key>
                    <delay>1h</delay>
                    <params>SELECT ag.name AS group_name, arcs.replica_server_name AS replica_name,
db_name(drs.database_id) AS dbname, drs.is_local
FROM sys.dm_hadr_database_replica_states drs JOIN sys.dm_hadr_availability_replica_cluster_states arcs
ON arcs.replica_id = drs.replica_id
JOIN sys.availability_groups ag ON ag.group_id = arcs.group_id
JOIN sys.dm_hadr_availability_replica_states ars ON ars.replica_id = arcs.replica_id
WHERE drs.is_local = 1</params>
                    <username>{$MSSQL.USER}</username>
                    <password>{$MSSQL.PASSWORD}</password>
                    <description>Discovery of the local availability databases.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Local DB '{#DBNAME}': Get local DB states</name>
                            <type>ODBC</type>
                            <key>db.odbc.get[&quot;{#GROUP_NAME}_{#DBNAME}_local_db.states&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            <history>0h</history>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <params>SELECT drs.database_state as database_state, 
drs.is_suspended as is_suspended, 
drs.synchronization_health as synchronization_health, 
ag.name as group_name,
arcs.replica_server_name as replica_name,
db_name(drs.database_id) as dbname
FROM sys.dm_hadr_database_replica_states drs 
JOIN sys.dm_hadr_availability_replica_cluster_states arcs ON arcs.replica_id = drs.replica_id 
JOIN sys.availability_groups ag ON ag.group_id = arcs.group_id 
JOIN sys.dm_hadr_availability_replica_states ars ON ars.replica_id = arcs.replica_id</params>
                            <username>{$MSSQL.USER}</username>
                            <password>{$MSSQL.PASSWORD}</password>
                            <description>Getting the states of the local availability database.</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Local DB '{#DBNAME}': Suspended</name>
                            <type>DEPENDENT</type>
                            <key>mssql.local_db.is_suspended[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Database state:&#13;
0 = Resumed&#13;
1 = Suspended</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Local DB '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}' &amp;&amp; @.dbname=='{#DBNAME}')].is_suspended.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}_{#DBNAME}_local_db.states&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Local DB '{#DBNAME}': State</name>
                            <type>DEPENDENT</type>
                            <key>mssql.local_db.state[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>0 = Online&#13;
1 = Restoring&#13;
2 = Recovering&#13;
3 = Recovery pending&#13;
4 = Suspect&#13;
5 = Emergency&#13;
6 = Offline</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Local DB '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL DB state</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}' &amp;&amp; @.dbname=='{#DBNAME}')].database_state.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}_{#DBNAME}_local_db.states&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;0</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}' Local DB '{#DBNAME}': &quot;{#DBNAME}&quot; is {ITEM.VALUE}</name>
                                    <priority>WARNING</priority>
                                    <description>The local availability database has a non-working state.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Local DB '{#DBNAME}': Synchronization health</name>
                            <type>DEPENDENT</type>
                            <key>mssql.local_db.synchronization_health[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Reflects the intersection of the synchronization state of a database that is joined to the availability group on the availability replica and the availability mode of the availability replica (synchronous-commit or asynchronous-commit mode):&#13;
0 = Not healthy. The synchronization_state of the database is 0 (NOT SYNCHRONIZING).&#13;
1 = Partially healthy. A database on a synchronous-commit availability replica is considered &#13;
partially healthy if synchronization_state is 1 (SYNCHRONIZING).&#13;
2 = Healthy. A database on an synchronous-commit availability replica is considered healthy if synchronization_state is 2 (SYNCHRONIZED), and a database on an asynchronous-commit availability replica is considered healthy if synchronization_state is 1 (SYNCHRONIZING).</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Local DB '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL AG Synchronization health</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}' &amp;&amp; @.dbname=='{#DBNAME}')].synchronization_health.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}_{#DBNAME}_local_db.states&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=0</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}' Local DB '{#DBNAME}': &quot;{#DBNAME}&quot; is Not healthy</name>
                                    <priority>HIGH</priority>
                                    <description>The synchronization state of the local availability database is NOT SYNCHRONIZING.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=1</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}' Local DB '{#DBNAME}': &quot;{#DBNAME}&quot; is Partially healthy</name>
                                    <priority>AVERAGE</priority>
                                    <description>A database on a synchronous-commit availability replica is considered partially healthy if synchronization state is SYNCHRONIZING.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
                <discovery_rule>
                    <name>Mirroring discovery</name>
                    <type>ODBC</type>
                    <key>db.odbc.discovery[mirrors,&quot;{$MSSQL.DSN}&quot;]</key>
                    <delay>1h</delay>
                    <params>SELECT db_name(database_id) as dbname
FROM sys.database_mirroring
WHERE mirroring_state_desc IS NOT NULL</params>
                    <username>{$MSSQL.USER}</username>
                    <password>{$MSSQL.PASSWORD}</password>
                    <description>To see the row for a database other than master or tempdb, you must&#13;
either be the database owner or have at least ALTER ANY DATABASE or VIEW ANY&#13;
DATABASE server-level permission or CREATE DATABASE permission in the master&#13;
database. To see non-NULL values on a mirror database, you must be a member&#13;
of the sysadmin fixed server role.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>MSSQL Mirroring '{#DBNAME}': Get the mirror state</name>
                            <type>ODBC</type>
                            <key>db.odbc.get[&quot;{#DBNAME}_mirroring_state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            <history>0h</history>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <params>SELECT ISNULL(m.mirroring_role,0) as mirroring_role,
ISNULL(m.mirroring_role_sequence,0) as mirroring_role_sequence,
ISNULL(m.mirroring_state,7) as mirroring_state,
ISNULL(m.mirroring_witness_state,3) as mirroring_witness_state,
ISNULL(m.mirroring_safety_level,3) as mirroring_safety_level,
db_name(m.database_id) as dbname 
FROM sys.database_mirroring as m
WHERE m.mirroring_state_desc IS NOT NULL</params>
                            <username>{$MSSQL.USER}</username>
                            <password>{$MSSQL.PASSWORD}</password>
                            <description>Getting mirrors state</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL Mirroring '{#DBNAME}': Role</name>
                            <type>DEPENDENT</type>
                            <key>mssql.mirroring.role[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Current role of the local database plays in the database mirroring session.&#13;
1 = Principal&#13;
2 = Mirror</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Mirroring '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL Mirroring Role</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.dbname=='{#DBNAME}')].mirroring_role.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#DBNAME}_mirroring_state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL Mirroring '{#DBNAME}': Role sequence</name>
                            <type>DEPENDENT</type>
                            <key>mssql.mirroring.role_sequence[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>The number of times that mirroring partners have switched the principal and mirror roles due to a failover or forced service.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Mirroring '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.dbname=='{#DBNAME}')].mirroring_role_sequence.first()</params>
                                </step>
                                <step>
                                    <type>SIMPLE_CHANGE</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#DBNAME}_mirroring_state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL Mirroring '{#DBNAME}': Safety level</name>
                            <type>DEPENDENT</type>
                            <key>mssql.mirroring.safety_level[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Safety setting for updates on the mirror database:&#13;
0 = Unknown state&#13;
1 = Off [asynchronous]&#13;
2 = Full [synchronous]</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Mirroring '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL Safety level</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.dbname=='{#DBNAME}')].mirroring_safety_level.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#DBNAME}_mirroring_state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL Mirroring '{#DBNAME}': State</name>
                            <type>DEPENDENT</type>
                            <key>mssql.mirroring.state[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>State of the mirror database and of the database mirroring session.&#13;
0 = Suspended&#13;
1 = Disconnected from the other partner&#13;
2 = Synchronizing&#13;
3 = Pending Failover&#13;
4 = Synchronized&#13;
5 = The partners are not synchronized. Failover is not possible now.&#13;
6 = The partners are synchronized. Failover is potentially possible. For information about the requirements for the failover, see Database Mirroring Operating Modes.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Mirroring '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL Mirroring State</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.dbname=='{#DBNAME}')].mirroring_state.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#DBNAME}_mirroring_state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=3</expression>
                                    <name>MSSQL Mirroring '{#DBNAME}': &quot;{#DBNAME}&quot; is {ITEM.VALUE}</name>
                                    <priority>WARNING</priority>
                                    <description>The state of the mirror database and of the database mirroring session is &quot;Pending Failover&quot;.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=5</expression>
                                    <name>MSSQL Mirroring '{#DBNAME}': &quot;{#DBNAME}&quot; is {ITEM.VALUE}</name>
                                    <priority>HIGH</priority>
                                    <description>The state of the mirror database and of the database mirroring session is &quot;Not synchronized&quot;. The partners are not synchronized. A failover is not possible now.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}&gt;=0 and {last()}&lt;=2</expression>
                                    <name>MSSQL Mirroring '{#DBNAME}': &quot;{#DBNAME}&quot; is {ITEM.VALUE}</name>
                                    <priority>INFO</priority>
                                    <description>The state of the mirror database and of the database mirroring session is &quot;Suspended&quot;, &quot;Disconnected from the other partner&quot;, or &quot;Synchronizing&quot;.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL Mirroring '{#DBNAME}': Witness state</name>
                            <type>DEPENDENT</type>
                            <key>mssql.mirroring.witness_state[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>State of the witness in the database mirroring session of the database:&#13;
0 = Unknown&#13;
1 = Connected&#13;
2 = Disconnected</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Mirroring '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL Witness state</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.dbname=='{#DBNAME}')].mirroring_witness_state.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#DBNAME}_mirroring_state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>MSSQL Mirroring '{#DBNAME}': &quot;{#DBNAME}&quot; Witness is disconnected</name>
                                    <priority>WARNING</priority>
                                    <description>The state of the witness in the database mirroring session of the database is &quot;Disconnected&quot;.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>MSSQL Mirroring '{#DBNAME}': States</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template DB MSSQL by ODBC</host>
                                        <key>mssql.mirroring.state[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template DB MSSQL by ODBC</host>
                                        <key>mssql.mirroring.witness_state[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
                <discovery_rule>
                    <name>Non-local database discovery</name>
                    <type>ODBC</type>
                    <key>db.odbc.discovery[non-local_db,&quot;{$MSSQL.DSN}&quot;]</key>
                    <delay>1h</delay>
                    <params>SELECT ag.name AS group_name, arcs.replica_server_name AS replica_name,
db_name(drs.database_id) AS dbname, drs.is_local
FROM sys.dm_hadr_database_replica_states drs JOIN sys.dm_hadr_availability_replica_cluster_states arcs 
ON arcs.replica_id = drs.replica_id 
JOIN sys.availability_groups ag ON ag.group_id = arcs.group_id
JOIN sys.dm_hadr_availability_replica_states ars ON ars.replica_id = arcs.replica_id
WHERE drs.is_local = 0</params>
                    <username>{$MSSQL.USER}</username>
                    <password>{$MSSQL.PASSWORD}</password>
                    <description>Discovery of the non-local (not local to the SQL Server instance) availability databases.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Non-Local DB '*{#REPLICA_NAME}*{#DBNAME}': Get non-local DB states</name>
                            <type>ODBC</type>
                            <key>db.odbc.get[&quot;{#GROUP_NAME}*{#REPLICA_NAME}*{#DBNAME}_non-local_db.states&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            <history>0h</history>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <params>SELECT drs.log_send_queue_size as log_send_queue_size,
drs.redo_queue_size as redo_queue_size,
ag.name as group_name,
arcs.replica_server_name as replica_name,
db_name(drs.database_id) as dbname
FROM sys.dm_hadr_database_replica_states drs 
JOIN sys.dm_hadr_availability_replica_cluster_states arcs ON arcs.replica_id = drs.replica_id 
JOIN sys.availability_groups ag ON ag.group_id = arcs.group_id 
JOIN sys.dm_hadr_availability_replica_states ars ON ars.replica_id = arcs.replica_id</params>
                            <username>{$MSSQL.USER}</username>
                            <password>{$MSSQL.PASSWORD}</password>
                            <description>Getting the states of the non-local availability database.</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Non-Local DB '*{#REPLICA_NAME}*{#DBNAME}': Log queue size</name>
                            <type>DEPENDENT</type>
                            <key>mssql.non-local_db.log_send_queue_size[&quot;{#GROUP_NAME}*{#REPLICA_NAME}*{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>B</units>
                            <description>Amount of the log records of the primary database that has not been sent to the secondary databases.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Non-Local DB '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}' &amp;&amp; @.dbname=='{#DBNAME}')].log_send_queue_size.first()</params>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1024</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}*{#REPLICA_NAME}*{#DBNAME}_non-local_db.states&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(#1)}&gt;{last(#2)} and {last(#2)}&gt;{last(#3)}</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}' Non-Local DB '*{#REPLICA_NAME}*{#DBNAME}': Log queue size is growing</name>
                                    <priority>HIGH</priority>
                                    <description>The log records of the primary database are not sent to the secondary databases.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Non-Local DB '*{#REPLICA_NAME}*{#DBNAME}': Redo log queue size</name>
                            <type>DEPENDENT</type>
                            <key>mssql.non-local_db.redo_queue_size[&quot;{#GROUP_NAME}*{#REPLICA_NAME}*{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>B</units>
                            <description>Amount of log records in the log files of the secondary replica that has not yet been redone.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Non-Local DB '{#DBNAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}' &amp;&amp; @.dbname=='{#DBNAME}')].redo_queue_size.first()</params>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1024</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}*{#REPLICA_NAME}*{#DBNAME}_non-local_db.states&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(#1)}&gt;{last(#2)} and {last(#2)}&gt;{last(#3)}</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}' Non-Local DB '*{#REPLICA_NAME}*{#DBNAME}': Redo log queue size is growing</name>
                                    <priority>HIGH</priority>
                                    <description>The log records in the log files of the secondary replica have not yet been redone.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
                <discovery_rule>
                    <name>Replication discovery</name>
                    <type>ODBC</type>
                    <key>db.odbc.discovery[replicas,&quot;{$MSSQL.DSN}&quot;]</key>
                    <delay>1h</delay>
                    <params>SELECT ag.name as group_name, 
arcs.replica_server_name as replica_name
FROM sys.dm_hadr_availability_replica_cluster_states as arcs 
JOIN sys.availability_groups ag ON ag.group_id = arcs.group_id
JOIN sys.dm_hadr_availability_replica_states ars ON ars.replica_id = arcs.replica_id</params>
                    <username>{$MSSQL.USER}</username>
                    <password>{$MSSQL.PASSWORD}</password>
                    <description>Discovery of the database replicas.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': Get the replica state</name>
                            <type>ODBC</type>
                            <key>db.odbc.get[&quot;{#GROUP_NAME}_{#REPLICA_NAME}_replica.state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            <history>0h</history>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <params>SELECT ars.connected_state as connected_state,
ars.is_local as is_local,
arcs.join_state as join_state,
ISNULL(ars.operational_state,6) as operational_state,
ISNULL(ars.recovery_health,2) as recovery_health,
ars.role as role,
ars.synchronization_health as synchronization_health,
ag.name as group_name, 
arcs.replica_server_name as replica_name
FROM sys.dm_hadr_availability_replica_cluster_states as arcs 
JOIN sys.availability_groups ag ON ag.group_id = arcs.group_id
JOIN sys.dm_hadr_availability_replica_states ars ON ars.replica_id = arcs.replica_id
WHERE ag.name = '{#GROUP_NAME}' AND arcs.replica_server_name = '{#REPLICA_NAME}'</params>
                            <username>{$MSSQL.USER}</username>
                            <password>{$MSSQL.PASSWORD}</password>
                            <description>Getting the database replica states.</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': Connected state</name>
                            <type>DEPENDENT</type>
                            <key>mssql.replica.connected_state[&quot;{#GROUP_NAME}_{#REPLICA_NAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Whether a secondary replica is currently connected to the primary replica:&#13;
0 : Disconnected. The response of an availability replica to the DISCONNECTED state depends on its role:&#13;
On the primary replica, if a secondary replica is disconnected, its secondary databases are marked as NOT SYNCHRONIZED on the primary replica, which waits for the secondary to reconnect;&#13;
On a secondary replica, upon detecting that it is disconnected, the secondary replica attempts to reconnect to the primary replica.&#13;
1 : Connected. Each primary replica tracks the connection state for every secondary replica in the same availability group. Secondary replicas track the connection state of only the primary replica.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Replica '{#REPLICA_NAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL AG Connected state</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}')].connected_state.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}_{#REPLICA_NAME}_replica.state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': Is local</name>
                            <type>DEPENDENT</type>
                            <key>mssql.replica.is_local[&quot;{#GROUP_NAME}_{#REPLICA_NAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Whether the replica is local:&#13;
0 = Indicates a remote secondary replica in an availability group whose primary replica is hosted by the local server instance. This value occurs only on the primary replica location.&#13;
1 = Indicates a local replica. On secondary replicas, this is the only available value for the availability group to which the replica belongs.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Replica '{#REPLICA_NAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL - Yes / No</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}')].is_local.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}_{#REPLICA_NAME}_replica.state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': Join state</name>
                            <type>DEPENDENT</type>
                            <key>mssql.replica.join_state[&quot;{#GROUP_NAME}_{#REPLICA_NAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>0 = Not joined&#13;
1 = Joined, standalone instance&#13;
2 = Joined, failover cluster instance</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Replica '{#REPLICA_NAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL AG Join state</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}')].join_state.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}_{#REPLICA_NAME}_replica.state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': Operational state</name>
                            <type>DEPENDENT</type>
                            <key>mssql.replica.operational_state[&quot;{#GROUP_NAME}_{#REPLICA_NAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Current operational state of the replica:&#13;
0 = Pending failover&#13;
1 = Pending&#13;
2 = Online&#13;
3 = Offline&#13;
4 = Failed&#13;
5 = Failed, no quorum&#13;
6 = Not local</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Replica '{#REPLICA_NAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL AG Operational state</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}')].operational_state.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}_{#REPLICA_NAME}_replica.state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=0 or {last()}=1 or {last()}=3</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': {#REPLICA_NAME} is {ITEM.VALUE}</name>
                                    <priority>WARNING</priority>
                                    <description>The operational state of the replica in a given availability group is &quot;Pending&quot; or &quot;Offline&quot;.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=4</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': {#REPLICA_NAME} is {ITEM.VALUE}</name>
                                    <priority>AVERAGE</priority>
                                    <description>The operational state of the replica in a given availability group is &quot;Failed&quot;.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=5</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': {#REPLICA_NAME} is {ITEM.VALUE}</name>
                                    <priority>HIGH</priority>
                                    <description>The operational state of the replica in a given availability group is &quot;Failed, no quorum&quot;.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': Recovery health</name>
                            <type>DEPENDENT</type>
                            <key>mssql.replica.recovery_health[&quot;{#GROUP_NAME}_{#REPLICA_NAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Rollup of the database_state column of the sys.dm_hadr_database_replica_states dynamic management view:&#13;
0 : In progress. At least one joined database has a database state other than ONLINE &#13;
(database_state is not 0).&#13;
1 : Online. All the joined databases have a database state of ONLINE (database_state is 0).</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Replica '{#REPLICA_NAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL AG Recovery health</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}')].recovery_health.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}_{#REPLICA_NAME}_replica.state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=0</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': {#REPLICA_NAME} Recovery in progress</name>
                                    <priority>INFO</priority>
                                    <description>At least one joined database has a database state other than ONLINE.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': Role</name>
                            <type>DEPENDENT</type>
                            <key>mssql.replica.role[&quot;{#GROUP_NAME}_{#REPLICA_NAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Current Always On availability groups role of a local replica or a connected remote replica:&#13;
0 = Resolving&#13;
1 = Primary&#13;
2 = Secondary</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Replica '{#REPLICA_NAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL AG Role</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}')].role.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}_{#REPLICA_NAME}_replica.state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': Sync health</name>
                            <type>DEPENDENT</type>
                            <key>mssql.replica.synchronization_health[&quot;{#GROUP_NAME}_{#REPLICA_NAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Reflects a rollup of the database synchronization state (synchronization_state)of all joined availability databases (also known as replicas) and the availability mode of the replica (synchronous-commit or asynchronous-commit mode). The rollup will reflect the least healthy accumulated state of the databases on the replica:&#13;
0 : Not healthy. At least one joined database is in the NOT SYNCHRONIZING state.&#13;
1 : Partially healthy. Some replicas are not in the target synchronization state: synchronous-commit replicas should be synchronized, and asynchronous-commit replicas should be synchronizing.&#13;
2 : Healthy. All replicas are in the target synchronization state: synchronous-commit replicas are synchronized, and asynchronous-commit replicas are synchronizing.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>MSSQL Available Group '{#GROUP_NAME}' Replica '{#REPLICA_NAME}'</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>MSSQL AG Synchronization health</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.group_name=='{#GROUP_NAME}' &amp;&amp; @.replica_name=='{#REPLICA_NAME}')].synchronization_health.first()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>db.odbc.get[&quot;{#GROUP_NAME}_{#REPLICA_NAME}_replica.state&quot;,&quot;{$MSSQL.DSN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=0</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': {#REPLICA_NAME} is Not healthy</name>
                                    <priority>AVERAGE</priority>
                                    <description>At least one joined database is in the NOT SYNCHRONIZING state.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=1</expression>
                                    <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': {#REPLICA_NAME} is Partially healthy</name>
                                    <priority>WARNING</priority>
                                    <description>Some replicas are not in the target synchronization state: synchronous-commit replicas should be synchronized, and asynchronous-commit replicas should be synchronizing.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template DB MSSQL by ODBC:mssql.replica.connected_state[&quot;{#GROUP_NAME}_{#REPLICA_NAME}&quot;].last()}=0 and {Template DB MSSQL by ODBC:mssql.replica.role[&quot;{#GROUP_NAME}_{#REPLICA_NAME}&quot;].last()}=2</expression>
                            <name>MSSQL AG '{#GROUP_NAME}' Replica '{#REPLICA_NAME}': {#REPLICA_NAME} is disconnected</name>
                            <priority>WARNING</priority>
                            <description>The response of an availability replica to the DISCONNECTED state depends on its role: &#13;
On the primary replica, if a secondary replica is disconnected, its secondary databases are marked as NOT SYNCHRONIZED on the primary replica, which waits for the secondary to reconnect; On a secondary replica, upon detecting that it is disconnected, the secondary replica attempts to reconnect to the primary replica.</description>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$MSSQL.AVERAGE_WAIT_TIME.MAX}</macro>
                    <value>500</value>
                    <description>The maximum average wait time in ms - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.BACKUP_DIFF.CRIT}</macro>
                    <value>6d</value>
                    <description>The maximum days without a differential backup - for the High trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.BACKUP_DIFF.WARN}</macro>
                    <value>3d</value>
                    <description>The maximum days without a differential backup - for the Warning trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.BACKUP_DURATION.WARN}</macro>
                    <value>1h</value>
                    <description>The maximum job duration - for the Warning trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.BACKUP_FULL.CRIT}</macro>
                    <value>10d</value>
                    <description>The maximum days without a full backup - for the High trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.BACKUP_FULL.WARN}</macro>
                    <value>9d</value>
                    <description>The maximum days without a full backup - for the Warning trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.BACKUP_LOG.CRIT}</macro>
                    <value>24h</value>
                    <description>The maximum days without a log backup - for the High trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.BACKUP_LOG.WARN}</macro>
                    <value>4h</value>
                    <description>The maximum days without a log backup - for the Warning trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.BUFFER_CACHE_RATIO.MIN.CRIT}</macro>
                    <value>30</value>
                    <description>The minimum % buffer cache hit ratio - for the High trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.BUFFER_CACHE_RATIO.MIN.WARN}</macro>
                    <value>50</value>
                    <description>The minimum % buffer cache hit ratio - for the Warning trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.DBNAME.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in database discovery. It can be overridden on a host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.DBNAME.NOT_MATCHES}</macro>
                    <value>master|tempdb|model|msdb</value>
                    <description>This macro is used in database discovery. It can be overridden on a host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.DEADLOCKS.MAX}</macro>
                    <value>1</value>
                    <description>The maximum deadlocks per second - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.DSN}</macro>
                    <value>&lt;Put your DSN here&gt;</value>
                    <description>System data source name.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.FREE_LIST_STALLS.MAX}</macro>
                    <value>2</value>
                    <description>The maximum free list stalls per second - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.INSTANCE}</macro>
                    <value>SQLServer</value>
                    <description>The instance name for the default instance is SQLServer. For named instance set the macro value as MSSQL$instance name.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.JOB.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in job discovery. It can be overridden on a host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.JOB.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                    <description>This macro is used in job discovery. It can be overridden on a host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.LAZY_WRITES.MAX}</macro>
                    <value>20</value>
                    <description>The maximum lazy writes per second - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.LOCK_REQUESTS.MAX}</macro>
                    <value>1000</value>
                    <description>The maximum lock requests per second - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.LOCK_TIMEOUTS.MAX}</macro>
                    <value>1</value>
                    <description>The maximum lock timeouts per second - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.LOG_FLUSH_WAITS.MAX}</macro>
                    <value>1</value>
                    <description>The maximum log flush waits per second - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.LOG_FLUSH_WAIT_TIME.MAX}</macro>
                    <value>1</value>
                    <description>The maximum log flush wait time in ms - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.PAGE_LIFE_EXPECTANCY.MIN}</macro>
                    <value>300</value>
                    <description>The minimum page life expectancy - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.PAGE_READS.MAX}</macro>
                    <value>90</value>
                    <description>The maximum page reads per second - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.PAGE_WRITES.MAX}</macro>
                    <value>90</value>
                    <description>The maximum page writes per second - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.PASSWORD}</macro>
                    <value>&lt;Put your password here&gt;</value>
                    <description>MSSQL user password.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.PERCENT_COMPILATIONS.MAX}</macro>
                    <value>10</value>
                    <description>The maximum percentage of Transact-SQL compilations - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.PERCENT_LOG_USED.MAX}</macro>
                    <value>80</value>
                    <description>The maximum percentage of log used - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.PERCENT_READAHEAD.MAX}</macro>
                    <value>20</value>
                    <description>The maximum percentage of pages read/sec in anticipation of use - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.PERCENT_RECOMPILATIONS.MAX}</macro>
                    <value>10</value>
                    <description>The maximum percentage of Transact-SQL recompilations - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.PORT}</macro>
                    <value>1433</value>
                    <description>MSSQL TCP port.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.USER}</macro>
                    <value>&lt;Put your username here&gt;</value>
                    <description>MSSQL username.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.WORKTABLES_FROM_CACHE_RATIO.MIN.CRIT}</macro>
                    <value>90</value>
                    <description>The minimum percentage of the worktables from cache ratio - for the High trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.WORK_FILES.MAX}</macro>
                    <value>20</value>
                    <description>The maximum number of work files created per second - for the trigger expression.</description>
                </macro>
                <macro>
                    <macro>{$MSSQL.WORK_TABLES.MAX}</macro>
                    <value>20</value>
                    <description>The maximum number of work tables created per second - for the trigger expression.</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template DB MySQL</template>
            <name>Template DB MySQL</name>
            <description>Requirements for template operation:&#13;
1.Install Zabbix agent and MySQL client.&#13;
2.Copy Template_DB_MySQL.conf into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don't forget restart zabbix-agent. &#13;
3.Create MySQL user for monitoring. For example:&#13;
CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '&lt;password&gt;';&#13;
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';&#13;
For more information read the MYSQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html , please. &#13;
4.Create .my.cnf in home directory of Zabbix agent for Linux (/var/lib/zabbix by default ) or my.cnf in c:\ for Windows. For example:&#13;
[client]&#13;
user=zbx_monitor&#13;
password=&lt;password&gt;</description>
            <groups>
                <group>
                    <name>Templates/Databases</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>MySQL</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Connections: Aborted clients per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.aborted_clients.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The number of connections that were aborted because the client died without closing the connection properly.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Aborted_clients']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections: Aborted connections per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.aborted_connects.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The number of failed attempts to connect to the MySQL server.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Aborted_connects']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MYSQL.ABORTED_CONN.MAX.WARN}</expression>
                            <name>MySQL: Server has aborted connections (over {$MYSQL.ABORTED_CONN.MAX.WARN} for 5m)</name>
                            <priority>AVERAGE</priority>
                            <description>The number of failed attempts to connect to the MySQL server is more than {$MYSQL.ABORTED_CONN.MAX.WARN} in the last 5 minutes.</description>
                            <dependencies>
                                <dependency>
                                    <name>MySQL: Refused connections (max_connections limit reached)</name>
                                    <expression>{Template DB MySQL:mysql.connection_errors_max_connections.rate.last()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Performance: Buffer pool efficiency</name>
                    <type>CALCULATED</type>
                    <key>mysql.buffer_pool_efficiency</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>last(mysql.innodb_buffer_pool_reads) / &#13;
( last(mysql.innodb_buffer_pool_read_requests) + &#13;
( last(mysql.innodb_buffer_pool_read_requests) = 0 ) ) * 100 * &#13;
( last(mysql.innodb_buffer_pool_read_requests) &gt; 0 )</params>
                    <description>The item shows how effectively the buffer pool is serving reads.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Performance: Buffer pool utilization</name>
                    <type>CALCULATED</type>
                    <key>mysql.buffer_pool_utilization</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>( last(mysql.innodb_buffer_pool_pages_total) - &#13;
last(mysql.innodb_buffer_pool_pages_free) ) / &#13;
( last(mysql.innodb_buffer_pool_pages_total) + &#13;
( last(mysql.innodb_buffer_pool_pages_total) = 0 ) ) * 100 *&#13;
( last(mysql.innodb_buffer_pool_pages_total) &gt; 0 )</params>
                    <description>Ratio of used to total pages in the buffer pool.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Throughput: Bytes received</name>
                    <type>DEPENDENT</type>
                    <key>mysql.bytes_received.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>Bps</units>
                    <description>The number of bytes received from all clients.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Bytes_received']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Throughput: Bytes sent</name>
                    <type>DEPENDENT</type>
                    <key>mysql.bytes_sent.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>Bps</units>
                    <description>The number of bytes sent to all clients.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Bytes_sent']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Throughput: Command Delete per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.com_delete.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The Com_delete counter variable indicates the number of times the delete statement has been executed.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Com_delete']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Throughput: Command Insert per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.com_insert.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The Com_insert counter variable indicates the number of times the insert statement has been executed.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Com_insert']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Throughput: Command Select per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.com_select.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The Com_select counter variable indicates the number of times the select statement has been executed.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Com_select']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Throughput: Command Update per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.com_update.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The Com_update counter variable indicates the number of times the update statement has been executed.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Com_update']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections: Connections per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.connections.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The number of connection attempts (successful or not) to the MySQL server.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Connections']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections: Connection errors accept per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.connection_errors_accept.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of errors that occurred during calls to accept() on the listening port.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Connection_errors_accept']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections: Connection errors internal per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.connection_errors_internal.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of refused connections due to internal server errors, for example out of memory errors, or failed thread starts.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Connection_errors_internal']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections: Connection errors max connections per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.connection_errors_max_connections.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of refused connections due to the max_connections limit being reached.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Connection_errors_max_connections']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}&gt;0</expression>
                            <name>MySQL: Refused connections (max_connections limit reached)</name>
                            <priority>AVERAGE</priority>
                            <description>Number of refused connections due to the max_connections limit being reached.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Connections: Connection errors peer address per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.connection_errors_peer_address.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of errors while searching for the connecting client IP address.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Connection_errors_peer_address']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections: Connection errors select per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.connection_errors_select.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of errors during calls to select() or poll() on the listening port. The client would not necessarily have been rejected in these cases.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Connection_errors_select']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections: Connection errors tcpwrap per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.connection_errors_tcpwrap.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of connections the libwrap library refused.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Connection_errors_tcpwrap']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Performance: Created tmp tables on disk</name>
                    <type>DEPENDENT</type>
                    <key>mysql.created_tmp_disk_tables</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The number of internal on-disk temporary tables created by the server while executing statements.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Created_tmp_disk_tables']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Performance: Created tmp files on disk</name>
                    <type>DEPENDENT</type>
                    <key>mysql.created_tmp_files</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>How many temporary files mysqld has created.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Created_tmp_files']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Performance: Created tmp tables on memory</name>
                    <type>DEPENDENT</type>
                    <key>mysql.created_tmp_tables</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The number of internal temporary tables created by the server while executing statements.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Created_tmp_tables']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Availability: Get status variables</name>
                    <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>The item gets server global status information.</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{nodata(30m)}=1</expression>
                            <name>MySQL: Failed to get items (no data for 30m)</name>
                            <priority>WARNING</priority>
                            <description>Zabbix has not received data for items for the last 30 minutes.</description>
                            <dependencies>
                                <dependency>
                                    <name>MySQL: Service is down</name>
                                    <expression>{Template DB MySQL:mysql.ping[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;].last()}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Performance: InnoDB buffer pool pages free</name>
                    <type>DEPENDENT</type>
                    <key>mysql.innodb_buffer_pool_pages_free</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The total size of the InnoDB buffer pool, in pages.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Innodb_buffer_pool_pages_free']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Performance: InnoDB buffer pool pages total</name>
                    <type>DEPENDENT</type>
                    <key>mysql.innodb_buffer_pool_pages_total</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The total size of the InnoDB buffer pool, in pages.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Innodb_buffer_pool_pages_total']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Performance: InnoDB buffer pool reads</name>
                    <type>DEPENDENT</type>
                    <key>mysql.innodb_buffer_pool_reads</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The number of logical reads that InnoDB could not satisfy from the buffer pool, and had to read directly from disk.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Innodb_buffer_pool_reads']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Performance: InnoDB buffer pool read requests</name>
                    <type>DEPENDENT</type>
                    <key>mysql.innodb_buffer_pool_read_requests</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The number of logical read requests.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Innodb_buffer_pool_read_requests']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Performance: InnoDB row lock time</name>
                    <type>DEPENDENT</type>
                    <key>mysql.innodb_row_lock_time</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>The total time spent in acquiring row locks for InnoDB tables, in milliseconds.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Innodb_row_lock_time']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Performance: InnoDB row lock time max</name>
                    <type>DEPENDENT</type>
                    <key>mysql.innodb_row_lock_time_max</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>The maximum time to acquire a row lock for InnoDB tables, in milliseconds.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Innodb_row_lock_time_max']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Performance: InnoDB row lock waits</name>
                    <type>DEPENDENT</type>
                    <key>mysql.innodb_row_lock_waits</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The number of times operations on InnoDB tables had to wait for a row lock.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Innodb_row_lock_waits']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections: Max used connections</name>
                    <type>DEPENDENT</type>
                    <key>mysql.max_used_connections</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The maximum number of connections that have been in use simultaneously since the server started.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Max_used_connections']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Availability: MySQL status</name>
                    <key>mysql.ping[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>return value.search(/is alive/)&gt;0?1:0</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>10m</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>MySQL: Service is down</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Throughput: Queries per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.queries.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The number of statements executed by the server. This variable includes statements executed within stored programs, unlike the Questions variable.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Queries']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Throughput: Questions per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.questions.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The number of statements executed by the server. This includes only statements sent to the server by clients and not statements executed within stored programs, unlike the Queries variable.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Questions']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Performance: Slow queries per second</name>
                    <type>DEPENDENT</type>
                    <key>mysql.slow_queries.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The number of queries that have taken more than long_query_time seconds.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Slow_queries']/field[@name='Value']/text()</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MYSQL.SLOW_QUERIES.MAX.WARN}</expression>
                            <name>MySQL: Server has slow queries (over {$MYSQL.SLOW_QUERIES.MAX.WARN} for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The number of slow queries is more than {$MYSQL.SLOW_QUERIES.MAX.WARN} in the last 5 minutes.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Connections: Threads cached</name>
                    <type>DEPENDENT</type>
                    <key>mysql.threads_cached</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The number of threads in the thread cache.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Threads_cached']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections: Threads connected</name>
                    <type>DEPENDENT</type>
                    <key>mysql.threads_connected</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The number of currently open connections.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Threads_connected']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections: Threads created</name>
                    <type>DEPENDENT</type>
                    <key>mysql.threads_created</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The number of threads created to handle connections. If Threads_created is big, you may want to increase the thread_cache_size value. The cache miss rate can be calculated as Threads_created/Connections.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Threads_created']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections: Threads running</name>
                    <type>DEPENDENT</type>
                    <key>mysql.threads_running</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>The number of threads that are not sleeping.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Threads_running']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Info: Uptime</name>
                    <type>DEPENDENT</type>
                    <key>mysql.uptime</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>uptime</units>
                    <description>The number of seconds that the server has been up.</description>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>XMLPATH</type>
                            <params>/resultset/row[field/text()='Uptime']/field[@name='Value']/text()</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>mysql.get_status_variables[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>MySQL: Service has been restarted (uptime &lt; 10m)</name>
                            <priority>INFO</priority>
                            <description>MySQL uptime is less than 10 minutes.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Info: MySQL version</name>
                    <key>mysql.version[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    <delay>15m</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>MySQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>(Server version)\s+(.+)
\2</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and  {strlen()}&gt;0</expression>
                            <name>MySQL: Version has changed (new version value received: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>MySQL version has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Databases discovery</name>
                    <key>mysql.db.discovery[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#DBNAME}</macro>
                                <value>information_schema</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning databases in DBMS.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Info: Size of database {#DBNAME}</name>
                            <key>mysql.dbsize[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;,&quot;{#DBNAME}&quot;]</key>
                            <delay>5m</delay>
                            <history>7d</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>MySQL</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>arr = value.split('\n')
s = []
for (var i in arr) {
   s.push({&quot;{#DBNAME}&quot;: arr[i]})
}
return JSON.stringify(s)</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
                <discovery_rule>
                    <name>Replication discovery</name>
                    <key>mysql.replication.discovery[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;]</key>
                    <delay>1h</delay>
                    <description>If 'show slave status' returns Master_Host, &quot;Replication: *&quot; items are created.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Replication: Seconds Behind Master {#MASTERHOST}</name>
                            <type>DEPENDENT</type>
                            <key>mysql.seconds_behind_master[&quot;{#MASTERHOST}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>The number of seconds that the slave SQL thread is behind processing the master binary log. A high number (or an increasing one) can indicate that the slave is unable to handle events from the master in a timely fashion.</description>
                            <applications>
                                <application>
                                    <name>MySQL</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>XMLPATH</type>
                                    <params>/resultset/row/field[@name='Seconds_Behind_Master']/text()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                                <step>
                                    <type>NOT_MATCHES_REGEX</type>
                                    <params>null</params>
                                    <error_handler>CUSTOM_ERROR</error_handler>
                                    <error_handler_params>Replication is not performed.</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>mysql.slave_status[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;,&quot;{#MASTERHOST}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MYSQL.REPL_LAG.MAX.WARN}</expression>
                                    <name>MySQL: Replication lag is too high (over {$MYSQL.REPL_LAG.MAX.WARN} for 5m)</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Replication: Slave IO Running {#MASTERHOST}</name>
                            <type>DEPENDENT</type>
                            <key>mysql.slave_io_running[&quot;{#MASTERHOST}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>Whether the I/O thread for reading the master's binary log is running. Normally, you want this to be Yes unless you have not yet started replication or have explicitly stopped it with STOP SLAVE.</description>
                            <applications>
                                <application>
                                    <name>MySQL</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>XMLPATH</type>
                                    <params>/resultset/row/field[@name='Slave_IO_Running']/text()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>mysql.slave_status[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;,&quot;{#MASTERHOST}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,&quot;Yes&quot;,ne)}=1</expression>
                                    <name>MySQL: The slave I/O thread is not connected to a replication master</name>
                                    <priority>WARNING</priority>
                                    <dependencies>
                                        <dependency>
                                            <name>MySQL: The slave I/O thread is not running</name>
                                            <expression>{Template DB MySQL:mysql.slave_io_running[&quot;{#MASTERHOST}&quot;].count(#1,&quot;No&quot;,eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,&quot;No&quot;,eq)}=1</expression>
                                    <name>MySQL: The slave I/O thread is not running</name>
                                    <priority>AVERAGE</priority>
                                    <description>Whether the I/O thread for reading the master's binary log is running.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Replication: Slave SQL Running {#MASTERHOST}</name>
                            <type>DEPENDENT</type>
                            <key>mysql.slave_sql_running[&quot;{#MASTERHOST}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>Whether the SQL thread for executing events in the relay log is running. As with the I/O thread, this should normally be Yes.</description>
                            <applications>
                                <application>
                                    <name>MySQL</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>XMLPATH</type>
                                    <params>/resultset/row/field[@name='Slave_SQL_Running']/text()</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>mysql.slave_status[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;,&quot;{#MASTERHOST}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,&quot;No&quot;,eq)}=1</expression>
                                    <name>MySQL: The SQL thread is not running</name>
                                    <priority>WARNING</priority>
                                    <description>Whether the SQL thread for executing events in the relay log is running.</description>
                                    <dependencies>
                                        <dependency>
                                            <name>MySQL: The slave I/O thread is not running</name>
                                            <expression>{Template DB MySQL:mysql.slave_io_running[&quot;{#MASTERHOST}&quot;].count(#1,&quot;No&quot;,eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Replication: Slave status {#MASTERHOST}</name>
                            <key>mysql.slave_status[&quot;{$MYSQL.HOST}&quot;,&quot;{$MYSQL.PORT}&quot;,&quot;{#MASTERHOST}&quot;]</key>
                            <history>1h</history>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <description>The item gets status information on essential parameters of the slave threads.</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>var a = value.match(/Master_Host.*&gt;(.*)&lt;.*/)
if (a) {
  s = [{&quot;{#MASTERHOST}&quot;: a[1]}]
} 
else {
  s = []
}
return JSON.stringify(s)</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$MYSQL.ABORTED_CONN.MAX.WARN}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$MYSQL.HOST}</macro>
                    <value>localhost</value>
                </macro>
                <macro>
                    <macro>{$MYSQL.PORT}</macro>
                    <value>3306</value>
                </macro>
                <macro>
                    <macro>{$MYSQL.REPL_LAG.MAX.WARN}</macro>
                    <value>30m</value>
                </macro>
                <macro>
                    <macro>{$MYSQL.SLOW_QUERIES.MAX.WARN}</macro>
                    <value>3</value>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>MySQL performance</name>
                    <hsize>2</hsize>
                    <vsize>4</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>MySQL operations</name>
                                <host>Template DB MySQL</host>
                            </resource>
                            <width>500</width>
                            <height>200</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>MySQL queries</name>
                                <host>Template DB MySQL</host>
                            </resource>
                            <width>500</width>
                            <height>200</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>MySQL connections</name>
                                <host>Template DB MySQL</host>
                            </resource>
                            <width>500</width>
                            <height>200</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>MySQL bandwidth</name>
                                <host>Template DB MySQL</host>
                            </resource>
                            <width>500</width>
                            <height>200</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>MySQL InnoDB buffer pool</name>
                                <host>Template DB MySQL</host>
                            </resource>
                            <width>500</width>
                            <height>200</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>MySQL threads</name>
                                <host>Template DB MySQL</host>
                            </resource>
                            <width>500</width>
                            <height>200</height>
                            <x>1</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template DB PostgreSQL</template>
            <name>Template DB PostgreSQL</name>
            <groups>
                <group>
                    <name>Templates/Databases</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>PostgreSQL</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Bgwriter: Buffers allocated per second</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.bgwriter.buffers_alloc.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>Bps</units>
                    <description>Number of buffers allocated</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.buffers_alloc</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.bgwriter[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Bgwriter: Buffers written directly by a backend per second</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.bgwriter.buffers_backend.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>Bps</units>
                    <description>Number of buffers written directly by a backend</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.buffers_backend</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.bgwriter[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Bgwriter: Buffers backend fsync per second</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.bgwriter.buffers_backend_fsync.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.buffers_backend_fsync</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.bgwriter[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Bgwriter: Buffers written during checkpoints per second</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.bgwriter.buffers_checkpoint.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>Bps</units>
                    <description>Number of buffers written during checkpoints</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.buffers_checkpoint</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.bgwriter[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Bgwriter: Buffers written by the background writer per second</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.bgwriter.buffers_clean.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>Bps</units>
                    <description>Number of buffers written by the background writer</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.buffers_clean</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.bgwriter[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Bgwriter: Requested checkpoints per second</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.bgwriter.checkpoints_req.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of requested checkpoints that have been performed</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.checkpoints_req</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.bgwriter[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()} &gt; {$PG.CHECKPOINTS_REQ.MAX.WARN}</expression>
                            <name>PostgreSQL: Required checkpoints occurs too frequently (over {$PG.CHECKPOINTS_REQ.MAX.WARN})</name>
                            <priority>AVERAGE</priority>
                            <description>Checkpoints are points in the sequence of transactions at which it is guaranteed that the heap and index data files have been updated with all information written before that checkpoint. At checkpoint time, all dirty data pages are flushed to disk and a special checkpoint record is written to the log file.&#13;
https://www.postgresql.org/docs/current/wal-configuration.html</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Bgwriter: Scheduled checkpoints per second</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.bgwriter.checkpoints_timed.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of scheduled checkpoints that have been performed</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.checkpoints_timed</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.bgwriter[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Bgwriter: Checkpoint sync time</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.bgwriter.checkpoint_sync_time</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.checkpoint_write_time</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.bgwriter[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Bgwriter: Checkpoint write time</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.bgwriter.checkpoint_write_time</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.checkpoint_write_time</params>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.001</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.bgwriter[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Bgwriter: Max written per second</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.bgwriter.maxwritten_clean.rate</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Number of times the background writer stopped a cleaning scan because it had written too many buffers</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.maxwritten_clean</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.bgwriter[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>PostgreSQL: Get bgwriter</name>
                    <key>pgsql.bgwriter[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>Statistics about the background writer process's activity</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{nodata(30m)} = 1</expression>
                            <name>PostgreSQL: Failed to get items (no data for 30m)</name>
                            <priority>WARNING</priority>
                            <description>Zabbix has not received data for items for the last 30 minutes</description>
                            <dependencies>
                                <dependency>
                                    <name>PostgreSQL: Service is down</name>
                                    <expression>{Template DB PostgreSQL:pgsql.ping[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;].last()} = 0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Status: Cache hit ratio %</name>
                    <key>pgsql.cache.hit[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Cache hit ratio</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{max(5m)} &lt; {$PG.CACHE_HITRATIO.MIN.WARN}</expression>
                            <name>PostgreSQL: Cache hit ratio too low (under {$PG.CACHE_HITRATIO.MIN.WARN} in 5m)</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Status: Config hash</name>
                    <key>pgsql.config.hash[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <delay>15m</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>PostgreSQL configuration hash</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <name>PostgreSQL: Configuration has changed</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Connections sum: Active</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.connections.sum.active</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of connections executing a query</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.active</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.connections.sum[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections sum: Idle</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.connections.sum.idle</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of connections waiting for a new client command</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.idle</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.connections.sum[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections sum: Idle in transaction</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.connections.sum.idle_in_transaction</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of connections in a transaction state, but not executing a query</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.idle_in_transaction</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.connections.sum[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections sum: Prepared</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.connections.sum.prepared</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of prepared transactions&#13;
https://www.postgresql.org/docs/current/sql-prepare-transaction.html</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.prepared</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.connections.sum[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections sum: Total</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.connections.sum.total</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of connections</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.total</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.connections.sum[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Connections sum: Total %</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.connections.sum.total_pct</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>%</units>
                    <description>Total number of connections in percentage</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.total_pct</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.connections.sum[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)} &gt; {$PG.CONN_TOTAL_PCT.MAX.WARN}</expression>
                            <name>PostgreSQL: Total number of connections is too high (over {$PG.CONN_TOTAL_PCT.MAX.WARN} in 5m)</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Connections sum: Waiting</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.connections.sum.waiting</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Total number of waiting connections&#13;
https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-TABLE</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.waiting</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.connections.sum[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>PostgreSQL: Get connections sum</name>
                    <key>pgsql.connections.sum[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>Collect all metrics from pg_stat_activity&#13;
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>PostgreSQL: Get dbstat</name>
                    <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>Collect all metrics from pg_stat_database per database&#13;
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>PostgreSQL: Get locks</name>
                    <key>pgsql.locks[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>Collect all metrics from pg_locks per database&#13;
https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-TABLES</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Status: Ping time</name>
                    <key>pgsql.ping.time[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>ms</units>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Time:\s(\d+\.\d+)\sms
\1</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)} &gt; {$PG.PING_TIME.MAX.WARN}</expression>
                            <name>PostgreSQL: Response too long (over {$PG.PING_TIME.MAX.WARN})</name>
                            <priority>AVERAGE</priority>
                            <dependencies>
                                <dependency>
                                    <name>PostgreSQL: Service is down</name>
                                    <expression>{Template DB PostgreSQL:pgsql.ping[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;].last()} = 0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Status: Ping</name>
                    <key>pgsql.ping[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>return value.search(/accepting connections/)&gt;0 ? 1 : 0</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()} = 0</expression>
                            <name>PostgreSQL: Service is down</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>PostgreSQL: Get queries</name>
                    <key>pgsql.queries[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{$PG.QUERY_ETIME.MAX.WARN}&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>Collect all metrics by query execution time</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Replication: standby count</name>
                    <key>pgsql.replication.count[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>7d</history>
                    <description>Number of standby servers</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Replication: lag in seconds</name>
                    <key>pgsql.replication.lag.sec[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>7d</history>
                    <units>s</units>
                    <description>Replication lag with Master in seconds</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)} &gt; {$PG.REPL_LAG.MAX.WARN}</expression>
                            <name>PostgreSQL: Streaming lag with {#MASTER} is too high (over {$PG.REPL_LAG.MAX.WARN} in 5m)</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Replication: recovery role</name>
                    <key>pgsql.replication.recovery_role[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>7d</history>
                    <description>Replication role: 1 — recovery is still in progress (standby mode), 0 — master mode.</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>PostgreSQL recovery role</name>
                    </valuemap>
                </item>
                <item>
                    <name>Replication: status</name>
                    <key>pgsql.replication.status[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>7d</history>
                    <description>Replication status: 0 — streaming is down, 1 — streaming is up, 2 — master mode</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>PostgreSQL replication status</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(5m)}=0</expression>
                            <name>PostgreSQL: Replication is down</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Transactions: Max active transaction time</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.transactions.active</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>Current max active transaction time</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.active</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.transactions[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Transactions: Max idle transaction time</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.transactions.idle</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>Current max idle transaction time</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.idle</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.transactions[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Transactions: Max prepared transaction time</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.transactions.prepared</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>Current max prepared transaction time</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.prepared</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.transactions[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>Transactions: Max waiting transaction time</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.transactions.waiting</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>Current max waiting transaction time</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.waiting</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.transactions[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>PostgreSQL: Get transactions</name>
                    <key>pgsql.transactions[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>Collect metrics by transaction execution time</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Status: Uptime</name>
                    <key>pgsql.uptime[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <history>7d</history>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()} &lt; 10m</expression>
                            <name>PostgreSQL: Service has been restarted (uptime &lt; 10m)</name>
                            <priority>INFO</priority>
                            <description>PostgreSQL uptime is less than 10 minutes</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Status: Version</name>
                    <key>pgsql.version[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <delay>15m</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>PostgreSQL version</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <name>PostgreSQL: Version has changed (new version value received: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>WAL: Segments count</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.wal.count</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <description>Number of WAL segments</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.count</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.wal.stat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
                <item>
                    <name>PostgreSQL: Get WAL</name>
                    <key>pgsql.wal.stat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <delay>5m</delay>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>Master item to collect WAL metrics</description>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>WAL: Bytes written</name>
                    <type>DEPENDENT</type>
                    <key>pgsql.wal.write</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <units>B</units>
                    <description>WAL write in bytes</description>
                    <applications>
                        <application>
                            <name>PostgreSQL</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.write</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>pgsql.wal.stat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </master_item>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Database discovery</name>
                    <key>pgsql.discovery.db[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#DBNAME}</macro>
                                <value>{$PG.LLD.FILTER.DBNAME}</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>DB {#DBNAME}: Database size</name>
                            <key>pgsql.db.size[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{#DBNAME}&quot;]</key>
                            <delay>15m</delay>
                            <history>7d</history>
                            <units>B</units>
                            <description>Database size</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Blocks hit per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.blks_hit.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Total number of times disk blocks were found already in the buffer cache, so that a read was not necessary</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].blks_hit</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Disk blocks read per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.blks_read.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Total number of disk blocks read in this database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].blks_read</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Detected conflicts per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.conflicts.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Total number of queries canceled due to conflicts with recovery in this database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].conflicts</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)} &gt; {$PG.CONFLICTS.MAX.WARN:&quot;{#DBNAME}&quot;}</expression>
                                    <name>Database {#DBNAME}: Too many recovery conflicts (over {$PG.CONFLICTS.MAX.WARN:&quot;{#DBNAME}&quot;} in 5m)</name>
                                    <priority>AVERAGE</priority>
                                    <description>The primary and standby servers are in many ways loosely connected. Actions on the primary will have an effect on the standby. As a result, there is potential for negative interactions or conflicts between them.&#13;
https://www.postgresql.org/docs/current/hot-standby.html#HOT-STANDBY-CONFLICT</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Detected deadlocks per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.deadlocks.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Total number of detected deadlocks in this database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].deadlocks</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)} &gt; {$PG.DEADLOCKS.MAX.WARN:&quot;{#DBNAME}&quot;}</expression>
                                    <name>Database {#DBNAME}: Deadlock occurred (over {$PG.DEADLOCKS.MAX.WARN:&quot;{#DBNAME}&quot;} in 5m)</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Temp_bytes written per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.temp_bytes.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>B</units>
                            <description>Total amount of data written to temporary files by queries in this database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].temp_bytes</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Temp_files created per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.temp_files.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Total number of temporary files created by queries in this database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].temp_files</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Tuples deleted per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.tup_deleted.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Total number of rows deleted by queries in this database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].tup_deleted</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Tuples fetched per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.tup_fetched.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Total number of rows fetched by queries in this database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].tup_fetched</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Tuples inserted per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.tup_inserted.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Total number of rows inserted by queries in this database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].tup_inserted</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Tuples returned per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.tup_returned.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Total number of rows updated by queries in this database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].tup_returned</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Tuples updated per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.tup_updated.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Total number of rows updated by queries in this database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].tup_updated</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Commits per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.xact_commit.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Number of transactions in this database that have been committed</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].xact_commit</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Rollbacks per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.dbstat.xact_rollback.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Total number of transactions in this database that have been rolled back</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].xact_rollback</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.dbstat[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Frozen XID before avtovacuum %</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.frozenxid.prc_before_av[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>reventing Transaction ID Wraparound Failures&#13;
https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.prc_before_av</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.frozenxid[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{#DBNAME}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Frozen XID before stop %</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.frozenxid.prc_before_stop[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>Preventing Transaction ID Wraparound Failures&#13;
https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.prc_before_stop</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.frozenxid[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{#DBNAME}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&lt;{$PG.FROZENXID_PCT_STOP.MIN.HIGH:&quot;{#DBNAME}&quot;}</expression>
                                    <name>Database {#DBNAME}: VACUUM FREEZE is required to prevent wraparound (frozen XID less then {$PG.FROZENXID_PCT_STOP.MIN.HIGH:&quot;{#DBNAME}&quot;} %)</name>
                                    <priority>AVERAGE</priority>
                                    <description>Preventing Transaction ID Wraparound Failures&#13;
https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Get frozen XID</name>
                            <key>pgsql.frozenxid[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{#DBNAME}&quot;]</key>
                            <history>1h</history>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Locks total</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.locks.total[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Total number of locks in the database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].total</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.locks[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$PG.LOCKS.MAX.WARN:&quot;{#DBNAME}&quot;}</expression>
                                    <name>Database {#DBNAME}: Number of locks is too high (over {$PG.LOCKS.MAX.WARN:&quot;{#DBNAME}&quot;} in 5m)</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Queries slow maintenance count</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.queries.mro.slow_count[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Slow maintenance query count</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].mro_slow_count</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.queries[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{$PG.QUERY_ETIME.MAX.WARN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Queries max maintenance time</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.queries.mro.time_max[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>Max maintenance query time</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].mro_time_max</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.queries[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{$PG.QUERY_ETIME.MAX.WARN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Queries sum maintenance time</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.queries.mro.time_sum[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>Sum maintenance query time</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].mro_time_sum</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.queries[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{$PG.QUERY_ETIME.MAX.WARN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Queries slow query count</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.queries.query.slow_count[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Slow query count</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].query_slow_count</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.queries[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{$PG.QUERY_ETIME.MAX.WARN}&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$PG.SLOW_QUERIES.MAX.WARN:&quot;{#DBNAME}&quot;}</expression>
                                    <name>Database {#DBNAME}: Too many slow queries (over {$PG.SLOW_QUERIES.MAX.WARN:&quot;{#DBNAME}&quot;} in 5m)</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Queries max query time</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.queries.query.time_max[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>Max query time</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].query_time_max</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.queries[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{$PG.QUERY_ETIME.MAX.WARN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Queries sum query time</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.queries.query.time_sum[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>Sum query time</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].query_time_sum</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.queries[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{$PG.QUERY_ETIME.MAX.WARN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Queries slow transaction count</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.queries.tx.slow_count[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Slow transaction query count</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].tx_slow_count</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.queries[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{$PG.QUERY_ETIME.MAX.WARN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Queries max transaction time</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.queries.tx.time_max[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>Max transaction query time</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].tx_time_max</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.queries[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{$PG.QUERY_ETIME.MAX.WARN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Queries sum transaction time</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.queries.tx.time_sum[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>s</units>
                            <description>Sum transaction query time</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$['{#DBNAME}'].tx_time_sum</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.queries[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{$PG.QUERY_ETIME.MAX.WARN}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Index scans per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.scans.idx.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <description>Number of index scans in the database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.idx</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.scans[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{#DBNAME}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Sequential scans per second</name>
                            <type>DEPENDENT</type>
                            <key>pgsql.scans.seq.rate[&quot;{#DBNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Number of sequential scans in the database</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>PostgreSQL: DB {#DBNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.seq</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>pgsql.scans[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{#DBNAME}&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>DB {#DBNAME}: Get scans</name>
                            <key>pgsql.scans[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{#DBNAME}&quot;]</key>
                            <history>1h</history>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <description>Number of scans done for table/index in the database</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>DB {#DBNAME}: Block hit/read</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <color>66BB6A</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.blks_hit.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>42A5F5</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.blks_read.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>DB {#DBNAME}: Database size</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <color>66BB6A</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.db.size[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;,&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>DB {#DBNAME}: Events</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.xact_commit.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.conflicts.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.deadlocks.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.xact_rollback.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>DB {#DBNAME}: Locks</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <color>EC407A</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.locks.total[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>DB {#DBNAME}: Queries</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <color>4CAF50</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.queries.mro.time_max[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>03A9F4</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.queries.query.time_max[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>9C27B0</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.queries.tx.time_max[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>81C784</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.queries.mro.time_sum[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>90CAF9</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.queries.query.time_sum[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>CE93D8</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.queries.tx.time_sum[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>DB {#DBNAME}: Slow queries</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.queries.mro.slow_count[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.queries.query.slow_count[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.queries.tx.slow_count[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>DB {#DBNAME}: Temp files</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>66BB6A</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.temp_bytes.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>42A5F5</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.temp_files.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>DB {#DBNAME}: Tuples</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.tup_deleted.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.tup_fetched.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.tup_inserted.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.tup_returned.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <item>
                                        <host>Template DB PostgreSQL</host>
                                        <key>pgsql.dbstat.tup_updated.rate[&quot;{#DBNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$PG.CACHE_HITRATIO.MIN.WARN}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PG.CHECKPOINTS_REQ.MAX.WARN}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$PG.CONFLICTS.MAX.WARN}</macro>
                    <value>0</value>
                </macro>
                <macro>
                    <macro>{$PG.CONN_IDLE_IN_TRANS.MAX.WARN}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$PG.CONN_TOTAL_PCT.MAX.WARN}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PG.CONN_WAIT.MAX.WARN}</macro>
                    <value>0</value>
                </macro>
                <macro>
                    <macro>{$PG.DB}</macro>
                    <value>postgres</value>
                </macro>
                <macro>
                    <macro>{$PG.DEADLOCKS.MAX.WARN}</macro>
                    <value>0</value>
                </macro>
                <macro>
                    <macro>{$PG.FROZENXID_PCT_STOP.MIN.HIGH}</macro>
                    <value>75</value>
                </macro>
                <macro>
                    <macro>{$PG.HOST}</macro>
                    <value>127.0.0.1</value>
                </macro>
                <macro>
                    <macro>{$PG.LLD.FILTER.DBNAME}</macro>
                    <value>(.*)</value>
                </macro>
                <macro>
                    <macro>{$PG.LOCKS.MAX.WARN}</macro>
                    <value>100</value>
                </macro>
                <macro>
                    <macro>{$PG.PING_TIME.MAX.WARN}</macro>
                    <value>1s</value>
                </macro>
                <macro>
                    <macro>{$PG.PORT}</macro>
                    <value>5432</value>
                </macro>
                <macro>
                    <macro>{$PG.QUERY_ETIME.MAX.WARN}</macro>
                    <value>30</value>
                </macro>
                <macro>
                    <macro>{$PG.REPL_LAG.MAX.WARN}</macro>
                    <value>10m</value>
                </macro>
                <macro>
                    <macro>{$PG.SLOW_QUERIES.MAX.WARN}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$PG.TRANS_ACTIVE.MAX.WARN}</macro>
                    <value>30s</value>
                </macro>
                <macro>
                    <macro>{$PG.TRANS_IDLE.MAX.WARN}</macro>
                    <value>30s</value>
                </macro>
                <macro>
                    <macro>{$PG.TRANS_WAIT.MAX.WARN}</macro>
                    <value>30s</value>
                </macro>
                <macro>
                    <macro>{$PG.USER}</macro>
                    <value>zbx_monitor</value>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>PostgreSQL databases</name>
                    <hsize>2</hsize>
                    <vsize>4</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>DB {#DBNAME}: Tuples</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>DB {#DBNAME}: Events</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>DB {#DBNAME}: Block hit/read</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>DB {#DBNAME}: Temp files</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>DB {#DBNAME}: Locks</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>DB {#DBNAME}: Database size</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>1</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>DB {#DBNAME}: Queries</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>0</x>
                            <y>3</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>DB {#DBNAME}: Slow queries</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>1</x>
                            <y>3</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
                <screen>
                    <name>PostgreSQL stat</name>
                    <hsize>2</hsize>
                    <vsize>4</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>PostgreSQL connections</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>PostgreSQL transactions</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>PostgreSQL ping</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>PostgreSQL uptime</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>PostgreSQL replication lag</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>PostgreSQL WAL</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>1</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>PostgreSQL bgwriter</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>0</x>
                            <y>3</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>PostgreSQL checkpoints</name>
                                <host>Template DB PostgreSQL</host>
                            </resource>
                            <width>750</width>
                            <height>200</height>
                            <x>1</x>
                            <y>3</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Device BigIP F5</template>
            <name>Template Device BigIP F5</name>
            <groups>
                <group>
                    <name>Templates/Network devices</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Geral</name>
                </application>
                <application>
                    <name>Interfaces</name>
                </application>
                <application>
                    <name>Nodes</name>
                </application>
                <application>
                    <name>Pool</name>
                </application>
                <application>
                    <name>Rede</name>
                </application>
                <application>
                    <name>Requisições</name>
                </application>
                <application>
                    <name>Servidores Virtuais</name>
                </application>
                <application>
                    <name>Storage</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Status do Fan - 1</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.3375.2.1.3.2.1.2.1.2.1</snmp_oid>
                    <key>sysChassisFanStatus.1</key>
                    <delay>600</delay>
                    <history>30d</history>
                    <applications>
                        <application>
                            <name>Geral</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Template BigIP - Status Fan</name>
                    </valuemap>
                </item>
                <item>
                    <name>Status do Fan - 2</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.3375.2.1.3.2.1.2.1.2.2</snmp_oid>
                    <key>sysChassisFanStatus.2</key>
                    <delay>600</delay>
                    <history>30d</history>
                    <applications>
                        <application>
                            <name>Geral</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Template BigIP - Status Fan</name>
                    </valuemap>
                </item>
                <item>
                    <name>Status do Fan - 3</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.3375.2.1.3.2.1.2.1.2.3</snmp_oid>
                    <key>sysChassisFanStatus.3</key>
                    <delay>600</delay>
                    <history>30d</history>
                    <applications>
                        <application>
                            <name>Geral</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Template BigIP - Status Fan</name>
                    </valuemap>
                </item>
                <item>
                    <name>Status do Fan - 4</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.3375.2.1.3.2.1.2.1.2.4</snmp_oid>
                    <key>sysChassisFanStatus.4</key>
                    <delay>600</delay>
                    <history>30d</history>
                    <applications>
                        <application>
                            <name>Geral</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Template BigIP - Status Fan</name>
                    </valuemap>
                </item>
                <item>
                    <name>Status Fonte de Energia - 1</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.3375.2.1.3.2.2.2.1.2.1</snmp_oid>
                    <key>sysChassisPowerSupplyStatus.1</key>
                    <delay>600</delay>
                    <history>30d</history>
                    <applications>
                        <application>
                            <name>Geral</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Template BigIP - Status Fan</name>
                    </valuemap>
                </item>
                <item>
                    <name>Status Fonte de Energia - 2</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.3375.2.1.3.2.2.2.1.2.2</snmp_oid>
                    <key>sysChassisPowerSupplyStatus.2</key>
                    <delay>600</delay>
                    <history>30d</history>
                    <applications>
                        <application>
                            <name>Geral</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Template BigIP - Status Fan</name>
                    </valuemap>
                </item>
                <item>
                    <name>Uso de CPU % por Minuto.</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.3375.2.1.1.2.20.29.0</snmp_oid>
                    <key>sysGlobalHostCpuUsageRatio1m</key>
                    <delay>60</delay>
                    <history>30d</history>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&gt;90</expression>
                            <name>Uso de CPU acima de 90%</name>
                            <status>DISABLED</status>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Memória Total</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.3375.2.1.7.1.1.0</snmp_oid>
                    <key>sysHostMemoryTotal</key>
                    <delay>3600</delay>
                    <history>30d</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Geral</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Memória em Uso</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.3375.2.1.7.1.2.0</snmp_oid>
                    <key>sysHostMemoryUsed</key>
                    <delay>60</delay>
                    <history>30d</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Geral</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Nodes</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.3375.2.2.4.2.3.1.20]</snmp_oid>
                    <key>ltmNodeAddrName</key>
                    <delay>43200</delay>
                    <description>Nome dos Nodes</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Conexões Ativas (Server-Side) em $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.3375.2.2.4.2.3.1.9.{#SNMPINDEX}</snmp_oid>
                            <key>ltmNodeAddrStatServerCurConns.[{#SNMPVALUE}]</key>
                            <delay>60</delay>
                            <applications>
                                <application>
                                    <name>Nodes</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Disponibilidade do Node $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.3375.2.2.4.3.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>ltmNodeAddrStatusAvailState[{#SNMPVALUE}]</key>
                            <delay>60</delay>
                            <applications>
                                <application>
                                    <name>Nodes</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>Template BigIP - Disponibilidade Pool</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>Status de disponibilidade do node $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.3375.2.2.4.3.2.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>ltmNodeAddrStatusDetailReason[{#SNMPVALUE}]</key>
                            <delay>3600</delay>
                            <trends>0</trends>
                            <value_type>TEXT</value_type>
                            <applications>
                                <application>
                                    <name>Nodes</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Status do Node $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.3375.2.2.4.3.2.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>ltmNodeAddrStatusEnabledState[{#SNMPVALUE}]</key>
                            <delay>60</delay>
                            <applications>
                                <application>
                                    <name>Nodes</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>Template BigIP - Status Node</name>
                            </valuemap>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Pools</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.4.1.3375.2.2.5.1.2.1.1]</snmp_oid>
                    <key>ltmPoolName</key>
                    <delay>43200</delay>
                    <lifetime>0</lifetime>
                    <item_prototypes>
                        <item_prototype>
                            <name>Membros Ativos no Pool $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.3375.2.2.5.1.2.1.8.&quot;{#SNMPVALUE}&quot;</snmp_oid>
                            <key>ltmPoolActiveMemberCnt.[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>120</delay>
                            <history>7d</history>
                            <status>DISABLED</status>
                            <applications>
                                <application>
                                    <name>Pool</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Membros do Pool $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.3375.2.2.5.1.2.1.23.&quot;{#SNMPVALUE}&quot;</snmp_oid>
                            <key>ltmPoolMemberCnt.[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>120</delay>
                            <history>7d</history>
                            <status>DISABLED</status>
                            <applications>
                                <application>
                                    <name>Pool</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Entrada de Bytes no Pool $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.3375.2.2.5.2.3.1.3.&quot;{#SNMPVALUE}&quot;</snmp_oid>
                            <key>ltmPoolStatServerBytesIn.[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>60</delay>
                            <history>7d</history>
                            <status>DISABLED</status>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Pool</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Saída de Bytes no Pool $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.3375.2.2.5.2.3.1.5.&quot;{#SNMPVALUE}&quot;</snmp_oid>
                            <key>ltmPoolStatServerBytesOut.[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>60</delay>
                            <history>7d</history>
                            <status>DISABLED</status>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Pool</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Conexões Ativas em $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.3375.2.2.5.2.3.1.8.&quot;{#SNMPVALUE}&quot;</snmp_oid>
                            <key>ltmPoolStatServerCurConns.[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>60</delay>
                            <history>7d</history>
                            <status>DISABLED</status>
                            <applications>
                                <application>
                                    <name>Pool</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Total de Conexões em $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.3375.2.2.5.2.3.1.7.&quot;{#SNMPVALUE}&quot;</snmp_oid>
                            <key>ltmPoolStatServerTotConns.[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>60</delay>
                            <history>7d</history>
                            <status>DISABLED</status>
                            <applications>
                                <application>
                                    <name>Pool</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Status de Disponibilidade do Pool $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.3375.2.2.5.5.2.1.2.&quot;{#SNMPVALUE}&quot;</snmp_oid>
                            <key>ltmPoolStatusAvailState.[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>120</delay>
                            <history>7d</history>
                            <status>DISABLED</status>
                            <applications>
                                <application>
                                    <name>Pool</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>Template BigIP - Disponibilidade Pool</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;&gt;1</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last(0)}=1</recovery_expression>
                                    <name>Pool {#SNMPVALUE} Indisponível. (Status Atual: {ITEM.VALUE1}).</name>
                                    <status>DISABLED</status>
                                    <priority>DISASTER</priority>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Status de Disponibilidade $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.3375.2.2.5.5.2.1.5.&quot;{#SNMPVALUE}&quot;</snmp_oid>
                            <key>ltmPoolStatusDetailReason.[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>60;50/1-7,00:00-24:00</delay>
                            <history>1d</history>
                            <trends>0</trends>
                            <status>DISABLED</status>
                            <value_type>TEXT</value_type>
                            <applications>
                                <application>
                                    <name>Pool</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Device BigIP F5:ltmPoolActiveMemberCnt.[&quot;{#SNMPVALUE}&quot;].last(0)}&lt;&gt;{Template Device BigIP F5:ltmPoolMemberCnt.[&quot;{#SNMPVALUE}&quot;].last(0)}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Device BigIP F5:ltmPoolActiveMemberCnt.[&quot;{#SNMPVALUE}&quot;].last(0)}={Template Device BigIP F5:ltmPoolMemberCnt.[&quot;{#SNMPVALUE}&quot;].last(0)}</recovery_expression>
                            <name>Existem Nodes do Pool {#SNMPVALUE} desativados ou apresentando problemas - ({ITEM.LASTVALUE}/{ITEM.LASTVALUE2}) - Ativos / Total</name>
                            <status>DISABLED</status>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                    </trigger_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$SNMP_COMMUNITY}</macro>
                    <value>public</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Brocade_Foundry Performance SNMPv2</template>
            <name>Template Module Brocade_Foundry Performance SNMPv2</name>
            <description>Template Module Brocade_Foundry Performance&#13;
&#13;
MIBs used:&#13;
FOUNDRY-SN-AGENT-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1991.1.1.2.1.52.0</snmp_oid>
                    <key>system.cpu.util[snAgGblCpuUtil1MinAvg.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: FOUNDRY-SN-AGENT-MIB&#13;
The statistics collection of 1 minute CPU utilization.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1991.1.1.2.1.53.0</snmp_oid>
                    <key>vm.memory.util[snAgGblDynMemUtil.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: FOUNDRY-SN-AGENT-MIB&#13;
The system dynamic memory utilization, in unit of percentage.&#13;
Deprecated: Refer to snAgSystemDRAMUtil.&#13;
For NI platforms, refer to snAgentBrdMemoryUtil100thPercent</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Cisco CISCO-ENVMON-MIB SNMPv2</template>
            <name>Template Module Cisco CISCO-ENVMON-MIB SNMPv2</name>
            <description>Template Cisco CISCO-ENVMON-MIB&#13;
&#13;
MIBs used:&#13;
CISCO-ENVMON-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SENSOR_INFO},1.3.6.1.4.1.9.9.13.1.4.1.2]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <description>The table of fan status maintained by the environmental monitor.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.4.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: CISCO-ENVMON-MIB</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-ENVMON-MIB::CiscoEnvMonState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS:&quot;critical&quot;},eq)}=1 or {count(#1,{$FAN_CRIT_STATUS:&quot;shutdown&quot;},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_WARN_STATUS:&quot;warning&quot;},eq)}=1 or {count(#1,{$FAN_WARN_STATUS:&quot;notFunctioning&quot;},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Fan is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the fan unit</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_INFO}: Fan is in critical state</name>
                                            <expression>{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS:&quot;critical&quot;},eq)}=1 or {Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.fan.status[ciscoEnvMonFanState.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS:&quot;shutdown&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SENSOR_INFO},1.3.6.1.4.1.9.9.13.1.5.1.2]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <description>The table of power supply status maintained by the environmental monitor card.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.5.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: CISCO-ENVMON-MIB</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-ENVMON-MIB::CiscoEnvMonState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS:&quot;critical&quot;},eq)}=1 or {count(#1,{$PSU_CRIT_STATUS:&quot;shutdown&quot;},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_WARN_STATUS:&quot;warning&quot;},eq)}=1 or {count(#1,{$PSU_WARN_STATUS:&quot;notFunctioning&quot;},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Power supply is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the power supply unit for errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_INFO}: Power supply is in critical state</name>
                                            <expression>{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS:&quot;critical&quot;},eq)}=1 or {Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.psu.status[ciscoEnvMonSupplyState.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS:&quot;shutdown&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.9.9.13.1.3.1.2]</snmp_oid>
                    <key>temperature.discovery</key>
                    <delay>1h</delay>
                    <description>Discovery of ciscoEnvMonTemperatureTable (ciscoEnvMonTemperatureDescr), a table of ambient temperature status&#13;
maintained by the environmental monitor.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Temperature status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.3.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: CISCO-ENVMON-MIB&#13;
The current state of the test point being instrumented.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-ENVMON-MIB::CiscoEnvMonState</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.13.1.3.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CISCO-ENVMON-MIB&#13;
The current measurement of the test point being instrumented.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <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>{#SNMPVALUE}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}&#13;
or&#13;
{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}].last(0)}={$TEMP_CRIT_STATUS}&#13;
or&#13;
{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}].last(0)}={$TEMP_DISASTER_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                            <name>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}&#13;
or&#13;
{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}].last(0)}={$TEMP_WARN_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                            <name>{#SNMPVALUE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                            <dependencies>
                                <dependency>
                                    <name>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <expression>{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}&#13;
or&#13;
{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}].last(0)}={$TEMP_CRIT_STATUS}&#13;
or&#13;
{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}].last(0)}={$TEMP_DISASTER_STATUS}</expression>
                                    <recovery_expression>{Template Module Cisco CISCO-ENVMON-MIB SNMPv2:sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;critical&quot;}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;shutdown&quot;}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$FAN_WARN_STATUS:&quot;notFunctioning&quot;}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$FAN_WARN_STATUS:&quot;warning&quot;}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS:&quot;critical&quot;}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS:&quot;shutdown&quot;}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$PSU_WARN_STATUS:&quot;notFunctioning&quot;}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$PSU_WARN_STATUS:&quot;warning&quot;}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT:&quot;CPU&quot;}</macro>
                    <value>75</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$TEMP_DISASTER_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>50</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN:&quot;CPU&quot;}</macro>
                    <value>70</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN_STATUS}</macro>
                    <value>2</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Cisco CISCO-MEMORY-POOL-MIB SNMPv2</template>
            <name>Template Module Cisco CISCO-MEMORY-POOL-MIB SNMPv2</name>
            <description>Template Cisco CISCO-MEMORY-POOL-MIB&#13;
&#13;
MIBs used:&#13;
CISCO-MEMORY-POOL-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Memory</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Memory Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.9.9.48.1.1.1.2]</snmp_oid>
                    <key>memory.discovery</key>
                    <delay>1h</delay>
                    <description>Discovery of ciscoMemoryPoolTable, a table of memory pool monitoring entries.&#13;
http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Free memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.48.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: CISCO-MEMORY-POOL-MIB&#13;
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&#13;
Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Used memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.48.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: CISCO-MEMORY-POOL-MIB&#13;
Indicates the number of bytes from the memory pool that are currently in use by applications on the managed device.&#13;
Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15216-contiguous-memory.html</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Memory utilization</name>
                            <type>CALCULATED</type>
                            <key>vm.memory.util[vm.memory.util.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <params>last(&quot;vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]&quot;)/(last(&quot;vm.memory.free[ciscoMemoryPoolFree.{#SNMPINDEX}]&quot;)+last(&quot;vm.memory.used[ciscoMemoryPoolUsed.{#SNMPINDEX}]&quot;))*100</params>
                            <description>Memory utilization in %</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                    <name>{#SNMPVALUE}: High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#SNMPVALUE}: 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 Module Cisco CISCO-MEMORY-POOL-MIB SNMPv2</host>
                                        <key>vm.memory.util[vm.memory.util.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Cisco CISCO-PROCESS-MIB IOS versions 12.0_3_T-12.2_3.5 SNMPv2</template>
            <name>Template Module Cisco CISCO-PROCESS-MIB IOS versions 12.0_3_T-12.2_3.5 SNMPv2</name>
            <description>Template Module Cisco CISCO-PROCESS-MIB IOS versions 12.0_3_T-12.2_3.5&#13;
&#13;
MIBs used:&#13;
CISCO-PROCESS-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>CPU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.9.9.109.1.1.1.1.5]</snmp_oid>
                    <key>cpu.discovery</key>
                    <delay>1h</delay>
                    <description>If your IOS device has several CPUs, you must use CISCO-PROCESS-MIB and its object cpmCPUTotal5minRev from the table called cpmCPUTotalTable ,&#13;
indexed with cpmCPUTotalIndex .&#13;
This table allows CISCO-PROCESS-MIB to keep CPU statistics for different physical entities in the router,&#13;
like different CPU chips, group of CPUs, or CPUs in different modules/cards.&#13;
In case of a single CPU, cpmCPUTotalTable has only one entry.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: CPU utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.109.1.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>system.cpu.util[cpmCPUTotal5min.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: CISCO-PROCESS-MIB&#13;
The overall CPU busy percentage in the last 5 minute&#13;
period. This object deprecates the avgBusy5 object from&#13;
the OLD-CISCO-SYSTEM-MIB. This object is deprecated&#13;
by cpmCPUTotal5minRev which has the changed range&#13;
of value (0..100)&#13;
Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15215-collect-cpu-util-snmp.html</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                    <name>{#SNMPVALUE}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#SNMPVALUE}: 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 Module Cisco CISCO-PROCESS-MIB IOS versions 12.0_3_T-12.2_3.5 SNMPv2</host>
                                        <key>system.cpu.util[cpmCPUTotal5min.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Cisco CISCO-PROCESS-MIB SNMPv2</template>
            <name>Template Module Cisco CISCO-PROCESS-MIB SNMPv2</name>
            <description>Template Cisco CISCO-PROCESS-MIB&#13;
&#13;
MIBs used:&#13;
CISCO-PROCESS-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>CPU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.9.9.109.1.1.1.1.5]</snmp_oid>
                    <key>cpu.discovery</key>
                    <delay>1h</delay>
                    <description>If your IOS device has several CPUs, you must use CISCO-PROCESS-MIB and its object cpmCPUTotal5minRev from the table called cpmCPUTotalTable ,&#13;
indexed with cpmCPUTotalIndex .&#13;
This table allows CISCO-PROCESS-MIB to keep CPU statistics for different physical entities in the router,&#13;
like different CPU chips, group of CPUs, or CPUs in different modules/cards.&#13;
In case of a single CPU, cpmCPUTotalTable has only one entry.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: CPU utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.109.1.1.1.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>system.cpu.util[cpmCPUTotal5minRev.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: CISCO-PROCESS-MIB&#13;
The cpmCPUTotal5minRev MIB object provides a more accurate view of the performance of the router over time than the MIB objects cpmCPUTotal1minRev and cpmCPUTotal5secRev . These MIB objects are not accurate because they look at CPU at one minute and five second intervals, respectively. These MIBs enable you to monitor the trends and plan the capacity of your network. The recommended baseline rising threshold for cpmCPUTotal5minRev is 90 percent. Depending on the platform, some routers that run at 90 percent, for example, 2500s, can exhibit performance degradation versus a high-end router, for example, the 7500 series, which can operate fine.&#13;
Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15215-collect-cpu-util-snmp.html</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                    <name>#{#SNMPINDEX}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>#{#SNMPINDEX}: 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 Module Cisco CISCO-PROCESS-MIB SNMPv2</host>
                                        <key>system.cpu.util[cpmCPUTotal5minRev.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Cisco Inventory SNMPv2</template>
            <name>Template Module Cisco Inventory SNMPv2</name>
            <description>Template Cisco Inventory&#13;
&#13;
MIBs used:&#13;
ENTITY-MIB&#13;
SNMPv2-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Inventory</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.13.1</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: ENTITY-MIB</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.11.1</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: ENTITY-MIB</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.sw.os[sysDescr.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Version (.+), RELEASE
\1</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Entity Serial Numbers 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,{#ENT_SN},1.3.6.1.2.1.47.1.1.1.1.11]</snmp_oid>
                    <key>entity_sn.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#ENT_SN}</macro>
                                <value>.+</value>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#ENT_CLASS}</macro>
                                <value>[^3]</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <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>Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
        </template>
        <template>
            <template>Template Module Cisco OLD-CISCO-CPU-MIB SNMPv2</template>
            <name>Template Module Cisco OLD-CISCO-CPU-MIB SNMPv2</name>
            <description>Template Cisco OLD-CISCO-CPU-MIB&#13;
&#13;
MIBs used:&#13;
OLD-CISCO-CPU-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.9.2.1.58</snmp_oid>
                    <key>system.cpu.util[avgBusy5]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: OLD-CISCO-CPU-MIB&#13;
5 minute exponentially-decayed moving average of the CPU busy percentage.&#13;
Reference: http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/15215-collect-cpu-util-snmp.html</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module EtherLike-MIB SNMPv1</template>
            <name>Template Module EtherLike-MIB SNMPv1</name>
            <description>Template EtherLike-MIB (duplex control only)&#13;
&#13;
MIBs used:&#13;
EtherLike-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>EtherLike-MIB Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.10.7.2.1.19,{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2]</snmp_oid>
                    <key>net.if.duplex.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>1</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>(2|3)</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with up(1) Operational Status are discovered.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Duplex status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.10.7.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <description>MIB: EtherLike-MIB&#13;
The current mode of operation of the MAC&#13;
entity.  'unknown' indicates that the current&#13;
duplex mode could not be determined.&#13;
&#13;
Management control of the duplex mode is&#13;
accomplished through the MAU MIB.  When&#13;
an interface does not support autonegotiation,&#13;
or when autonegotiation is not enabled, the&#13;
duplex mode is controlled using&#13;
ifMauDefaultType.  When autonegotiation is&#13;
supported and enabled, duplex mode is controlled&#13;
using ifMauAutoNegAdvertisedBits.  In either&#13;
case, the currently operating duplex mode is&#13;
reflected both in this object and in ifMauType.&#13;
&#13;
Note that this object provides redundant&#13;
information with ifMauType.  Normally, redundant&#13;
objects are discouraged.  However, in this&#13;
instance, it allows a management application to&#13;
determine the duplex status of an interface&#13;
without having to know every possible value of&#13;
ifMauType.  This was felt to be sufficiently&#13;
valuable to justify the redundancy.&#13;
Reference: [IEEE 802.3 Std.], 30.3.1.1.32,aDuplexStatus.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>EtherLike-MIB::dot3StatsDuplexStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): In half-duplex mode</name>
                                    <priority>WARNING</priority>
                                    <description>Please check autonegotiation settings and cabling</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
        </template>
        <template>
            <template>Template Module EtherLike-MIB SNMPv2</template>
            <name>Template Module EtherLike-MIB SNMPv2</name>
            <description>Template EtherLike-MIB (duplex control only)&#13;
&#13;
MIBs used:&#13;
EtherLike-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>EtherLike-MIB Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.10.7.2.1.19,{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2]</snmp_oid>
                    <key>net.if.duplex.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>1</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>(2|3)</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering interfaces from IF-MIB and EtherLike-MIB. Interfaces with up(1) Operational Status are discovered.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Duplex status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.10.7.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.duplex[dot3StatsDuplexStatus.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <description>MIB: EtherLike-MIB&#13;
The current mode of operation of the MAC&#13;
entity.  'unknown' indicates that the current&#13;
duplex mode could not be determined.&#13;
&#13;
Management control of the duplex mode is&#13;
accomplished through the MAU MIB.  When&#13;
an interface does not support autonegotiation,&#13;
or when autonegotiation is not enabled, the&#13;
duplex mode is controlled using&#13;
ifMauDefaultType.  When autonegotiation is&#13;
supported and enabled, duplex mode is controlled&#13;
using ifMauAutoNegAdvertisedBits.  In either&#13;
case, the currently operating duplex mode is&#13;
reflected both in this object and in ifMauType.&#13;
&#13;
Note that this object provides redundant&#13;
information with ifMauType.  Normally, redundant&#13;
objects are discouraged.  However, in this&#13;
instance, it allows a management application to&#13;
determine the duplex status of an interface&#13;
without having to know every possible value of&#13;
ifMauType.  This was felt to be sufficiently&#13;
valuable to justify the redundancy.&#13;
Reference: [IEEE 802.3 Std.], 30.3.1.1.32,aDuplexStatus.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>EtherLike-MIB::dot3StatsDuplexStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): In half-duplex mode</name>
                                    <priority>WARNING</priority>
                                    <description>Please check autonegotiation settings and cabling</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
        </template>
        <template>
            <template>Template Module Generic SNMPv1</template>
            <name>Template Module Generic SNMPv1</name>
            <description>Template Module Generic&#13;
&#13;
MIBs used:&#13;
SNMPv2-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module ICMP Ping</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>General</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>SNMP traps (fallback)</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap.fallback</key>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Item is used to collect all SNMP traps unmatched by other snmptrap items</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <logtimefmt>hh:mm:sszyyyy/MM/dd</logtimefmt>
                </item>
                <item>
                    <name>System contact details</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.4.0</snmp_oid>
                    <key>system.contact[sysContact.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.</description>
                    <inventory_link>CONTACT</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System description</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.descr[sysDescr.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
A textual description of the entity. This value should&#13;
include the full name and version identification of the system's hardware type, software operating-system, and&#13;
networking software.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System location</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.6.0</snmp_oid>
                    <key>system.location[sysLocation.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The physical location of this node (e.g., `telephone closet, 3rd floor').  If the location is unknown, the value is the zero-length string.</description>
                    <inventory_link>LOCATION</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.5.0</snmp_oid>
                    <key>system.name</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>System name has changed (new name: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>System name has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System object ID</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.2.0</snmp_oid>
                    <key>system.objectid[sysObjectID.0]</key>
                    <delay>15m</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Uptime</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.3.0</snmp_oid>
                    <key>system.uptime[sysUpTime.0]</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <units>uptime</units>
                    <description>MIB: SNMPv2-MIB&#13;
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.01</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>{HOST.NAME} has been restarted (uptime &lt; 10m)</name>
                            <priority>WARNING</priority>
                            <description>Uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>No SNMP data collection</name>
                                    <expression>{Template Module Generic SNMPv1:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>SNMP agent availability</name>
                    <type>INTERNAL</type>
                    <key>zabbix[host,snmp,available]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>zabbix.host.available</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max({$SNMP.TIMEOUT})}=0</expression>
                            <name>No SNMP data collection</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>SNMP is not available for polling. Please check device connectivity and SNMP settings.</description>
                            <dependencies>
                                <dependency>
                                    <name>Unavailable by ICMP ping</name>
                                    <expression>{Template Module Generic SNMPv1:icmpping.max(#3)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$SNMP.TIMEOUT}</macro>
                    <value>5m</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Generic SNMPv2</template>
            <name>Template Module Generic SNMPv2</name>
            <description>Template Module Generic&#13;
&#13;
MIBs used:&#13;
SNMPv2-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module ICMP Ping</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>General</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>SNMP traps (fallback)</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap.fallback</key>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Item is used to collect all SNMP traps unmatched by other snmptrap items</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <logtimefmt>hh:mm:sszyyyy/MM/dd</logtimefmt>
                </item>
                <item>
                    <name>System contact details</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.4.0</snmp_oid>
                    <key>system.contact[sysContact.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.</description>
                    <inventory_link>CONTACT</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System description</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.descr[sysDescr.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
A textual description of the entity. This value should&#13;
include the full name and version identification of the system's hardware type, software operating-system, and&#13;
networking software.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System location</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.6.0</snmp_oid>
                    <key>system.location[sysLocation.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The physical location of this node (e.g., `telephone closet, 3rd floor').  If the location is unknown, the value is the zero-length string.</description>
                    <inventory_link>LOCATION</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.5.0</snmp_oid>
                    <key>system.name</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>System name has changed (new name: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>System name has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System object ID</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.2.0</snmp_oid>
                    <key>system.objectid[sysObjectID.0]</key>
                    <delay>15m</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Uptime</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.3.0</snmp_oid>
                    <key>system.uptime[sysUpTime.0]</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <units>uptime</units>
                    <description>MIB: SNMPv2-MIB&#13;
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.01</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>{HOST.NAME} has been restarted (uptime &lt; 10m)</name>
                            <priority>WARNING</priority>
                            <description>Uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>No SNMP data collection</name>
                                    <expression>{Template Module Generic SNMPv2:zabbix[host,snmp,available].max({$SNMP.TIMEOUT})}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>SNMP agent availability</name>
                    <type>INTERNAL</type>
                    <key>zabbix[host,snmp,available]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>zabbix.host.available</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max({$SNMP.TIMEOUT})}=0</expression>
                            <name>No SNMP data collection</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>SNMP is not available for polling. Please check device connectivity and SNMP settings.</description>
                            <dependencies>
                                <dependency>
                                    <name>Unavailable by ICMP ping</name>
                                    <expression>{Template Module Generic SNMPv2:icmpping.max(#3)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$SNMP.TIMEOUT}</macro>
                    <value>5m</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Generic SNMPv3</template>
            <name>Template Module Generic SNMPv3</name>
            <description>Template Module Generic version: 0.14&#13;
MIBs used:&#13;
SNMPv2-MIB</description>
            <templates>
                <template>
                    <name>Template Module ICMP Ping</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>General</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>SNMP traps (fallback)</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap.fallback</key>
                    <delay>300</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Item is used to collect all SNMP traps unmatched by other snmptrap items</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <logtimefmt>hh:mm:sszyyyy/MM/dd</logtimefmt>
                </item>
                <item>
                    <name>Device contact details</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.4.0</snmp_oid>
                    <key>system.contact</key>
                    <delay>3600</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.</description>
                    <inventory_link>CONTACT</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device description</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.descr</key>
                    <delay>3600</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
A textual description of the entity.  This value should&#13;
include the full name and version identification of the system's hardware type, software operating-system, and&#13;
networking software.</description>
                    <inventory_link>HARDWARE</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device location</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.6.0</snmp_oid>
                    <key>system.location</key>
                    <delay>3600</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The physical location of this node (e.g., `telephone closet, 3rd floor').  If the location is unknown, the value is the zero-length string.</description>
                    <inventory_link>LOCATION</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.5.0</snmp_oid>
                    <key>system.name</key>
                    <delay>3600</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System object ID</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.2.0</snmp_oid>
                    <key>system.objectid</key>
                    <delay>3600</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device uptime</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.3.0</snmp_oid>
                    <key>system.uptime</key>
                    <delay>120s</delay>
                    <history>14d</history>
                    <trends>0d</trends>
                    <units>uptime</units>
                    <description>MIB: SNMPv2-MIB&#13;
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.01</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>{HOST.NAME} has been restarted</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
The device uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>No SNMP data collection</name>
                                    <expression>{Template Module Generic SNMPv3:zabbix[host,snmp,available].max({$SNMP_TIMEOUT})}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>SNMP availability</name>
                    <type>INTERNAL</type>
                    <key>zabbix[host,snmp,available]</key>
                    <delay>60</delay>
                    <history>14d</history>
                    <trends>0d</trends>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>zabbix.host.available</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max({$SNMP_TIMEOUT})}=0</expression>
                            <name>No SNMP data collection</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
SNMP is not available for polling. Please check device connectivity and SNMP settings.</description>
                            <dependencies>
                                <dependency>
                                    <name>Unavailable by ICMP ping</name>
                                    <expression>{Template Module Generic SNMPv3:icmpping.max(#3)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$SNMP_PASSWORD}</macro>
                    <value>pssword</value>
                </macro>
                <macro>
                    <macro>{$SNMP_TIMEOUT}</macro>
                    <value>3m</value>
                </macro>
                <macro>
                    <macro>{$SNMP_USER}</macro>
                    <value>user</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module HOST-RESOURCES-MIB CPU SNMPv2</template>
            <name>Template Module HOST-RESOURCES-MIB CPU SNMPv2</name>
            <description>Requires server of Zabbix 4.0.14rc1, 4.2.8rc1, 4.4.0rc1 and newer.&#13;
&#13;
MIBs used:&#13;
HOST-RESOURCES-MIB&#13;
&#13;
Template tooling version used: 0.33</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#CPU.UTIL},1.3.6.1.2.1.25.3.3.1.2]</snmp_oid>
                    <key>system.cpu.util</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: HOST-RESOURCES-MIB&#13;
The average, over the last minute, of the percentage of time that processors was not idle.&#13;
Implementations may approximate this one minute smoothing period if necessary.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$..['{#CPU.UTIL}'].avg()</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>CPU utilization is too high. The system might be slow to respond.</description>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module HOST-RESOURCES-MIB memory SNMPv2</template>
            <name>Template Module HOST-RESOURCES-MIB memory SNMPv2</name>
            <description>MIBs used:&#13;
HOST-RESOURCES-MIB&#13;
&#13;
Template tooling version used: 0.33</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Memory</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Memory discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#MEMNAME},1.3.6.1.2.1.25.2.3.1.3,{#MEMTYPE},1.3.6.1.2.1.25.2.3.1.2,{#ALLOC_UNITS},1.3.6.1.2.1.25.2.3.1.4]</snmp_oid>
                    <key>vm.memory.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#MEMTYPE}</macro>
                                <value>{$MEMORY.TYPE.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#MEMTYPE}</macro>
                                <value>{$MEMORY.TYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#MEMNAME}</macro>
                                <value>{$MEMORY.NAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#MEMNAME}</macro>
                                <value>{$MEMORY.NAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>HOST-RESOURCES-MIB::hrStorage discovery with memory filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#MEMNAME}: Total memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.total[hrStorageSize.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: HOST-RESOURCES-MIB&#13;
The size of the storage represented by this entry, in units of hrStorageAllocationUnits.&#13;
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.&#13;
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>Memory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>{#ALLOC_UNITS}</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#MEMNAME}: Used memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.used[hrStorageUsed.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: HOST-RESOURCES-MIB&#13;
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>{#ALLOC_UNITS}</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#MEMNAME}: Memory utilization</name>
                            <type>CALCULATED</type>
                            <key>vm.memory.util[memoryUsedPercentage.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <params>last(&quot;vm.memory.used[hrStorageUsed.{#SNMPINDEX}]&quot;)/last(&quot;vm.memory.total[hrStorageSize.{#SNMPINDEX}]&quot;)*100</params>
                            <description>Memory utilization in %</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                    <name>{#MEMNAME}: High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <priority>AVERAGE</priority>
                                    <description>The system is running out of free memory.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#MEMNAME}: 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 Module HOST-RESOURCES-MIB memory SNMPv2</host>
                                        <key>vm.memory.util[memoryUsedPercentage.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$MEMORY.NAME.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in memory discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$MEMORY.NAME.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                    <description>This macro is used in memory discovery. Can be overridden on the host or linked template level if you need to filter out results.</description>
                </macro>
                <macro>
                    <macro>{$MEMORY.TYPE.MATCHES}</macro>
                    <value>.*(\.2|hrStorageRam)$</value>
                    <description>This macro is used in memory discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$MEMORY.TYPE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                    <description>This macro is used in memory discovery. Can be overridden on the host or linked template level if you need to filter out results.</description>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                    <description>The warning threshold of the &quot;Physical memory: Memory utilization&quot; item.</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module HOST-RESOURCES-MIB SNMPv1</template>
            <name>Template Module HOST-RESOURCES-MIB SNMPv1</name>
            <description>HOST-RESOURCES-MIB: CPU, Memory and Storage version: 0.15&#13;
MIBs used:&#13;
HOST-RESOURCES-MIB</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Internal items</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Storage</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>CPU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.25.3.3.1.1]</snmp_oid>
                    <key>hrProcessorLoad.discovery</key>
                    <delay>1h</delay>
                    <description>HOST-RESOURCES-MIB::hrProcessorTable discovery</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: 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&#13;
The average, over the last minute, of the percentage of time that this processor was not idle.&#13;
Implementations may approximate this one minute smoothing period if necessary.</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$CPU_UTIL_MAX}</expression>
                                    <name>#{#SNMPINDEX}: 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>#{#SNMPINDEX}: 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 Module HOST-RESOURCES-MIB SNMPv1</host>
                                        <key>system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </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>OR</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#STORAGE_TYPE}</macro>
                                <value>.+2$</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#STORAGE_TYPE}</macro>
                                <value>.+hrStorageRam</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>HOST-RESOURCES-MIB::hrStorage discovery with memory filter</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>
                            <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>
                        </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&#13;
The size of the storage represented by this entry, in units of hrStorageAllocationUnits.&#13;
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.&#13;
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>
                        </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&#13;
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>
                        </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&#13;
The size, in bytes, of the data objects allocated from this pool.&#13;
If this entry is monitoring sectors, blocks, buffers, or packets, for example,&#13;
this number will commonly be greater than one. Otherwise this number will typically be one.</description>
                            <applications>
                                <application>
                                    <name>Internal items</name>
                                </application>
                            </applications>
                        </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>
                        </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 Module HOST-RESOURCES-MIB SNMPv1</host>
                                        <key>vm.memory.pused[memoryUsedPercentage.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </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>
                            <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 Module HOST-RESOURCES-MIB SNMPv1: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>
                        </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&#13;
The size of the storage represented by this entry, in units of hrStorageAllocationUnits.&#13;
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.&#13;
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>
                        </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&#13;
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>
                        </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&#13;
The size, in bytes, of the data objects allocated from this pool.&#13;
If this entry is monitoring sectors, blocks, buffers, or packets, for example,&#13;
this number will commonly be greater than one.  Otherwise this number will typically be one.</description>
                            <applications>
                                <application>
                                    <name>Internal items</name>
                                </application>
                            </applications>
                        </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>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU_UTIL_MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$MEMORY_UTIL_MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$STORAGE_UTIL_CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$STORAGE_UTIL_WARN}</macro>
                    <value>80</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module HOST-RESOURCES-MIB SNMPv2</template>
            <name>Template Module HOST-RESOURCES-MIB SNMPv2</name>
            <description>HOST-RESOURCES-MIB: CPU, memory and storage(vfs.fs.file) linked together.&#13;
&#13;
Template tooling version used: 0.33</description>
            <templates>
                <template>
                    <name>Template Module HOST-RESOURCES-MIB CPU SNMPv2</name>
                </template>
                <template>
                    <name>Template Module HOST-RESOURCES-MIB memory SNMPv2</name>
                </template>
                <template>
                    <name>Template Module HOST-RESOURCES-MIB storage SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>3</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU utilization</name>
                                <host>Template Module HOST-RESOURCES-MIB SNMPv2</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#MEMNAME}: Memory utilization</name>
                                <host>Template Module HOST-RESOURCES-MIB SNMPv2</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#FSNAME}: Disk space usage</name>
                                <host>Template Module HOST-RESOURCES-MIB SNMPv2</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Module HOST-RESOURCES-MIB storage SNMPv2</template>
            <name>Template Module HOST-RESOURCES-MIB storage SNMPv2</name>
            <description>MIBs used:&#13;
HOST-RESOURCES-MIB&#13;
&#13;
Template tooling version used: 0.33</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Storage</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Storage discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#FSNAME},1.3.6.1.2.1.25.2.3.1.3,{#FSTYPE},1.3.6.1.2.1.25.2.3.1.2,{#ALLOC_UNITS},1.3.6.1.2.1.25.2.3.1.4]</snmp_oid>
                    <key>vfs.fs.discovery[snmp]</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>HOST-RESOURCES-MIB::hrStorage discovery with storage filter.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#FSNAME}: Space utilization</name>
                            <type>CALCULATED</type>
                            <key>vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <params>(last(&quot;vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]&quot;)/last(&quot;vfs.fs.total[hrStorageSize.{#SNMPINDEX}]&quot;))*100</params>
                            <description>Space utilization in % for {#FSNAME}</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Total space</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.fs.total[hrStorageSize.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: HOST-RESOURCES-MIB&#13;
The size of the storage represented by this entry, in units of hrStorageAllocationUnits.&#13;
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.&#13;
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>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>{#ALLOC_UNITS}</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Used space</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: HOST-RESOURCES-MIB&#13;
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>{#ALLOC_UNITS}</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.total[hrStorageSize.{#SNMPINDEX}].last()}-{Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.used[hrStorageUsed.{#SNMPINDEX}].last()})&lt;5G or {Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>AVERAGE</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 5G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].last()}&gt;{$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.total[hrStorageSize.{#SNMPINDEX}].last()}-{Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.used[hrStorageUsed.{#SNMPINDEX}].last()})&lt;10G or {Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is low (used &gt; {$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>WARNING</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 10G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                    <expression>{Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.total[hrStorageSize.{#SNMPINDEX}].last()}-{Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.used[hrStorageUsed.{#SNMPINDEX}].last()})&lt;5G or {Template Module HOST-RESOURCES-MIB storage SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].timeleft(1h,,100)}&lt;1d)</expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#FSNAME}: Disk space usage</name>
                            <width>600</width>
                            <height>340</height>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>969696</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template Module HOST-RESOURCES-MIB storage SNMPv2</host>
                                        <key>vfs.fs.total[hrStorageSize.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>C80000</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <item>
                                        <host>Template Module HOST-RESOURCES-MIB storage SNMPv2</host>
                                        <key>vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VFS.FS.FSNAME.MATCHES}</macro>
                    <value>.+</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSNAME.NOT_MATCHES}</macro>
                    <value>^(/dev|/sys|/run|/proc|.+/shm$)</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.MATCHES}</macro>
                    <value>.*(\.4|\.9|hrStorageFixedDisk|hrStorageFlashMemory)$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.WARN}</macro>
                    <value>80</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module ICMP Ping</template>
            <name>Template Module ICMP Ping</name>
            <description>Template Module ICMP Ping&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Status</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>ICMP ping</name>
                    <type>SIMPLE</type>
                    <key>icmpping</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max(#3)}=0</expression>
                            <name>Unavailable by ICMP ping</name>
                            <priority>HIGH</priority>
                            <description>Last three attempts returned timeout.  Please check device connectivity.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>ICMP loss</name>
                    <type>SIMPLE</type>
                    <key>icmppingloss</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$ICMP_LOSS_WARN} and {min(5m)}&lt;100</expression>
                            <name>High ICMP ping loss</name>
                            <opdata>Loss: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <dependencies>
                                <dependency>
                                    <name>Unavailable by ICMP ping</name>
                                    <expression>{Template Module ICMP Ping:icmpping.max(#3)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>ICMP response time</name>
                    <type>SIMPLE</type>
                    <key>icmppingsec</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;{$ICMP_RESPONSE_TIME_WARN}</expression>
                            <name>High ICMP ping response time</name>
                            <opdata>Value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <dependencies>
                                <dependency>
                                    <name>High ICMP ping loss</name>
                                    <expression>{Template Module ICMP Ping:icmppingloss.min(5m)}&gt;{$ICMP_LOSS_WARN} and {Template Module ICMP Ping:icmppingloss.min(5m)}&lt;100</expression>
                                </dependency>
                                <dependency>
                                    <name>Unavailable by ICMP ping</name>
                                    <expression>{Template Module ICMP Ping:icmpping.max(#3)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$ICMP_LOSS_WARN}</macro>
                    <value>20</value>
                </macro>
                <macro>
                    <macro>{$ICMP_RESPONSE_TIME_WARN}</macro>
                    <value>0.15</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Interfaces Simple SNMPv1</template>
            <name>Template Module Interfaces Simple SNMPv1</name>
            <description>Template Module Interfaces Simple (no ifXTable). This is the exact copy of Template Module Interfaces template with the exception that metrics from ifXTable are replaced with ifTable counters where possible. Use this template with devices where IF-MIB::ifXtable is not available. If supported by the host - use Template Module Interfaces template instead.&#13;
&#13;
MIBs used:&#13;
IF-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: 32bit counters are used in this template (since there is no ifXtable available). If busy interfaces return incorrect bits sent/received - set update interval to 1m or less.&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interfaces discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFNAME},1.3.6.1.2.1.2.2.1.2,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3]</snmp_oid>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.MATCHES}</value>
                                <formulaid>G</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>H</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.MATCHES}</value>
                                <formulaid>I</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>J</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering interfaces from IF-MIB.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Inbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of inbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Inbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Bits received</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in[ifInOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets received on the interface,including framing characters. Discontinuities in the value of this counter can occurat re-initialization of the management system, and atother times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Outbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of outbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Outbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Bits sent</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.16.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out[ifOutOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets transmitted out of the interface, including framing characters. Discontinuities in the value of this counter can occurat re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.speed[ifSpeed.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
An estimate of the interface's current bandwidth in bits per second.&#13;
For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made,&#13;
this object should contain the nominal bandwidth.&#13;
If the bandwidth of the interface is greater than the maximum value reportable by this object then&#13;
this object should report its maximum value (4,294,967,295) and ifHighSpeed must be used to report the interace's speed.&#13;
For a sub-layer which has no concept of bandwidth, this object should be zero.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Operational status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.status[ifOperStatus.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <trends>0</trends>
                            <description>MIB: IF-MIB&#13;
The current operational state of the interface.&#13;
- The testing(3) state indicates that no operational packet scan be passed&#13;
- If ifAdminStatus is down(2) then ifOperStatus should be down(2)&#13;
- If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic&#13;
- It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)&#13;
- It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state&#13;
- It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFDESCR}: Link down</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>This trigger expression works as follows:&#13;
1. Can be triggered if operations status is down.&#13;
2. {$IFCONTROL:&quot;{#IFNAME}&quot;}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.&#13;
3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)&#13;
&#13;
WARNING: if closed manually - won't fire again on next poll, because of .diff.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Interface type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.type[ifType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <description>MIB: IF-MIB&#13;
The type of interface.&#13;
Additional values for ifType are assigned by the Internet Assigned NumbersAuthority (IANA),&#13;
through updating the syntax of the IANAifType textual convention.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifType</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces Simple SNMPv1:net.if.speed[ifSpeed.{#SNMPINDEX}].change()}&lt;0 and {Template Module Interfaces Simple SNMPv1:net.if.speed[ifSpeed.{#SNMPINDEX}].last()}&gt;0&#13;
and (&#13;
{Template Module Interfaces Simple SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=6 or&#13;
{Template Module Interfaces Simple SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=7 or&#13;
{Template Module Interfaces Simple SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=11 or&#13;
{Template Module Interfaces Simple SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=62 or&#13;
{Template Module Interfaces Simple SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=69 or&#13;
{Template Module Interfaces Simple SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=117&#13;
)&#13;
and&#13;
({Template Module Interfaces Simple SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template Module Interfaces Simple SNMPv1:net.if.speed[ifSpeed.{#SNMPINDEX}].change()}&gt;0 and {Template Module Interfaces Simple SNMPv1:net.if.speed[ifSpeed.{#SNMPINDEX}].prev()}&gt;0) or&#13;
({Template Module Interfaces Simple SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2)</recovery_expression>
                            <name>Interface {#IFDESCR}: Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFDESCR}: Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces Simple SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces Simple SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces Simple SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>({Template Module Interfaces Simple SNMPv1:net.if.in[ifInOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces Simple SNMPv1:net.if.speed[ifSpeed.{#SNMPINDEX}].last()} or&#13;
{Template Module Interfaces Simple SNMPv1:net.if.out[ifOutOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces Simple SNMPv1:net.if.speed[ifSpeed.{#SNMPINDEX}].last()}) and&#13;
{Template Module Interfaces Simple SNMPv1:net.if.speed[ifSpeed.{#SNMPINDEX}].last()}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces Simple SNMPv1:net.if.in[ifInOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces Simple SNMPv1:net.if.speed[ifSpeed.{#SNMPINDEX}].last()} and&#13;
{Template Module Interfaces Simple SNMPv1:net.if.out[ifOutOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces Simple SNMPv1:net.if.speed[ifSpeed.{#SNMPINDEX}].last()}</recovery_expression>
                            <name>Interface {#IFDESCR}: High bandwidth usage ( &gt; {$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}% )</name>
                            <opdata>In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFDESCR}: Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces Simple SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces Simple SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces Simple SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces Simple SNMPv1:net.if.in.errors[ifInErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}&#13;
or {Template Module Interfaces Simple SNMPv1:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces Simple SNMPv1:net.if.in.errors[ifInErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Template Module Interfaces Simple SNMPv1:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFDESCR}: High error rate ( &gt; {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</name>
                            <opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>Recovers when below 80% of {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFDESCR}: Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces Simple SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces Simple SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces Simple SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFDESCR}: Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv1</host>
                                        <key>net.if.in[ifInOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv1</host>
                                        <key>net.if.out[ifOutOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv1</host>
                                        <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv1</host>
                                        <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv1</host>
                                        <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv1</host>
                                        <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$IF.ERRORS.WARN}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$IF.UTIL.MAX}</macro>
                    <value>95</value>
                </macro>
                <macro>
                    <macro>{$IFCONTROL}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.MATCHES}</macro>
                    <value>^.*</value>
                    <description>Ignore notPresent(6)</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</macro>
                    <value>^2$</value>
                    <description>Ignore down(2) administrative status</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
                    <value>(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})</value>
                    <description>Filter out loopbacks, nulls, docker veth links and docker0 bridge by default</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</macro>
                    <value>^6$</value>
                    <description>Ignore notPresent(6)</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Network interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFDESCR}: Network traffic</name>
                                <host>Template Module Interfaces Simple SNMPv1</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Module Interfaces Simple SNMPv2</template>
            <name>Template Module Interfaces Simple SNMPv2</name>
            <description>Template Module Interfaces Simple (no ifXTable). This is the exact copy of Template Module Interfaces template with the exception that metrics from ifXTable are replaced with ifTable counters where possible. Use this template with devices where IF-MIB::ifXtable is not available. If supported by the host - use Template Module Interfaces template instead.&#13;
&#13;
MIBs used:&#13;
IF-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: 32bit counters are used in this template (since there is no ifXtable available). If busy interfaces return incorrect bits sent/received - set update interval to 1m or less.&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interfaces discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFNAME},1.3.6.1.2.1.2.2.1.2,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3]</snmp_oid>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.MATCHES}</value>
                                <formulaid>G</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>H</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.MATCHES}</value>
                                <formulaid>I</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>J</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering interfaces from IF-MIB.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Inbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of inbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Inbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Bits received</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in[ifInOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets received on the interface,including framing characters. Discontinuities in the value of this counter can occurat re-initialization of the management system, and atother times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Outbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of outbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Outbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Bits sent</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.16.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out[ifOutOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets transmitted out of the interface, including framing characters. Discontinuities in the value of this counter can occurat re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.speed[ifSpeed.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
An estimate of the interface's current bandwidth in bits per second.&#13;
For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made,&#13;
this object should contain the nominal bandwidth.&#13;
If the bandwidth of the interface is greater than the maximum value reportable by this object then&#13;
this object should report its maximum value (4,294,967,295) and ifHighSpeed must be used to report the interace's speed.&#13;
For a sub-layer which has no concept of bandwidth, this object should be zero.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Operational status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.status[ifOperStatus.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <trends>0</trends>
                            <description>MIB: IF-MIB&#13;
The current operational state of the interface.&#13;
- The testing(3) state indicates that no operational packet scan be passed&#13;
- If ifAdminStatus is down(2) then ifOperStatus should be down(2)&#13;
- If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic&#13;
- It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)&#13;
- It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state&#13;
- It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFDESCR}: Link down</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>This trigger expression works as follows:&#13;
1. Can be triggered if operations status is down.&#13;
2. {$IFCONTROL:&quot;{#IFNAME}&quot;}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.&#13;
3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)&#13;
&#13;
WARNING: if closed manually - won't fire again on next poll, because of .diff.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFDESCR}: Interface type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.type[ifType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <description>MIB: IF-MIB&#13;
The type of interface.&#13;
Additional values for ifType are assigned by the Internet Assigned NumbersAuthority (IANA),&#13;
through updating the syntax of the IANAifType textual convention.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFDESCR}</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifType</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces Simple SNMPv2:net.if.speed[ifSpeed.{#SNMPINDEX}].change()}&lt;0 and {Template Module Interfaces Simple SNMPv2:net.if.speed[ifSpeed.{#SNMPINDEX}].last()}&gt;0&#13;
and (&#13;
{Template Module Interfaces Simple SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=6 or&#13;
{Template Module Interfaces Simple SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=7 or&#13;
{Template Module Interfaces Simple SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=11 or&#13;
{Template Module Interfaces Simple SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=62 or&#13;
{Template Module Interfaces Simple SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=69 or&#13;
{Template Module Interfaces Simple SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=117&#13;
)&#13;
and&#13;
({Template Module Interfaces Simple SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template Module Interfaces Simple SNMPv2:net.if.speed[ifSpeed.{#SNMPINDEX}].change()}&gt;0 and {Template Module Interfaces Simple SNMPv2:net.if.speed[ifSpeed.{#SNMPINDEX}].prev()}&gt;0) or&#13;
({Template Module Interfaces Simple SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2)</recovery_expression>
                            <name>Interface {#IFDESCR}: Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFDESCR}: Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces Simple SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces Simple SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces Simple SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>({Template Module Interfaces Simple SNMPv2:net.if.in[ifInOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces Simple SNMPv2:net.if.speed[ifSpeed.{#SNMPINDEX}].last()} or&#13;
{Template Module Interfaces Simple SNMPv2:net.if.out[ifOutOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces Simple SNMPv2:net.if.speed[ifSpeed.{#SNMPINDEX}].last()}) and&#13;
{Template Module Interfaces Simple SNMPv2:net.if.speed[ifSpeed.{#SNMPINDEX}].last()}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces Simple SNMPv2:net.if.in[ifInOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces Simple SNMPv2:net.if.speed[ifSpeed.{#SNMPINDEX}].last()} and&#13;
{Template Module Interfaces Simple SNMPv2:net.if.out[ifOutOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces Simple SNMPv2:net.if.speed[ifSpeed.{#SNMPINDEX}].last()}</recovery_expression>
                            <name>Interface {#IFDESCR}: High bandwidth usage ( &gt; {$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}% )</name>
                            <opdata>In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFDESCR}: Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces Simple SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces Simple SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces Simple SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces Simple SNMPv2:net.if.in.errors[ifInErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}&#13;
or {Template Module Interfaces Simple SNMPv2:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces Simple SNMPv2:net.if.in.errors[ifInErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Template Module Interfaces Simple SNMPv2:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFDESCR}: High error rate ( &gt; {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</name>
                            <opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>Recovers when below 80% of {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFDESCR}: Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces Simple SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces Simple SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces Simple SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFDESCR}: Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv2</host>
                                        <key>net.if.in[ifInOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv2</host>
                                        <key>net.if.out[ifOutOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv2</host>
                                        <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv2</host>
                                        <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv2</host>
                                        <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Simple SNMPv2</host>
                                        <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$IF.ERRORS.WARN}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$IF.UTIL.MAX}</macro>
                    <value>95</value>
                </macro>
                <macro>
                    <macro>{$IFCONTROL}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.MATCHES}</macro>
                    <value>^.*</value>
                    <description>Ignore notPresent(6)</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</macro>
                    <value>^2$</value>
                    <description>Ignore down(2) administrative status</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
                    <value>(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})</value>
                    <description>Filter out loopbacks, nulls, docker veth links and docker0 bridge by default</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</macro>
                    <value>^6$</value>
                    <description>Ignore notPresent(6)</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Network interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFDESCR}: Network traffic</name>
                                <host>Template Module Interfaces Simple SNMPv2</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Module Interfaces SNMPv1</template>
            <name>Template Module Interfaces SNMPv1</name>
            <description>Template Module Interfaces&#13;
&#13;
MIBs used:&#13;
IF-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interfaces discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3]</snmp_oid>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.MATCHES}</value>
                                <formulaid>I</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>J</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.MATCHES}</value>
                                <formulaid>G</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>H</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.MATCHES}</value>
                                <formulaid>K</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>L</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering interfaces from IF-MIB.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of inbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits received</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in[ifHCInOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of outbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits sent</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out[ifHCOutOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.speed[ifHighSpeed.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n' then the speed of the interface is somewhere in the range of `n-500,000' to`n+499,999'.  For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth. For a sub-layer which has no concept of bandwidth, this object should be zero.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1000000</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Operational status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.status[ifOperStatus.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <trends>0</trends>
                            <description>MIB: IF-MIB&#13;
The current operational state of the interface.&#13;
- The testing(3) state indicates that no operational packet scan be passed&#13;
- If ifAdminStatus is down(2) then ifOperStatus should be down(2)&#13;
- If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic&#13;
- It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)&#13;
- It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state&#13;
- It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>This trigger expression works as follows:&#13;
1. Can be triggered if operations status is down.&#13;
2. {$IFCONTROL:&quot;{#IFNAME}&quot;}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.&#13;
3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)&#13;
&#13;
WARNING: if closed manually - won't fire again on next poll, because of .diff.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Interface type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.type[ifType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <description>MIB: IF-MIB&#13;
The type of interface.&#13;
Additional values for ifType are assigned by the Internet Assigned NumbersAuthority (IANA),&#13;
through updating the syntax of the IANAifType textual convention.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifType</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces SNMPv1:net.if.speed[ifHighSpeed.{#SNMPINDEX}].change()}&lt;0 and {Template Module Interfaces SNMPv1:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0&#13;
and (&#13;
{Template Module Interfaces SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=6 or&#13;
{Template Module Interfaces SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=7 or&#13;
{Template Module Interfaces SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=11 or&#13;
{Template Module Interfaces SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=62 or&#13;
{Template Module Interfaces SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=69 or&#13;
{Template Module Interfaces SNMPv1:net.if.type[ifType.{#SNMPINDEX}].last()}=117&#13;
)&#13;
and&#13;
({Template Module Interfaces SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template Module Interfaces SNMPv1:net.if.speed[ifHighSpeed.{#SNMPINDEX}].change()}&gt;0 and {Template Module Interfaces SNMPv1:net.if.speed[ifHighSpeed.{#SNMPINDEX}].prev()}&gt;0) or&#13;
({Template Module Interfaces SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2)</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>({Template Module Interfaces SNMPv1:net.if.in[ifHCInOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces SNMPv1:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()} or&#13;
{Template Module Interfaces SNMPv1:net.if.out[ifHCOutOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces SNMPv1:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}) and&#13;
{Template Module Interfaces SNMPv1:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces SNMPv1:net.if.in[ifHCInOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces SNMPv1:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()} and&#13;
{Template Module Interfaces SNMPv1:net.if.out[ifHCOutOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces SNMPv1:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High bandwidth usage ( &gt; {$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}% )</name>
                            <opdata>In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces SNMPv1:net.if.in.errors[ifInErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}&#13;
or {Template Module Interfaces SNMPv1:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces SNMPv1:net.if.in.errors[ifInErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Template Module Interfaces SNMPv1:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High error rate ( &gt; {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</name>
                            <opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>Recovers when below 80% of {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces SNMPv1:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Interfaces SNMPv1</host>
                                        <key>net.if.in[ifHCInOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Interfaces SNMPv1</host>
                                        <key>net.if.out[ifHCOutOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv1</host>
                                        <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv1</host>
                                        <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv1</host>
                                        <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv1</host>
                                        <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$IF.ERRORS.WARN}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$IF.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$IFCONTROL}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.MATCHES}</macro>
                    <value>^.*</value>
                    <description>Ignore notPresent(6)</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</macro>
                    <value>^2$</value>
                    <description>Ignore down(2) administrative status</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
                    <value>(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})</value>
                    <description>Filter out loopbacks, nulls, docker veth links and docker0 bridge by default</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</macro>
                    <value>^6$</value>
                    <description>Ignore notPresent(6)</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Network interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                                <host>Template Module Interfaces SNMPv1</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Module Interfaces SNMPv2</template>
            <name>Template Module Interfaces SNMPv2</name>
            <description>Template Module Interfaces&#13;
&#13;
MIBs used:&#13;
IF-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interfaces discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3]</snmp_oid>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.MATCHES}</value>
                                <formulaid>I</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>J</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.MATCHES}</value>
                                <formulaid>G</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>H</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.MATCHES}</value>
                                <formulaid>K</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>L</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering interfaces from IF-MIB.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of inbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits received</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in[ifHCInOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of outbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits sent</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out[ifHCOutOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.speed[ifHighSpeed.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n' then the speed of the interface is somewhere in the range of `n-500,000' to`n+499,999'.  For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth. For a sub-layer which has no concept of bandwidth, this object should be zero.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1000000</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Operational status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.status[ifOperStatus.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <trends>0</trends>
                            <description>MIB: IF-MIB&#13;
The current operational state of the interface.&#13;
- The testing(3) state indicates that no operational packet scan be passed&#13;
- If ifAdminStatus is down(2) then ifOperStatus should be down(2)&#13;
- If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic&#13;
- It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)&#13;
- It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state&#13;
- It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>This trigger expression works as follows:&#13;
1. Can be triggered if operations status is down.&#13;
2. {$IFCONTROL:&quot;{#IFNAME}&quot;}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.&#13;
3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)&#13;
&#13;
WARNING: if closed manually - won't fire again on next poll, because of .diff.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Interface type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.type[ifType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <description>MIB: IF-MIB&#13;
The type of interface.&#13;
Additional values for ifType are assigned by the Internet Assigned NumbersAuthority (IANA),&#13;
through updating the syntax of the IANAifType textual convention.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifType</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].change()}&lt;0 and {Template Module Interfaces SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0&#13;
and (&#13;
{Template Module Interfaces SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=6 or&#13;
{Template Module Interfaces SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=7 or&#13;
{Template Module Interfaces SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=11 or&#13;
{Template Module Interfaces SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=62 or&#13;
{Template Module Interfaces SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=69 or&#13;
{Template Module Interfaces SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=117&#13;
)&#13;
and&#13;
({Template Module Interfaces SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template Module Interfaces SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].change()}&gt;0 and {Template Module Interfaces SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].prev()}&gt;0) or&#13;
({Template Module Interfaces SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2)</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>({Template Module Interfaces SNMPv2:net.if.in[ifHCInOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()} or&#13;
{Template Module Interfaces SNMPv2:net.if.out[ifHCOutOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}) and&#13;
{Template Module Interfaces SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces SNMPv2:net.if.in[ifHCInOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()} and&#13;
{Template Module Interfaces SNMPv2:net.if.out[ifHCOutOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High bandwidth usage ( &gt; {$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}% )</name>
                            <opdata>In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces SNMPv2:net.if.in.errors[ifInErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}&#13;
or {Template Module Interfaces SNMPv2:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces SNMPv2:net.if.in.errors[ifInErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Template Module Interfaces SNMPv2:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High error rate ( &gt; {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</name>
                            <opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>Recovers when below 80% of {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Interfaces SNMPv2</host>
                                        <key>net.if.in[ifHCInOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Interfaces SNMPv2</host>
                                        <key>net.if.out[ifHCOutOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv2</host>
                                        <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv2</host>
                                        <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv2</host>
                                        <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv2</host>
                                        <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$IF.ERRORS.WARN}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$IF.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$IFCONTROL}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.MATCHES}</macro>
                    <value>^.*</value>
                    <description>Ignore notPresent(6)</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</macro>
                    <value>^2$</value>
                    <description>Ignore down(2) administrative status</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
                    <value>(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})</value>
                    <description>Filter out loopbacks, nulls, docker veth links and docker0 bridge by default</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</macro>
                    <value>^6$</value>
                    <description>Ignore notPresent(6)</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Network interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                                <host>Template Module Interfaces SNMPv2</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Module Interfaces SNMPv3</template>
            <name>Template Module Interfaces SNMPv3</name>
            <description>Template Module Interfaces SNMPv3&#13;
Used template Template Module Interfaces SNMPv2&#13;
&#13;
Ville Leinonen&#13;
https://www.hacknetwork.org&#13;
Version 1.0</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interfaces discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3]</snmp_oid>
                    <key>net.if.discoveryV3</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.MATCHES}</value>
                                <formulaid>I</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>J</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.MATCHES}</value>
                                <formulaid>G</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>H</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.MATCHES}</value>
                                <formulaid>K</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>L</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering interfaces from IF-MIB.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.discardsV3[ifInDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of inbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.errorsV3[ifInErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits received</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.inV3[ifHCInOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets received on the interface, including framing characters. This object is a 64-bit version of ifInOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.discardsV3[ifOutDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of outbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.errorsV3[ifOutErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits sent</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.outV3[ifHCOutOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets transmitted out of the interface, including framing characters. This object is a 64-bit version of ifOutOctets.Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.speedV3[ifHighSpeed.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>7d</history>
                            <trends>0</trends>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n' then the speed of the interface is somewhere in the range of `n-500,000' to`n+499,999'.  For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth. For a sub-layer which has no concept of bandwidth, this object should be zero.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1000000</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Operational status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.statusV3[ifOperStatus.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <trends>0</trends>
                            <description>MIB: IF-MIB&#13;
The current operational state of the interface.&#13;
- The testing(3) state indicates that no operational packet scan be passed&#13;
- If ifAdminStatus is down(2) then ifOperStatus should be down(2)&#13;
- If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic&#13;
- It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)&#13;
- It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state&#13;
- It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>This trigger expression works as follows:&#13;
1. Can be triggered if operations status is down.&#13;
2. {$IFCONTROL:&quot;{#IFNAME}&quot;}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.&#13;
3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)&#13;
&#13;
WARNING: if closed manually - won't fire again on next poll, because of .diff.</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Interface type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.type[ifTypeV3.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>7d</history>
                            <trends>0</trends>
                            <description>MIB: IF-MIB&#13;
The type of interface.&#13;
Additional values for ifType are assigned by the Internet Assigned NumbersAuthority (IANA),&#13;
through updating the syntax of the IANAifType textual convention.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifType</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces SNMPv3:net.if.speedV3[ifHighSpeed.{#SNMPINDEX}].change()}&lt;0 and {Template Module Interfaces SNMPv3:net.if.speedV3[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0&#13;
and (&#13;
{Template Module Interfaces SNMPv3:net.if.type[ifTypeV3.{#SNMPINDEX}].last()}=6 or&#13;
{Template Module Interfaces SNMPv3:net.if.type[ifTypeV3.{#SNMPINDEX}].last()}=7 or&#13;
{Template Module Interfaces SNMPv3:net.if.type[ifTypeV3.{#SNMPINDEX}].last()}=11 or&#13;
{Template Module Interfaces SNMPv3:net.if.type[ifTypeV3.{#SNMPINDEX}].last()}=62 or&#13;
{Template Module Interfaces SNMPv3:net.if.type[ifTypeV3.{#SNMPINDEX}].last()}=69 or&#13;
{Template Module Interfaces SNMPv3:net.if.type[ifTypeV3.{#SNMPINDEX}].last()}=117&#13;
)&#13;
and&#13;
({Template Module Interfaces SNMPv3:net.if.statusV3[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template Module Interfaces SNMPv3:net.if.speedV3[ifHighSpeed.{#SNMPINDEX}].change()}&gt;0 and {Template Module Interfaces SNMPv3:net.if.speedV3[ifHighSpeed.{#SNMPINDEX}].prev()}&gt;0) or&#13;
({Template Module Interfaces SNMPv3:net.if.statusV3[ifOperStatus.{#SNMPINDEX}].last()}=2)</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces SNMPv3:net.if.statusV3[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces SNMPv3:net.if.statusV3[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces SNMPv3:net.if.statusV3[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>({Template Module Interfaces SNMPv3:net.if.inV3[ifHCInOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces SNMPv3:net.if.speedV3[ifHighSpeed.{#SNMPINDEX}].last()} or&#13;
{Template Module Interfaces SNMPv3:net.if.outV3[ifHCOutOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces SNMPv3:net.if.speedV3[ifHighSpeed.{#SNMPINDEX}].last()}) and&#13;
{Template Module Interfaces SNMPv3:net.if.speedV3[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces SNMPv3:net.if.inV3[ifHCInOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces SNMPv3:net.if.speedV3[ifHighSpeed.{#SNMPINDEX}].last()} and&#13;
{Template Module Interfaces SNMPv3:net.if.outV3[ifHCOutOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces SNMPv3:net.if.speedV3[ifHighSpeed.{#SNMPINDEX}].last()}</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High bandwidth usage ( &gt; {$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}% )</name>
                            <opdata>In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>The network interface utilization is close to its estimated maximum bandwidth.</description>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces SNMPv3:net.if.statusV3[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces SNMPv3:net.if.statusV3[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces SNMPv3:net.if.statusV3[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces SNMPv3:net.if.in.errorsV3[ifInErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}&#13;
or {Template Module Interfaces SNMPv3:net.if.out.errorsV3[ifOutErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces SNMPv3:net.if.in.errorsV3[ifInErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Template Module Interfaces SNMPv3:net.if.out.errorsV3[ifOutErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High error rate ( &gt; {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</name>
                            <opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>Recovers when below 80% of {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces SNMPv3:net.if.statusV3[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces SNMPv3:net.if.statusV3[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces SNMPv3:net.if.statusV3[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Interfaces SNMPv3</host>
                                        <key>net.if.inV3[ifHCInOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Interfaces SNMPv3</host>
                                        <key>net.if.outV3[ifHCOutOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv3</host>
                                        <key>net.if.out.errorsV3[ifOutErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv3</host>
                                        <key>net.if.in.errorsV3[ifInErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv3</host>
                                        <key>net.if.out.discardsV3[ifOutDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces SNMPv3</host>
                                        <key>net.if.in.discardsV3[ifInDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$IF.ERRORS.WARN}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$IF.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$IFCONTROL}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.MATCHES}</macro>
                    <value>^.*</value>
                    <description>Ignore notPresent(6)</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</macro>
                    <value>^2$</value>
                    <description>Ignore down(2) administrative status</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
                    <value>(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})</value>
                    <description>Filter out loopbacks, nulls, docker veth links and docker0 bridge by default</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</macro>
                    <value>^6$</value>
                    <description>Ignore notPresent(6)</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Network interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                                <host>Template Module Interfaces SNMPv3</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Module Interfaces Windows SNMPv2</template>
            <name>Template Module Interfaces Windows SNMPv2</name>
            <description>Template Interfaces Windows&#13;
&#13;
MIBs used:&#13;
IF-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: 32bit counters are used in this template (since 64bit are not supported by Windows OS). If busy interfaces return incorrect bits sent/received - set update interval to 1m or less.&#13;
&#13;
Template tooling version used: 0.33</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interfaces discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#IFOPERSTATUS},1.3.6.1.2.1.2.2.1.8,{#IFADMINSTATUS},1.3.6.1.2.1.2.2.1.7,{#IFALIAS},1.3.6.1.2.1.31.1.1.1.18,{#IFNAME},1.3.6.1.2.1.31.1.1.1.1,{#IFDESCR},1.3.6.1.2.1.2.2.1.2,{#IFTYPE},1.3.6.1.2.1.2.2.1.3]</snmp_oid>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFADMINSTATUS}</macro>
                                <value>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.MATCHES}</value>
                                <formulaid>I</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>J</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.MATCHES}</value>
                                <formulaid>G</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>H</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.MATCHES}</value>
                                <formulaid>K</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFTYPE}</macro>
                                <value>{$NET.IF.IFTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>L</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering interfaces from IF-MIB.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of inbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.14.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of inbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits received</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.in[ifInOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets received on the interface,including framing characters. Discontinuities in the value of this counter can occur at re-initialization of the management system, and atother times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
The number of outbound packets which were chosen to be discarded&#13;
even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.&#13;
One possible reason for discarding such a packet could be to free up buffer space.&#13;
Discontinuities in the value of this counter can occur at re-initialization of the management system,&#13;
and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.20.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <description>MIB: IF-MIB&#13;
For packet-oriented interfaces, the number of outbound packets that contained errors preventing them from being deliverable to a higher-layer protocol.  For character-oriented or fixed-length interfaces, the number of outbound transmission units that contained errors preventing them from being deliverable to a higher-layer protocol. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits sent</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.16.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.out[ifOutOctets.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
The total number of octets transmitted out of the interface, including framing characters. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.31.1.1.1.15.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.speed[ifHighSpeed.{#SNMPINDEX}]</key>
                            <delay>5m</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <units>bps</units>
                            <description>MIB: IF-MIB&#13;
An estimate of the interface's current bandwidth in units of 1,000,000 bits per second. If this object reports a value of `n' then the speed of the interface is somewhere in the range of `n-500,000' to`n+499,999'.  For interfaces which do not vary in bandwidth or for those where no accurate estimation can be made, this object should contain the nominal bandwidth. For a sub-layer which has no concept of bandwidth, this object should be zero.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1000000</params>
                                </step>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1h</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Operational status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.status[ifOperStatus.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <trends>0</trends>
                            <description>MIB: IF-MIB&#13;
The current operational state of the interface.&#13;
- The testing(3) state indicates that no operational packet scan be passed&#13;
- If ifAdminStatus is down(2) then ifOperStatus should be down(2)&#13;
- If ifAdminStatus is changed to up(1) then ifOperStatus should change to up(1) if the interface is ready to transmit and receive network traffic&#13;
- It should change todormant(5) if the interface is waiting for external actions (such as a serial line waiting for an incoming connection)&#13;
- It should remain in the down(2) state if and only if there is a fault that prevents it from going to the up(1) state&#13;
- It should remain in the notPresent(6) state if the interface has missing(typically, hardware) components.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>This trigger expression works as follows:&#13;
1. Can be triggered if operations status is down.&#13;
2. {$IFCONTROL:&quot;{#IFNAME}&quot;}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.&#13;
3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)&#13;
&#13;
WARNING: if closed manually - won't fire again on next poll, because of .diff.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Interface type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.2.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>net.if.type[ifType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <description>MIB: IF-MIB&#13;
The type of interface.&#13;
Additional values for ifType are assigned by the Internet Assigned NumbersAuthority (IANA),&#13;
through updating the syntax of the IANAifType textual convention.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifType</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces Windows SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].change()}&lt;0 and {Template Module Interfaces Windows SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0&#13;
and (&#13;
{Template Module Interfaces Windows SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=6 or&#13;
{Template Module Interfaces Windows SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=7 or&#13;
{Template Module Interfaces Windows SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=11 or&#13;
{Template Module Interfaces Windows SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=62 or&#13;
{Template Module Interfaces Windows SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=69 or&#13;
{Template Module Interfaces Windows SNMPv2:net.if.type[ifType.{#SNMPINDEX}].last()}=117&#13;
)&#13;
and&#13;
({Template Module Interfaces Windows SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template Module Interfaces Windows SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].change()}&gt;0 and {Template Module Interfaces Windows SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].prev()}&gt;0) or&#13;
({Template Module Interfaces Windows SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2)</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces Windows SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces Windows SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces Windows SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>({Template Module Interfaces Windows SNMPv2:net.if.in[ifInOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces Windows SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()} or&#13;
{Template Module Interfaces Windows SNMPv2:net.if.out[ifOutOctets.{#SNMPINDEX}].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Interfaces Windows SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}) and&#13;
{Template Module Interfaces Windows SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces Windows SNMPv2:net.if.in[ifInOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces Windows SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()} and&#13;
{Template Module Interfaces Windows SNMPv2:net.if.out[ifOutOctets.{#SNMPINDEX}].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Interfaces Windows SNMPv2:net.if.speed[ifHighSpeed.{#SNMPINDEX}].last()}</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High bandwidth usage ( &gt; {$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}% )</name>
                            <opdata>In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>The network interface utilization is close to its estimated maximum bandwidth.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces Windows SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces Windows SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces Windows SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Interfaces Windows SNMPv2:net.if.in.errors[ifInErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}&#13;
or {Template Module Interfaces Windows SNMPv2:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Interfaces Windows SNMPv2:net.if.in.errors[ifInErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Template Module Interfaces Windows SNMPv2:net.if.out.errors[ifOutErrors.{#SNMPINDEX}].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High error rate ( &gt; {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</name>
                            <opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>Recovers when below 80% of {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Interfaces Windows SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}=2 and {Template Module Interfaces Windows SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Interfaces Windows SNMPv2:net.if.status[ifOperStatus.{#SNMPINDEX}].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Interfaces Windows SNMPv2</host>
                                        <key>net.if.in[ifInOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Interfaces Windows SNMPv2</host>
                                        <key>net.if.out[ifOutOctets.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Windows SNMPv2</host>
                                        <key>net.if.out.errors[ifOutErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Windows SNMPv2</host>
                                        <key>net.if.in.errors[ifInErrors.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Windows SNMPv2</host>
                                        <key>net.if.out.discards[ifOutDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Interfaces Windows SNMPv2</host>
                                        <key>net.if.in.discards[ifInDiscards.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$IF.ERRORS.WARN}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$IF.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$IFCONTROL}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFADMINSTATUS.NOT_MATCHES}</macro>
                    <value>^2$</value>
                    <description>Ignore down(2) administrative status</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.NOT_MATCHES}</macro>
                    <value>Miniport|Virtual|Teredo|Kernel|Loopback|Bluetooth|HTTPS|6to4|QoS|Layer|isatap|ISATAP</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
                    <value>(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})</value>
                    <description>Filter out loopbacks, nulls, docker veth links and docker0 bridge by default</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</macro>
                    <value>^6$</value>
                    <description>Ignore notPresent(6)</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFTYPE.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Network interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                                <host>Template Module Interfaces Windows SNMPv2</host>
                            </resource>
                            <width>750</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Module Linux block devices by Zabbix agent</template>
            <name>Template Module Linux block devices by Zabbix agent</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Storage</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Get /proc/diskstats</name>
                    <key>vfs.file.contents[/proc/diskstats]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>var parsed = value.split(&quot;\n&quot;).reduce(function(acc, x, i) {
  parts = x.trim().split(/ +/)
  acc[&quot;values&quot;][parts[2]] = parts
  acc[&quot;lld&quot;].push({&quot;{#DEVNAME}&quot;:parts[2]})
  return acc;
}, {&quot;values&quot;:{}, &quot;lld&quot;: []});

return JSON.stringify(parsed);</params>
                        </step>
                    </preprocessing>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Block devices discovery</name>
                    <type>DEPENDENT</type>
                    <key>vfs.dev.discovery</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk average queue size (avgqu-sz)</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.queue_size[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][13]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.001</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read request avg waiting time (r_await)</name>
                            <type>CALCULATED</type>
                            <key>vfs.dev.read.await[{#DEVNAME}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!ms</units>
                            <params>(last(&quot;vfs.dev.read.time.rate[{#DEVNAME}]&quot;)/(last(&quot;vfs.dev.read.rate[{#DEVNAME}]&quot;)+(last(&quot;vfs.dev.read.rate[{#DEVNAME}]&quot;)=0)))*1000*(last(&quot;vfs.dev.read.rate[{#DEVNAME}]&quot;) &gt; 0)</params>
                            <description>This formula contains two boolean expressions that evaluates to 1 or 0 in order to set calculated metric to zero and to avoid division by zero exception.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read rate</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.read.rate[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!r/s</units>
                            <description>r/s. The number (after merges) of read requests completed per second for the device.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][3]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read time (rate)</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.read.time.rate[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of total read time counter. Used in r_await calculation</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][6]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.001</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk utilization</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.util[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][12]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.1</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write request avg waiting time (w_await)</name>
                            <type>CALCULATED</type>
                            <key>vfs.dev.write.await[{#DEVNAME}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!ms</units>
                            <params>(last(&quot;vfs.dev.write.time.rate[{#DEVNAME}]&quot;)/(last(&quot;vfs.dev.write.rate[{#DEVNAME}]&quot;)+(last(&quot;vfs.dev.write.rate[{#DEVNAME}]&quot;)=0)))*1000*(last(&quot;vfs.dev.write.rate[{#DEVNAME}]&quot;) &gt; 0)</params>
                            <description>This formula contains two boolean expressions that evaluates to 1 or 0 in order to set calculated metric to zero and to avoid division by zero exception.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write rate</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.write.rate[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!w/s</units>
                            <description>w/s. The number (after merges) of write requests completed per second for the device.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][7]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write time (rate)</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.write.time.rate[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of total write time counter. Used in w_await calculation</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][10]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.001</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Linux block devices by Zabbix agent:vfs.dev.read.await[{#DEVNAME}].min(15m)} &gt; {$VFS.DEV.READ.AWAIT.WARN:&quot;{#DEVNAME}&quot;} or {Template Module Linux block devices by Zabbix agent:vfs.dev.write.await[{#DEVNAME}].min(15m)} &gt; {$VFS.DEV.WRITE.AWAIT.WARN:&quot;{#DEVNAME}&quot;}</expression>
                            <name>{#DEVNAME}: Disk read/write request response are too high (read &gt; {$VFS.DEV.READ.AWAIT.WARN:&quot;{#DEVNAME}&quot;} ms for 15m or write &gt; {$VFS.DEV.WRITE.AWAIT.WARN:&quot;{#DEVNAME}&quot;} ms for 15m)</name>
                            <priority>WARNING</priority>
                            <description>This trigger might indicate disk {#DEVNAME} saturation.</description>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk average waiting time</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent</host>
                                        <key>vfs.dev.read.await[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent</host>
                                        <key>vfs.dev.write.await[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk read/write rates</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent</host>
                                        <key>vfs.dev.read.rate[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent</host>
                                        <key>vfs.dev.write.rate[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk utilization and queue</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent</host>
                                        <key>vfs.dev.queue_size[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent</host>
                                        <key>vfs.dev.util[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>vfs.file.contents[/proc/diskstats]</key>
                    </master_item>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.lld</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.MATCHES}</macro>
                    <value>.+</value>
                    <description>This macro is used in block devices discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.NOT_MATCHES}</macro>
                    <value>^(loop[0-9]*|sd[a-z][0-9]+|nbd[0-9]+|sr[0-9]+|fd[0-9]+|dm-[0-9]+|ram[0-9]+)</value>
                    <description>This macro is used in block devices discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.READ.AWAIT.WARN}</macro>
                    <value>20</value>
                    <description>Disk read average response time (in ms) before the trigger would fire</description>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.WRITE.AWAIT.WARN}</macro>
                    <value>20</value>
                    <description>Disk write average response time (in ms) before the trigger would fire</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux block devices by Zabbix agent active</template>
            <name>Template Module Linux block devices by Zabbix agent active</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Storage</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Get /proc/diskstats</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vfs.file.contents[/proc/diskstats]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>var parsed = value.split(&quot;\n&quot;).reduce(function(acc, x, i) {
  parts = x.trim().split(/ +/)
  acc[&quot;values&quot;][parts[2]] = parts
  acc[&quot;lld&quot;].push({&quot;{#DEVNAME}&quot;:parts[2]})
  return acc;
}, {&quot;values&quot;:{}, &quot;lld&quot;: []});

return JSON.stringify(parsed);</params>
                        </step>
                    </preprocessing>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Block devices discovery</name>
                    <type>DEPENDENT</type>
                    <key>vfs.dev.discovery</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk average queue size (avgqu-sz)</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.queue_size[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][13]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.001</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read request avg waiting time (r_await)</name>
                            <type>CALCULATED</type>
                            <key>vfs.dev.read.await[{#DEVNAME}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!ms</units>
                            <params>(last(&quot;vfs.dev.read.time.rate[{#DEVNAME}]&quot;)/(last(&quot;vfs.dev.read.rate[{#DEVNAME}]&quot;)+(last(&quot;vfs.dev.read.rate[{#DEVNAME}]&quot;)=0)))*1000*(last(&quot;vfs.dev.read.rate[{#DEVNAME}]&quot;) &gt; 0)</params>
                            <description>This formula contains two boolean expressions that evaluates to 1 or 0 in order to set calculated metric to zero and to avoid division by zero exception.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read rate</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.read.rate[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!r/s</units>
                            <description>r/s. The number (after merges) of read requests completed per second for the device.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][3]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read time (rate)</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.read.time.rate[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of total read time counter. Used in r_await calculation</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][6]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.001</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk utilization</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.util[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][12]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.1</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write request avg waiting time (w_await)</name>
                            <type>CALCULATED</type>
                            <key>vfs.dev.write.await[{#DEVNAME}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!ms</units>
                            <params>(last(&quot;vfs.dev.write.time.rate[{#DEVNAME}]&quot;)/(last(&quot;vfs.dev.write.rate[{#DEVNAME}]&quot;)+(last(&quot;vfs.dev.write.rate[{#DEVNAME}]&quot;)=0)))*1000*(last(&quot;vfs.dev.write.rate[{#DEVNAME}]&quot;) &gt; 0)</params>
                            <description>This formula contains two boolean expressions that evaluates to 1 or 0 in order to set calculated metric to zero and to avoid division by zero exception.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write rate</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.write.rate[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!w/s</units>
                            <description>w/s. The number (after merges) of write requests completed per second for the device.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][7]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write time (rate)</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.write.time.rate[{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of total write time counter. Used in w_await calculation</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$.values['{#DEVNAME}'][10]</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.001</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>vfs.file.contents[/proc/diskstats]</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Linux block devices by Zabbix agent active:vfs.dev.read.await[{#DEVNAME}].min(45m)} &gt; {$VFS.DEV.READ.AWAIT.WARN:&quot;{#DEVNAME}&quot;} or {Template Module Linux block devices by Zabbix agent active:vfs.dev.write.await[{#DEVNAME}].min(45m)} &gt; {$VFS.DEV.WRITE.AWAIT.WARN:&quot;{#DEVNAME}&quot;}</expression>
                            <name>{#DEVNAME}: Disk read/write request response are too high (read &gt; {$VFS.DEV.READ.AWAIT.WARN:&quot;{#DEVNAME}&quot;} ms for 45m or write &gt; {$VFS.DEV.WRITE.AWAIT.WARN:&quot;{#DEVNAME}&quot;} ms for 45m)</name>
                            <priority>WARNING</priority>
                            <description>This trigger might indicate disk {#DEVNAME} saturation.</description>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk average waiting time</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent active</host>
                                        <key>vfs.dev.read.await[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent active</host>
                                        <key>vfs.dev.write.await[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk read/write rates</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent active</host>
                                        <key>vfs.dev.read.rate[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent active</host>
                                        <key>vfs.dev.write.rate[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk utilization and queue</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent active</host>
                                        <key>vfs.dev.queue_size[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Linux block devices by Zabbix agent active</host>
                                        <key>vfs.dev.util[{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>vfs.file.contents[/proc/diskstats]</key>
                    </master_item>
                    <preprocessing>
                        <step>
                            <type>JSONPATH</type>
                            <params>$.lld</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.MATCHES}</macro>
                    <value>.+</value>
                    <description>This macro is used in block devices discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.NOT_MATCHES}</macro>
                    <value>^(loop[0-9]*|sd[a-z][0-9]+|nbd[0-9]+|sr[0-9]+|fd[0-9]+|dm-[0-9]+|ram[0-9]+)</value>
                    <description>This macro is used in block devices discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.READ.AWAIT.WARN}</macro>
                    <value>20</value>
                    <description>Disk read average response time (in ms) before the trigger would fire</description>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.WRITE.AWAIT.WARN}</macro>
                    <value>20</value>
                    <description>Disk write average response time (in ms) before the trigger would fire</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux block devices SNMPv2</template>
            <name>Template Module Linux block devices SNMPv2</name>
            <description>MIBs used:&#13;
UCD-DISKIO-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Storage</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Block devices discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#DEVNAME},1.3.6.1.4.1.2021.13.15.1.1.2]</snmp_oid>
                    <key>vfs.dev.discovery[snmp]</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Block devices are discovered from UCD-DISKIO-MIB::diskIOTable (http://net-snmp.sourceforge.net/docs/mibs/ucdDiskIOMIB.html#diskIOTable)</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read rate</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.13.15.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.dev.read.rate[diskIOReads.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!r/s</units>
                            <description>MIB: UCD-DISKIO-MIB&#13;
The number of read accesses from this device since boot.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.13.15.1.1.9.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.dev.util[diskIOLA1.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-DISKIO-MIB&#13;
The 1 minute average load of disk (%)</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write rate</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.13.15.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.dev.write.rate[diskIOWrites.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!w/s</units>
                            <description>MIB: UCD-DISKIO-MIB&#13;
The number of write accesses from this device since boot.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk read/write rates</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Linux block devices SNMPv2</host>
                                        <key>vfs.dev.read.rate[diskIOReads.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Linux block devices SNMPv2</host>
                                        <key>vfs.dev.write.rate[diskIOWrites.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.MATCHES}</macro>
                    <value>.+</value>
                    <description>This macro is used in block devices discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.NOT_MATCHES}</macro>
                    <value>^(loop[0-9]*|sd[a-z][0-9]+|nbd[0-9]+|sr[0-9]+|fd[0-9]+|dm-[0-9]+|ram[0-9]+)</value>
                    <description>This macro is used in block devices discovery. Can be overridden on the host or linked template level</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux CPU by Zabbix agent</template>
            <name>Template Module Linux CPU by Zabbix agent</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Interrupts per second</name>
                    <key>system.cpu.intr</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Load average (1m avg)</name>
                    <key>system.cpu.load[all,avg1]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Load average (5m avg)</name>
                    <key>system.cpu.load[all,avg5]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Load average (15m avg)</name>
                    <key>system.cpu.load[all,avg15]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of CPUs</name>
                    <key>system.cpu.num</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Context switches per second</name>
                    <key>system.cpu.switches</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>CPU utilization</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.util</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>CPU utilization in %</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//Calculate utilization
return (100 - value)</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>system.cpu.util[,idle]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <dependencies>
                                <dependency>
                                    <name>Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)</name>
                                    <expression>{Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg1].min(5m)}/{Template Module Linux CPU by Zabbix agent:system.cpu.num.last()}&gt;{$LOAD_AVG_PER_CPU.MAX.WARN}&#13;
and {Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg5].last()}&gt;0&#13;
and {Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg15].last()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU guest time</name>
                    <key>system.cpu.util[,guest]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Guest  time (time  spent  running  a  virtual  CPU  for  a  guest  operating  system)</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU guest nice time</name>
                    <key>system.cpu.util[,guest_nice]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU idle time</name>
                    <key>system.cpu.util[,idle]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent doing nothing.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU interrupt time</name>
                    <key>system.cpu.util[,interrupt]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The amount of time the CPU has been servicing hardware interrupts.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU iowait time</name>
                    <key>system.cpu.util[,iowait]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Amount of time the CPU has been waiting for I/O to complete.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU nice time</name>
                    <key>system.cpu.util[,nice]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that have been niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU softirq time</name>
                    <key>system.cpu.util[,softirq]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The amount of time the CPU has been servicing software interrupts.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU steal time</name>
                    <key>system.cpu.util[,steal]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The amount of CPU 'stolen' from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU system time</name>
                    <key>system.cpu.util[,system]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running the kernel and its processes.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU user time</name>
                    <key>system.cpu.util[,user]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that are not niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$LOAD_AVG_PER_CPU.MAX.WARN}</macro>
                    <value>1.5</value>
                    <description>Load per CPU considered sustainable. Tune if needed.</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux CPU by Zabbix agent active</template>
            <name>Template Module Linux CPU by Zabbix agent active</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Interrupts per second</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.intr</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Load average (1m avg)</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.load[all,avg1]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Load average (5m avg)</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.load[all,avg5]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Load average (15m avg)</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.load[all,avg15]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of CPUs</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.num</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Context switches per second</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.switches</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>CPU utilization</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.util</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>CPU utilization in %</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//Calculate utilization
return (100 - value)</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>system.cpu.util[,idle]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <dependencies>
                                <dependency>
                                    <name>Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)</name>
                                    <expression>{Template Module Linux CPU by Zabbix agent active:system.cpu.load[all,avg1].min(5m)}/{Template Module Linux CPU by Zabbix agent active:system.cpu.num.last()}&gt;{$LOAD_AVG_PER_CPU.MAX.WARN}&#13;
and {Template Module Linux CPU by Zabbix agent active:system.cpu.load[all,avg5].last()}&gt;0&#13;
and {Template Module Linux CPU by Zabbix agent active:system.cpu.load[all,avg15].last()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU guest time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.util[,guest]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Guest  time (time  spent  running  a  virtual  CPU  for  a  guest  operating  system)</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU guest nice time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.util[,guest_nice]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU idle time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.util[,idle]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent doing nothing.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU interrupt time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.util[,interrupt]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The amount of time the CPU has been servicing hardware interrupts.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU iowait time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.util[,iowait]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Amount of time the CPU has been waiting for I/O to complete.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU nice time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.util[,nice]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that have been niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU softirq time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.util[,softirq]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The amount of time the CPU has been servicing software interrupts.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU steal time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.util[,steal]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The amount of CPU 'stolen' from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU system time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.util[,system]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running the kernel and its processes.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU user time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.util[,user]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that are not niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$LOAD_AVG_PER_CPU.MAX.WARN}</macro>
                    <value>1.5</value>
                    <description>Load per CPU considered sustainable. Tune if needed.</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux CPU SNMPv2</template>
            <name>Template Module Linux CPU SNMPv2</name>
            <description>MIBs used:&#13;
HOST-RESOURCES-MIB&#13;
UCD-SNMP-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Interrupts per second</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2021.11.59.0</snmp_oid>
                    <key>system.cpu.intr[ssRawInterrupts.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Load average (1m avg)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2021.10.1.3[&quot;index&quot;,&quot;1.3.6.1.4.1.2021.10.1.2&quot;, &quot;Load-1&quot;]</snmp_oid>
                    <key>system.cpu.load.avg1[laLoad.1]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>MIB: UCD-SNMP-MIB</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Load average (5m avg)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2021.10.1.3[&quot;index&quot;,&quot;1.3.6.1.4.1.2021.10.1.2&quot;, &quot;Load-5&quot;]</snmp_oid>
                    <key>system.cpu.load.avg5[laLoad.2]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>MIB: UCD-SNMP-MIB</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Load average (15m avg)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2021.10.1.3[&quot;index&quot;,&quot;1.3.6.1.4.1.2021.10.1.2&quot;, &quot;Load-15&quot;]</snmp_oid>
                    <key>system.cpu.load.avg15[laLoad.3]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>MIB: UCD-SNMP-MIB</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of CPUs</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.25.3.3.1.1]</snmp_oid>
                    <key>system.cpu.num[snmp]</key>
                    <history>7d</history>
                    <description>MIB: HOST-RESOURCES-MIB&#13;
Count the number of CPU cores by counting number of cores discovered in hrProcessorTable using LLD</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//count the number of cores
return JSON.parse(value).length;
</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Context switches per second</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2021.11.60.0</snmp_oid>
                    <key>system.cpu.switches[ssRawContexts.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>CPU discovery</name>
                    <type>DEPENDENT</type>
                    <key>cpu.discovery[snmp]</key>
                    <delay>0</delay>
                    <description>This discovery will create set of per core CPU metrics from UCD-SNMP-MIB, using {#CPU.COUNT} in preprocessing. That's the only reason why LLD is used.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>CPU guest time</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.11.65.0</snmp_oid>
                            <key>system.cpu.guest[ssCpuRawGuest.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-SNMP-MIB&#13;
Guest  time (time  spent  running  a  virtual  CPU  for  a  guest  operating  system)</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//to get utilization in %, divide by N, where N is number of cores.
return value/{#CPU.COUNT}
</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU guest nice time</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.11.66.0</snmp_oid>
                            <key>system.cpu.guest_nice[ssCpuRawGuestNice.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-SNMP-MIB&#13;
Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//to get utilization in %, divide by N, where N is number of cores.
return value/{#CPU.COUNT}
</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU idle time</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.11.53.0</snmp_oid>
                            <key>system.cpu.idle[ssCpuRawIdle.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-SNMP-MIB&#13;
The time the CPU has spent doing nothing.</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//to get utilization in %, divide by N, where N is number of cores.
return value/{#CPU.COUNT}
</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU interrupt time</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.11.56.0</snmp_oid>
                            <key>system.cpu.interrupt[ssCpuRawInterrupt.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-SNMP-MIB&#13;
The amount of time the CPU has been servicing hardware interrupts.</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//to get utilization in %, divide by N, where N is number of cores.
return value/{#CPU.COUNT}
</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU iowait time</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.11.54.0</snmp_oid>
                            <key>system.cpu.iowait[ssCpuRawWait.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-SNMP-MIB&#13;
Amount of time the CPU has been waiting for I/O to complete.</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//to get utilization in %, divide by N, where N is number of cores.
return value/{#CPU.COUNT}
</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU nice time</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.11.51.0</snmp_oid>
                            <key>system.cpu.nice[ssCpuRawNice.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-SNMP-MIB&#13;
The time the CPU has spent running users' processes that have been niced.</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//to get utilization in %, divide by N, where N is number of cores.
return value/{#CPU.COUNT}
</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU softirq time</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.11.61.0</snmp_oid>
                            <key>system.cpu.softirq[ssCpuRawSoftIRQ.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-SNMP-MIB&#13;
The amount of time the CPU has been servicing software interrupts.</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//to get utilization in %, divide by N, where N is number of cores.
return value/{#CPU.COUNT}
</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU steal time</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.11.64.0</snmp_oid>
                            <key>system.cpu.steal[ssCpuRawSteal.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-SNMP-MIB&#13;
The amount of CPU 'stolen' from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//to get utilization in %, divide by N, where N is number of cores.
return value/{#CPU.COUNT}
</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU system time</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.11.52.0</snmp_oid>
                            <key>system.cpu.system[ssCpuRawSystem.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-SNMP-MIB&#13;
The time the CPU has spent running the kernel and its processes.</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//to get utilization in %, divide by N, where N is number of cores.
return value/{#CPU.COUNT}
</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU user time</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.11.50.0</snmp_oid>
                            <key>system.cpu.user[ssCpuRawUser.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-SNMP-MIB&#13;
The time the CPU has spent running users' processes that are not niced.</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//to get utilization in %, divide by N, where N is number of cores.
return value/{#CPU.COUNT}
</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU utilization</name>
                            <type>DEPENDENT</type>
                            <key>system.cpu.util[snmp,{#SNMPINDEX}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>CPU utilization in %</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//Calculate utilization
return (100 - value)
</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>system.cpu.idle[ssCpuRawIdle.{#SNMPINDEX}]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                    <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>CPU usage{#SINGLETON}</name>
                            <type>STACKED</type>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <ymax_type_1>FIXED</ymax_type_1>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Linux CPU SNMPv2</host>
                                        <key>system.cpu.system[ssCpuRawSystem.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Linux CPU SNMPv2</host>
                                        <key>system.cpu.user[ssCpuRawUser.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <item>
                                        <host>Template Module Linux CPU SNMPv2</host>
                                        <key>system.cpu.nice[ssCpuRawNice.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <item>
                                        <host>Template Module Linux CPU SNMPv2</host>
                                        <key>system.cpu.iowait[ssCpuRawWait.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <item>
                                        <host>Template Module Linux CPU SNMPv2</host>
                                        <key>system.cpu.steal[ssCpuRawSteal.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <item>
                                        <host>Template Module Linux CPU SNMPv2</host>
                                        <key>system.cpu.interrupt[ssCpuRawInterrupt.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>6</sortorder>
                                    <color>AC8C14</color>
                                    <item>
                                        <host>Template Module Linux CPU SNMPv2</host>
                                        <key>system.cpu.softirq[ssCpuRawSoftIRQ.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>7</sortorder>
                                    <color>611F27</color>
                                    <item>
                                        <host>Template Module Linux CPU SNMPv2</host>
                                        <key>system.cpu.guest[ssCpuRawGuest.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>8</sortorder>
                                    <color>F230E0</color>
                                    <item>
                                        <host>Template Module Linux CPU SNMPv2</host>
                                        <key>system.cpu.guest_nice[ssCpuRawGuestNice.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>CPU utilization{#SINGLETON}</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 Module Linux CPU SNMPv2</host>
                                        <key>system.cpu.util[snmp,{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>system.cpu.num[snmp]</key>
                    </master_item>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//count the number of CPU cores
return JSON.stringify([{&quot;{#CPU.COUNT}&quot;: value, &quot;{#SNMPINDEX}&quot;: 0, &quot;{#SINGLETON}&quot;:&quot;&quot;}])
</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$LOAD_AVG_PER_CPU.MAX.WARN}</macro>
                    <value>1.5</value>
                    <description>Load per CPU considered sustainable. Tune if needed.</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux filesystems by Zabbix agent</template>
            <name>Template Module Linux filesystems by Zabbix agent</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Filesystems</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <key>vfs.fs.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of file systems of different types.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#FSNAME}: Free inodes in %</name>
                            <key>vfs.fs.inode[{#FSNAME},pfree]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}</expression>
                                    <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                    <opdata>Free inodes: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>It may become impossible to write to disk if there are no index nodes left.&#13;
As symptoms, 'No space left on device' or 'Disk is full' errors may be seen even though free space is available.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.WARN:&quot;{#FSNAME}&quot;}</expression>
                                    <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.WARN:&quot;{#FSNAME}&quot;}%)</name>
                                    <opdata>Free inodes: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>It may become impossible to write to disk if there are no index nodes left.&#13;
As symptoms, 'No space left on device' or 'Disk is full' errors may be seen even though free space is available.</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                            <expression>{Template Module Linux filesystems by Zabbix agent:vfs.fs.inode[{#FSNAME},pfree].min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Space utilization</name>
                            <key>vfs.fs.size[{#FSNAME},pused]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>Space utilization in % for {#FSNAME}</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Total space</name>
                            <key>vfs.fs.size[{#FSNAME},total]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>Total space in Bytes</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Used space</name>
                            <key>vfs.fs.size[{#FSNAME},used]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>Used storage in Bytes</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},used].last()})&lt;5G or {Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>AVERAGE</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 5G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},used].last()})&lt;10G or {Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is low (used &gt; {$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>WARNING</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 10G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                    <expression>{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},used].last()})&lt;5G or {Template Module Linux filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#FSNAME}: Disk space usage</name>
                            <width>600</width>
                            <height>340</height>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>969696</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template Module Linux filesystems by Zabbix agent</host>
                                        <key>vfs.fs.size[{#FSNAME},total]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>C80000</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <item>
                                        <host>Template Module Linux filesystems by Zabbix agent</host>
                                        <key>vfs.fs.size[{#FSNAME},used]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VFS.FS.FSNAME.MATCHES}</macro>
                    <value>.+</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSNAME.NOT_MATCHES}</macro>
                    <value>^(/dev|/sys|/run|/proc|.+/shm$)</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.MATCHES}</macro>
                    <value>^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.NOT_MATCHES}</macro>
                    <value>^\s$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.INODE.PFREE.MIN.CRIT}</macro>
                    <value>10</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.INODE.PFREE.MIN.WARN}</macro>
                    <value>20</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.WARN}</macro>
                    <value>80</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux filesystems by Zabbix agent active</template>
            <name>Template Module Linux filesystems by Zabbix agent active</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Filesystems</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vfs.fs.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of file systems of different types.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#FSNAME}: Free inodes in %</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>vfs.fs.inode[{#FSNAME},pfree]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}</expression>
                                    <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                    <opdata>Free inodes: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>It may become impossible to write to disk if there are no index nodes left.&#13;
As symptoms, 'No space left on device' or 'Disk is full' errors may be seen even though free space is available.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.WARN:&quot;{#FSNAME}&quot;}</expression>
                                    <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.WARN:&quot;{#FSNAME}&quot;}%)</name>
                                    <opdata>Free inodes: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>It may become impossible to write to disk if there are no index nodes left.&#13;
As symptoms, 'No space left on device' or 'Disk is full' errors may be seen even though free space is available.</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                            <expression>{Template Module Linux filesystems by Zabbix agent active:vfs.fs.inode[{#FSNAME},pfree].min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Space utilization</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>vfs.fs.size[{#FSNAME},pused]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>Space utilization in % for {#FSNAME}</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Total space</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>vfs.fs.size[{#FSNAME},total]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>Total space in Bytes</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Used space</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>vfs.fs.size[{#FSNAME},used]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>Used storage in Bytes</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},used].last()})&lt;5G or {Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>AVERAGE</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 5G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},used].last()})&lt;10G or {Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is low (used &gt; {$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>WARNING</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 10G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                    <expression>{Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},used].last()})&lt;5G or {Template Module Linux filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#FSNAME}: Disk space usage</name>
                            <width>600</width>
                            <height>340</height>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>969696</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template Module Linux filesystems by Zabbix agent active</host>
                                        <key>vfs.fs.size[{#FSNAME},total]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>C80000</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <item>
                                        <host>Template Module Linux filesystems by Zabbix agent active</host>
                                        <key>vfs.fs.size[{#FSNAME},used]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VFS.FS.FSNAME.MATCHES}</macro>
                    <value>.+</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSNAME.NOT_MATCHES}</macro>
                    <value>^(/dev|/sys|/run|/proc|.+/shm$)</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.MATCHES}</macro>
                    <value>^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.NOT_MATCHES}</macro>
                    <value>^\s$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.INODE.PFREE.MIN.CRIT}</macro>
                    <value>10</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.INODE.PFREE.MIN.WARN}</macro>
                    <value>20</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.WARN}</macro>
                    <value>80</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux filesystems SNMPv2</template>
            <name>Template Module Linux filesystems SNMPv2</name>
            <description>MIBs used:&#13;
HOST-RESOURCES-MIB&#13;
UCD-SNMP-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Storage</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#FSNAME},1.3.6.1.2.1.25.2.3.1.3,{#FSTYPE},1.3.6.1.2.1.25.2.3.1.2,{#ALLOC_UNITS},1.3.6.1.2.1.25.2.3.1.4]</snmp_oid>
                    <key>vfs.fs.discovery[snmp]</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>HOST-RESOURCES-MIB::hrStorage discovery with storage filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#FSNAME}: Free inodes in %</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2021.9.1.10[&quot;index&quot;,&quot;1.3.6.1.4.1.2021.9.1.2&quot;, &quot;{#FSNAME}&quot;]</snmp_oid>
                            <key>vfs.fs.inode.pfree[dskPercentNode.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: UCD-SNMP-MIB&#13;
If having problems collecting this item make sure access to UCD-SNMP-MIB is allowed.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>return (100-value);</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}</expression>
                                    <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                    <opdata>Free inodes: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>It may become impossible to write to disk if there are no index nodes left.&#13;
As symptoms, 'No space left on device' or 'Disk is full' errors may be seen even though free space is available.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.WARN:&quot;{#FSNAME}&quot;}</expression>
                                    <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.WARN:&quot;{#FSNAME}&quot;}%)</name>
                                    <opdata>Free inodes: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>It may become impossible to write to disk if there are no index nodes left.&#13;
As symptoms, 'No space left on device' or 'Disk is full' errors may be seen even though free space is available.</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                            <expression>{Template Module Linux filesystems SNMPv2:vfs.fs.inode.pfree[dskPercentNode.{#SNMPINDEX}].min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Space utilization</name>
                            <type>CALCULATED</type>
                            <key>vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <params>(last(&quot;vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]&quot;)/last(&quot;vfs.fs.total[hrStorageSize.{#SNMPINDEX}]&quot;))*100</params>
                            <description>Space utilization in % for {#FSNAME}</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Total space</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.fs.total[hrStorageSize.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: HOST-RESOURCES-MIB&#13;
The size of the storage represented by this entry, in units of hrStorageAllocationUnits.&#13;
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.&#13;
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>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>{#ALLOC_UNITS}</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Used space</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: HOST-RESOURCES-MIB&#13;
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>{#ALLOC_UNITS}</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Linux filesystems SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Linux filesystems SNMPv2:vfs.fs.total[hrStorageSize.{#SNMPINDEX}].last()}-{Template Module Linux filesystems SNMPv2:vfs.fs.used[hrStorageUsed.{#SNMPINDEX}].last()})&lt;5G or {Template Module Linux filesystems SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>AVERAGE</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 5G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Linux filesystems SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].last()}&gt;{$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Linux filesystems SNMPv2:vfs.fs.total[hrStorageSize.{#SNMPINDEX}].last()}-{Template Module Linux filesystems SNMPv2:vfs.fs.used[hrStorageUsed.{#SNMPINDEX}].last()})&lt;10G or {Template Module Linux filesystems SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is low (used &gt; {$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>WARNING</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 10G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                    <expression>{Template Module Linux filesystems SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Linux filesystems SNMPv2:vfs.fs.total[hrStorageSize.{#SNMPINDEX}].last()}-{Template Module Linux filesystems SNMPv2:vfs.fs.used[hrStorageUsed.{#SNMPINDEX}].last()})&lt;5G or {Template Module Linux filesystems SNMPv2:vfs.fs.pused[storageUsedPercentage.{#SNMPINDEX}].timeleft(1h,,100)}&lt;1d)</expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#FSNAME}: Disk space usage</name>
                            <width>600</width>
                            <height>340</height>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>969696</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template Module Linux filesystems SNMPv2</host>
                                        <key>vfs.fs.total[hrStorageSize.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>C80000</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <item>
                                        <host>Template Module Linux filesystems SNMPv2</host>
                                        <key>vfs.fs.used[hrStorageUsed.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VFS.FS.FSNAME.MATCHES}</macro>
                    <value>.+</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSNAME.NOT_MATCHES}</macro>
                    <value>^(/dev|/sys|/run|/proc|.+/shm$)</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.MATCHES}</macro>
                    <value>.*(\.4|\.9|hrStorageFixedDisk|hrStorageFlashMemory)$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.NOT_MATCHES}</macro>
                    <value>^\s$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.INODE.PFREE.MIN.CRIT}</macro>
                    <value>10</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.INODE.PFREE.MIN.WARN}</macro>
                    <value>20</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.WARN}</macro>
                    <value>80</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux generic by Zabbix agent</template>
            <name>Template Module Linux generic by Zabbix agent</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Security</name>
                </application>
                <application>
                    <name>Status</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Maximum number of open file descriptors</name>
                    <key>kernel.maxfiles</key>
                    <delay>1h</delay>
                    <history>7d</history>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;{$KERNEL.MAXFILES.MIN}</expression>
                            <name>Configured max number of open filedescriptors is too low (&lt; {$KERNEL.MAXFILES.MIN})</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Maximum number of processes</name>
                    <key>kernel.maxproc</key>
                    <delay>1h</delay>
                    <history>7d</history>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;{$KERNEL.MAXPROC.MIN}</expression>
                            <name>Configured max number of processes is too low (&lt; {$KERNEL.MAXPROC.MIN})</name>
                            <priority>INFO</priority>
                            <dependencies>
                                <dependency>
                                    <name>Getting closer to process limit (over 80% used)</name>
                                    <expression>{Template Module Linux generic by Zabbix agent:proc.num.last()}/{Template Module Linux generic by Zabbix agent:kernel.maxproc.last()}*100&gt;80</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of processes</name>
                    <key>proc.num</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of running processes</name>
                    <key>proc.num[,,run]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System boot time</name>
                    <key>system.boottime</key>
                    <delay>15m</delay>
                    <history>7d</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System name</name>
                    <key>system.hostname</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System host name.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>System name has changed (new name: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>System name has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System local time</name>
                    <key>system.localtime</key>
                    <history>7d</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{fuzzytime({$SYSTEM.FUZZYTIME.MAX})}=0</expression>
                            <name>System time is out of sync (diff with Zabbix server &gt; {$SYSTEM.FUZZYTIME.MAX}s)</name>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Operating system architecture</name>
                    <key>system.sw.arch</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Operating system</name>
                    <key>system.sw.os</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>System name has changed (new name: {ITEM.VALUE})</name>
                                    <expression>{Template Module Linux generic by Zabbix agent:system.hostname.diff()}=1 and {Template Module Linux generic by Zabbix agent:system.hostname.strlen()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Software installed</name>
                    <key>system.sw.packages</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System description</name>
                    <key>system.uname</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>The information as normally returned by 'uname -a'.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System uptime</name>
                    <key>system.uptime</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>{HOST.NAME} has been restarted (uptime &lt; 10m)</name>
                            <priority>WARNING</priority>
                            <description>The host uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of logged in users</name>
                    <key>system.users.num</key>
                    <history>7d</history>
                    <description>Number of users who are currently logged in.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Checksum of /etc/passwd</name>
                    <key>vfs.file.cksum[/etc/passwd]</key>
                    <delay>15m</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}&gt;0</expression>
                            <name>/etc/passwd has been changed</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Operating system description has changed</name>
                                    <expression>{Template Module Linux generic by Zabbix agent:system.sw.os.diff()}=1 and {Template Module Linux generic by Zabbix agent:system.sw.os.strlen()}&gt;0</expression>
                                </dependency>
                                <dependency>
                                    <name>System name has changed (new name: {ITEM.VALUE})</name>
                                    <expression>{Template Module Linux generic by Zabbix agent:system.hostname.diff()}=1 and {Template Module Linux generic by Zabbix agent:system.hostname.strlen()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$KERNEL.MAXFILES.MIN}</macro>
                    <value>256</value>
                </macro>
                <macro>
                    <macro>{$KERNEL.MAXPROC.MIN}</macro>
                    <value>1024</value>
                </macro>
                <macro>
                    <macro>{$SYSTEM.FUZZYTIME.MAX}</macro>
                    <value>60</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux generic by Zabbix agent active</template>
            <name>Template Module Linux generic by Zabbix agent active</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Security</name>
                </application>
                <application>
                    <name>Status</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Maximum number of open file descriptors</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>kernel.maxfiles</key>
                    <delay>1h</delay>
                    <history>7d</history>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;{$KERNEL.MAXFILES.MIN}</expression>
                            <name>Configured max number of open filedescriptors is too low (&lt; {$KERNEL.MAXFILES.MIN})</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Maximum number of processes</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>kernel.maxproc</key>
                    <delay>1h</delay>
                    <history>7d</history>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;{$KERNEL.MAXPROC.MIN}</expression>
                            <name>Configured max number of processes is too low (&lt; {$KERNEL.MAXPROC.MIN})</name>
                            <priority>INFO</priority>
                            <dependencies>
                                <dependency>
                                    <name>Getting closer to process limit (over 80% used)</name>
                                    <expression>{Template Module Linux generic by Zabbix agent active:proc.num.last()}/{Template Module Linux generic by Zabbix agent active:kernel.maxproc.last()}*100&gt;80</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of processes</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>proc.num</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of running processes</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>proc.num[,,run]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System boot time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.boottime</key>
                    <delay>15m</delay>
                    <history>7d</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System name</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.hostname</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System host name.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>System name has changed (new name: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>System name has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System local time</name>
                    <key>system.localtime</key>
                    <history>7d</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{fuzzytime({$SYSTEM.FUZZYTIME.MAX})}=0</expression>
                            <name>System time is out of sync (diff with Zabbix server &gt; {$SYSTEM.FUZZYTIME.MAX}s)</name>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>firewalld.service_check</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[firewall-cmd --state]</key>
                    <delay>1d</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System firewall status check</description>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Selinux Status Check</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.run[getenforce]</key>
                    <delay>1d</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>Check Selinux Status</description>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Operating system architecture</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.sw.arch</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.sw.os</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>System name has changed (new name: {ITEM.VALUE})</name>
                                    <expression>{Template Module Linux generic by Zabbix agent active:system.hostname.diff()}=1 and {Template Module Linux generic by Zabbix agent active:system.hostname.strlen()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Software installed</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.sw.packages</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System description</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.uname</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>The information as normally returned by 'uname -a'.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System uptime</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.uptime</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>{HOST.NAME} has been restarted (uptime &lt; 10m)</name>
                            <priority>WARNING</priority>
                            <description>The host uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of logged in users</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.users.num</key>
                    <history>7d</history>
                    <description>Number of users who are currently logged in.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Checksum of /etc/login</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vfs.file.cksum[/etc/login.defs]</key>
                    <delay>1d</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>Maximum number of days a password may be used. Minimum number of days allowed between password changes. Number of days warning given before a password expires.</description>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Checksum of /etc/pam.d/password-auth-ac</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vfs.file.cksum[/etc/pam.d/password-auth-ac]</key>
                    <delay>1d</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>Keep history of used passwords (the number of previous passwords which cannot be reused)</description>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Checksum of /etc/pam.d/system-auth-ac</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vfs.file.cksum[/etc/pam.d/system-auth-ac]</key>
                    <delay>1d</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Checksum of /etc/passwd</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vfs.file.cksum[/etc/passwd]</key>
                    <delay>15m</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}&gt;0</expression>
                            <name>/etc/passwd has been changed</name>
                            <priority>INFO</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Operating system description has changed</name>
                                    <expression>{Template Module Linux generic by Zabbix agent active:system.sw.os.diff()}=1 and {Template Module Linux generic by Zabbix agent active:system.sw.os.strlen()}&gt;0</expression>
                                </dependency>
                                <dependency>
                                    <name>System name has changed (new name: {ITEM.VALUE})</name>
                                    <expression>{Template Module Linux generic by Zabbix agent active:system.hostname.diff()}=1 and {Template Module Linux generic by Zabbix agent active:system.hostname.strlen()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Checksum of /etc/security/pwquality</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vfs.file.cksum[/etc/security/pwquality.conf]</key>
                    <delay>1d</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$KERNEL.MAXFILES.MIN}</macro>
                    <value>256</value>
                </macro>
                <macro>
                    <macro>{$KERNEL.MAXPROC.MIN}</macro>
                    <value>1024</value>
                </macro>
                <macro>
                    <macro>{$SYSTEM.FUZZYTIME.MAX}</macro>
                    <value>60</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux memory by Zabbix agent</template>
            <name>Template Module Linux memory by Zabbix agent</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Memory</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Free swap space</name>
                    <key>system.swap.size[,free]</key>
                    <history>7d</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space in %</name>
                    <key>system.swap.size[,pfree]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Total swap space</name>
                    <key>system.swap.size[,total]</key>
                    <history>7d</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Available memory</name>
                    <key>vm.memory.size[available]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Available memory, in Linux, available = free + buffers + cache. On other platforms calculation may vary. See also: https://www.zabbix.com/documentation/current/manual/appendix/items/vm.memory.size_params</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <key>vm.memory.size[pavailable]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Memory used percentage is calculated as (100-pavailable)</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>return (100-value);</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                            <dependencies>
                                <dependency>
                                    <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
                                    <expression>{Template Module Linux memory by Zabbix agent:vm.memory.size[available].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory by Zabbix agent:vm.memory.size[total].last()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total memory</name>
                    <key>vm.memory.size[total]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Total memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$MEMORY.AVAILABLE.MIN}</macro>
                    <value>20M</value>
                    <description>This macro is used as a threshold in memory available trigger.</description>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                    <description>This macro is used as a threshold in memory utilization trigger.</description>
                </macro>
                <macro>
                    <macro>{$SWAP.PFREE.MIN.WARN}</macro>
                    <value>50</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux memory by Zabbix agent active</template>
            <name>Template Module Linux memory by Zabbix agent active</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Memory</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Free swap space</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.swap.size[,free]</key>
                    <history>7d</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space in %</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.swap.size[,pfree]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Total swap space</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.swap.size[,total]</key>
                    <history>7d</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Available memory</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vm.memory.size[available]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Available memory, in Linux, available = free + buffers + cache. On other platforms calculation may vary. See also: https://www.zabbix.com/documentation/current/manual/appendix/items/vm.memory.size_params</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vm.memory.size[pavailable]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Memory used percentage is calculated as (100-pavailable)</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>return (100-value);</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                            <dependencies>
                                <dependency>
                                    <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
                                    <expression>{Template Module Linux memory by Zabbix agent active:vm.memory.size[available].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory by Zabbix agent active:vm.memory.size[total].last()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total memory</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vm.memory.size[total]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Total memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$MEMORY.AVAILABLE.MIN}</macro>
                    <value>20M</value>
                    <description>This macro is used as a threshold in memory available trigger.</description>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                    <description>This macro is used as a threshold in memory utilization trigger.</description>
                </macro>
                <macro>
                    <macro>{$SWAP.PFREE.MIN.WARN}</macro>
                    <value>50</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux memory SNMPv2</template>
            <name>Template Module Linux memory SNMPv2</name>
            <description>MIBs used:&#13;
UCD-SNMP-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Memory</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Free swap space</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2021.4.4.0</snmp_oid>
                    <key>system.swap.free[memAvailSwap.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: UCD-SNMP-MIB&#13;
The amount of swap space currently unused or available.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Free swap space in %</name>
                    <type>CALCULATED</type>
                    <key>system.swap.pfree[snmp]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>last(&quot;system.swap.free[memAvailSwap.0]&quot;)/last(&quot;system.swap.total[memTotalSwap.0]&quot;)*100</params>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Total swap space</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2021.4.3.0</snmp_oid>
                    <key>system.swap.total[memTotalSwap.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: UCD-SNMP-MIB&#13;
The total amount of swap space configured for this host.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Available memory</name>
                    <type>CALCULATED</type>
                    <key>vm.memory.available[snmp]</key>
                    <history>7d</history>
                    <units>B</units>
                    <params>last(&quot;vm.memory.free[memAvailReal.0]&quot;)+last(&quot;vm.memory.buffers[memBuffer.0]&quot;)+last(&quot;vm.memory.cached[memCached.0]&quot;)</params>
                    <description>Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Memory (buffers)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2021.4.14.0</snmp_oid>
                    <key>vm.memory.buffers[memBuffer.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: UCD-SNMP-MIB&#13;
Memory used by kernel buffers (Buffers in /proc/meminfo)</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Memory (cached)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2021.4.15.0</snmp_oid>
                    <key>vm.memory.cached[memCached.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: UCD-SNMP-MIB&#13;
Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo)</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Free memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2021.4.6.0</snmp_oid>
                    <key>vm.memory.free[memAvailReal.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: UCD-SNMP-MIB</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Total memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2021.4.5.0</snmp_oid>
                    <key>vm.memory.total[memTotalReal.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: UCD-SNMP-MIB&#13;
Total memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>CALCULATED</type>
                    <key>vm.memory.util[snmp]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>(last(&quot;vm.memory.total[memTotalReal.0]&quot;)-(last(&quot;vm.memory.free[memAvailReal.0]&quot;)+last(&quot;vm.memory.buffers[memBuffer.0]&quot;)+last(&quot;vm.memory.cached[memCached.0]&quot;)))/last(&quot;vm.memory.total[memTotalReal.0]&quot;)*100</params>
                    <description>Please note that memory utilization is a rough estimate, since memory available is calculated as free+buffers+cached, which is not 100% accurate, but the best we can get using SNMP.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                            <dependencies>
                                <dependency>
                                    <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
                                    <expression>{Template Module Linux memory SNMPv2:vm.memory.available[snmp].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory SNMPv2:vm.memory.total[memTotalReal.0].last()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$MEMORY.AVAILABLE.MIN}</macro>
                    <value>20M</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$SWAP.PFREE.MIN.WARN}</macro>
                    <value>50</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Linux network interfaces by Zabbix agent</template>
            <name>Template Module Linux network interfaces by Zabbix agent</name>
            <description>Known Issues:&#13;
&#13;
  Description: High interface utilization trigger is removed, since current it is not possible to retrieve interface speed to determine the max bandwidth.&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interface discovery</name>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of network interfaces.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Inbound packets discarded</name>
                            <key>net.if.in[&quot;{#IFNAME}&quot;,dropped]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Inbound packets with errors</name>
                            <key>net.if.in[&quot;{#IFNAME}&quot;,errors]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Bits received</name>
                            <key>net.if.in[&quot;{#IFNAME}&quot;]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Outbound packets discarded</name>
                            <key>net.if.out[&quot;{#IFNAME}&quot;,dropped]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Outbound packets with errors</name>
                            <key>net.if.out[&quot;{#IFNAME}&quot;,errors]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Bits sent</name>
                            <key>net.if.out[&quot;{#IFNAME}&quot;]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Operational status</name>
                            <key>vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;]</key>
                            <history>7d</history>
                            <trends>0</trends>
                            <description>Indicates the interface RFC2863 operational state as a string.&#13;
Possible values are:&quot;unknown&quot;, &quot;notpresent&quot;, &quot;down&quot;, &quot;lowerlayerdown&quot;, &quot;testing&quot;,&quot;dormant&quot;, &quot;up&quot;.&#13;
Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifOperStatus</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>var newvalue;
switch(value) {
  case &quot;up&quot;:
    newvalue = 1;
    break;
  case &quot;down&quot;:
    newvalue = 2;
    break;
  case &quot;testing&quot;:
    newvalue = 4;
    break;
  case &quot;unknown&quot;:
    newvalue = 5;
    break;
  case &quot;dormant&quot;:
    newvalue = 6;
    break;
  case &quot;notPresent&quot;:
    newvalue = 7;
    break;
  default:
    newvalue = &quot;Problem parsing interface operstate in JS&quot;;
}
return newvalue;</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFNAME}: Link down</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>This trigger expression works as follows:&#13;
1. Can be triggered if operations status is down.&#13;
2. {$IFCONTROL:&quot;{#IFNAME}&quot;}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.&#13;
3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)&#13;
&#13;
WARNING: if closed manually - won't fire again on next poll, because of .diff.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Interface type</name>
                            <key>vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;]</key>
                            <delay>1h</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <description>Indicates the interface protocol type as a decimal value.&#13;
See include/uapi/linux/if_arp.h for all possible values.&#13;
Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>Linux::Interface protocol types</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].change()}&lt;0 and {Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].last()}&gt;0&#13;
and&#13;
({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].last()}=6&#13;
or {Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].last()}=1)&#13;
and&#13;
({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].change()}&gt;0 and {Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].prev()}&gt;0) or&#13;
({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}=2)</recovery_expression>
                            <name>Interface {#IFNAME}: Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}: Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}=2 and {Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Linux network interfaces by Zabbix agent:net.if.in[&quot;{#IFNAME}&quot;,errors].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}&#13;
or {Template Module Linux network interfaces by Zabbix agent:net.if.out[&quot;{#IFNAME}&quot;,errors].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Linux network interfaces by Zabbix agent:net.if.in[&quot;{#IFNAME}&quot;,errors].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Template Module Linux network interfaces by Zabbix agent:net.if.out[&quot;{#IFNAME}&quot;,errors].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFNAME}: High error rate ( &gt; {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</name>
                            <opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>Recovers when below 80% of {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}: Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}=2 and {Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Linux network interfaces by Zabbix agent:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFNAME}: Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;,errors]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;,errors]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;,dropped]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;,dropped]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$IF.ERRORS.WARN}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$IF.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$IFCONTROL}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
                    <value>(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})</value>
                    <description>Filter out loopbacks, nulls, docker veth links and docker0 bridge by default</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Network interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}: Network traffic</name>
                                <host>Template Module Linux network interfaces by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Module Linux network interfaces by Zabbix agent active</template>
            <name>Template Module Linux network interfaces by Zabbix agent active</name>
            <description>Known Issues:&#13;
&#13;
  Description: High interface utilization trigger is removed, since current it is not possible to retrieve interface speed to determine the max bandwidth.&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interface discovery</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of network interfaces.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Inbound packets discarded</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.in[&quot;{#IFNAME}&quot;,dropped]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Inbound packets with errors</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.in[&quot;{#IFNAME}&quot;,errors]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Bits received</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.in[&quot;{#IFNAME}&quot;]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Outbound packets discarded</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.out[&quot;{#IFNAME}&quot;,dropped]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Outbound packets with errors</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.out[&quot;{#IFNAME}&quot;,errors]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Bits sent</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.out[&quot;{#IFNAME}&quot;]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Operational status</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;]</key>
                            <history>7d</history>
                            <trends>0</trends>
                            <description>Indicates the interface RFC2863 operational state as a string.&#13;
Possible values are:&quot;unknown&quot;, &quot;notpresent&quot;, &quot;down&quot;, &quot;lowerlayerdown&quot;, &quot;testing&quot;,&quot;dormant&quot;, &quot;up&quot;.&#13;
Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifOperStatus</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>var newvalue;
switch(value) {
  case &quot;up&quot;:
    newvalue = 1;
    break;
  case &quot;down&quot;:
    newvalue = 2;
    break;
  case &quot;testing&quot;:
    newvalue = 4;
    break;
  case &quot;unknown&quot;:
    newvalue = 5;
    break;
  case &quot;dormant&quot;:
    newvalue = 6;
    break;
  case &quot;notPresent&quot;:
    newvalue = 7;
    break;
  default:
    newvalue = &quot;Problem parsing interface operstate in JS&quot;;
}
return newvalue;</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFNAME}: Link down</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>This trigger expression works as follows:&#13;
1. Can be triggered if operations status is down.&#13;
2. {$IFCONTROL:&quot;{#IFNAME}&quot;}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.&#13;
3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)&#13;
&#13;
WARNING: if closed manually - won't fire again on next poll, because of .diff.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}: Interface type</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;]</key>
                            <delay>1h</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <description>Indicates the interface protocol type as a decimal value.&#13;
See include/uapi/linux/if_arp.h for all possible values.&#13;
Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>Linux::Interface protocol types</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].change()}&lt;0 and {Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].last()}&gt;0&#13;
and&#13;
({Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].last()}=6&#13;
or {Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].last()}=1)&#13;
and&#13;
({Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].change()}&gt;0 and {Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/type&quot;].prev()}&gt;0) or&#13;
({Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}=2)</recovery_expression>
                            <name>Interface {#IFNAME}: Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}: Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}=2 and {Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Linux network interfaces by Zabbix agent active:net.if.in[&quot;{#IFNAME}&quot;,errors].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}&#13;
or {Template Module Linux network interfaces by Zabbix agent active:net.if.out[&quot;{#IFNAME}&quot;,errors].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Linux network interfaces by Zabbix agent active:net.if.in[&quot;{#IFNAME}&quot;,errors].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Template Module Linux network interfaces by Zabbix agent active:net.if.out[&quot;{#IFNAME}&quot;,errors].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFNAME}: High error rate ( &gt; {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</name>
                            <opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>Recovers when below 80% of {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}: Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}=2 and {Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Linux network interfaces by Zabbix agent active:vfs.file.contents[&quot;/sys/class/net/{#IFNAME}/operstate&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFNAME}: Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent active</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent active</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent active</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;,errors]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent active</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;,errors]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent active</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;,dropped]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Linux network interfaces by Zabbix agent active</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;,dropped]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$IF.ERRORS.WARN}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$IF.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$IFCONTROL}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
                    <value>(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})</value>
                    <description>Filter out loopbacks, nulls, docker veth links and docker0 bridge by default</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Network interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}: Network traffic</name>
                                <host>Template Module Linux network interfaces by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Module UCB SNMPv3</template>
            <name>Template Module UCB SNMPv3</name>
            <description>Template Module Generic version: 0.14&#13;
MIBs used:&#13;
SNMPv2-MIB</description>
            <templates>
                <template>
                    <name>Template Module ICMP Ping</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>General</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>SNMP traps (fallback)</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap.fallback</key>
                    <delay>300</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Item is used to collect all SNMP traps unmatched by other snmptrap items</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <logtimefmt>hh:mm:sszyyyy/MM/dd</logtimefmt>
                </item>
                <item>
                    <name>Device contact details</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.4.0</snmp_oid>
                    <key>system.contact</key>
                    <delay>3600</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The textual identification of the contact person for this managed node, together with information on how to contact this person.  If no contact information is known, the value is the zero-length string.</description>
                    <inventory_link>CONTACT</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device description</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.descr</key>
                    <delay>3600</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
A textual description of the entity.  This value should&#13;
include the full name and version identification of the system's hardware type, software operating-system, and&#13;
networking software.</description>
                    <inventory_link>HARDWARE</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device location</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.6.0</snmp_oid>
                    <key>system.location</key>
                    <delay>3600</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The physical location of this node (e.g., `telephone closet, 3rd floor').  If the location is unknown, the value is the zero-length string.</description>
                    <inventory_link>LOCATION</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.5.0</snmp_oid>
                    <key>system.name</key>
                    <delay>3600</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
An administratively-assigned name for this managed node.By convention, this is the node's fully-qualified domain name.  If the name is unknown, the value is the zero-length string.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System object ID</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.2.0</snmp_oid>
                    <key>system.objectid</key>
                    <delay>3600</delay>
                    <history>14d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
The vendor's authoritative identification of the network management subsystem contained in the entity.  This value is allocated within the SMI enterprises subtree (1.3.6.1.4.1) and provides an easy and unambiguous means for determining`what kind of box' is being managed.  For example, if vendor`Flintstones, Inc.' was assigned the subtree1.3.6.1.4.1.4242, it could assign the identifier 1.3.6.1.4.1.4242.1.1 to its `Fred Router'.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device uptime</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.3.0</snmp_oid>
                    <key>system.uptime</key>
                    <delay>5m</delay>
                    <history>14d</history>
                    <units>uptime</units>
                    <description>MIB: SNMPv2-MIB&#13;
The time (in hundredths of a second) since the network management portion of the system was last re-initialized.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.01</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>{HOST.NAME} has been restarted</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
The device uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>No SNMP data collection</name>
                                    <expression>{Template Module UCB SNMPv3:zabbix[host,snmp,available].max({$SNMP_TIMEOUT})}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>SNMP availability</name>
                    <type>INTERNAL</type>
                    <key>zabbix[host,snmp,available]</key>
                    <delay>60</delay>
                    <history>14d</history>
                    <trends>0d</trends>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>zabbix.host.available</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max({$SNMP_TIMEOUT})}=0</expression>
                            <name>No SNMP data collection</name>
                            <priority>WARNING</priority>
                            <description>Last value: {ITEM.LASTVALUE1}.&#13;
SNMP is not available for polling. Please check device connectivity and SNMP settings.</description>
                            <dependencies>
                                <dependency>
                                    <name>Unavailable by ICMP ping</name>
                                    <expression>{Template Module UCB SNMPv3:icmpping.max(#3)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$SNMPV3_PASSWORD}</macro>
                    <value>admin123</value>
                </macro>
                <macro>
                    <macro>{$SNMPV3_PORT}</macro>
                    <value>161</value>
                </macro>
                <macro>
                    <macro>{$SNMPV3_USER}</macro>
                    <value>admin</value>
                </macro>
                <macro>
                    <macro>{$SNMP_TIMEOUT}</macro>
                    <value>3m</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Windows CPU by Zabbix agent</template>
            <name>Template Module Windows CPU by Zabbix agent</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU DPC time</name>
                    <key>perf_counter_en[&quot;\Processor Information(_total)\% DPC Time&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure &#13;
calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. % DPC Time is a &#13;
component of % Privileged Time because DPCs are executed in privileged mode. If a high % DPC Time is &#13;
sustained, there may be a processor bottleneck or an application or hardware related issue that can &#13;
significantly diminish overall system performance.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU interrupt time</name>
                    <key>perf_counter_en[&quot;\Processor Information(_total)\% Interrupt Time&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The Processor Information\% Interrupt Time is the time the processor spends receiving and servicing &#13;
hardware interrupts during sample intervals. This value is an indirect indicator of the activity of &#13;
devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication &#13;
lines, network interface cards and other peripheral devices. This is an easy way to identify a potential &#13;
hardware failure. This should never be higher than 20%.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.INTERRUPT.CRIT.MAX}</expression>
                            <name>CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m)</name>
                            <priority>WARNING</priority>
                            <description>&quot;The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%.&quot;&#13;
The Processor Information\% Interrupt Time is the time the processor spends receiving and servicing &#13;
hardware interrupts during sample intervals. This value is an indirect indicator of the activity of &#13;
devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication &#13;
lines, network interface cards and other peripheral devices. This is an easy way to identify a potential &#13;
hardware failure. This should never be higher than 20%.</description>
                            <dependencies>
                                <dependency>
                                    <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <expression>{Template Module Windows CPU by Zabbix agent:system.cpu.util.min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU privileged time</name>
                    <key>perf_counter_en[&quot;\Processor Information(_total)\% Privileged Time&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The Processor Information\% Privileged Time counter shows the percent of time that the processor is spent &#13;
executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt &#13;
Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode &#13;
functions of the Windows® Operating System.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.PRIV.CRIT.MAX}</expression>
                            <name>CPU privileged time is too high (over {$CPU.PRIV.CRIT.MAX}% for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%.</description>
                            <dependencies>
                                <dependency>
                                    <name>CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m)</name>
                                    <expression>{Template Module Windows CPU by Zabbix agent:perf_counter_en[&quot;\Processor Information(_total)\% Interrupt Time&quot;].min(5m)}&gt;{$CPU.INTERRUPT.CRIT.MAX}</expression>
                                </dependency>
                                <dependency>
                                    <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <expression>{Template Module Windows CPU by Zabbix agent:system.cpu.util.min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU user time</name>
                    <key>perf_counter_en[&quot;\Processor Information(_total)\% User Time&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The Processor Information\% User Time counter shows the percent of time that the processor(s) is spent executing &#13;
in User mode.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Context switches per second</name>
                    <key>perf_counter_en[&quot;\System\Context Switches/sec&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another.&#13;
Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service.&#13;
It is the sum of Thread\\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches.&#13;
There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU queue length</name>
                    <key>perf_counter_en[&quot;\System\Processor Queue Length&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue &#13;
and are waiting to be executed.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.QUEUE.CRIT.MAX}</expression>
                            <name>CPU queue length is too high (over {$CPU.QUEUE.CRIT.MAX}% for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The CPU Queue Length in the last 5 minutes exceeds {$CPU.QUEUE.CRIT.MAX}%.</description>
                            <dependencies>
                                <dependency>
                                    <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <expression>{Template Module Windows CPU by Zabbix agent:system.cpu.util.min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU utilization</name>
                    <key>system.cpu.util</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>CPU utilization in %</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$CPU.INTERRUPT.CRIT.MAX}</macro>
                    <value>50</value>
                    <description>The critical threshold of the % Interrupt Time counter.</description>
                </macro>
                <macro>
                    <macro>{$CPU.PRIV.CRIT.MAX}</macro>
                    <value>30</value>
                    <description>The threshold of the % Privileged Time counter.</description>
                </macro>
                <macro>
                    <macro>{$CPU.QUEUE.CRIT.MAX}</macro>
                    <value>3</value>
                    <description>The threshold of the Processor Queue Length counter.</description>
                </macro>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Windows CPU by Zabbix agent active</template>
            <name>Template Module Windows CPU by Zabbix agent active</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU DPC time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\Processor Information(_total)\% DPC Time&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Processor DPC time is the time that a single processor spent receiving and servicing deferred procedure &#13;
calls (DPCs). DPCs are interrupts that run at a lower priority than standard interrupts. % DPC Time is a &#13;
component of % Privileged Time because DPCs are executed in privileged mode. If a high % DPC Time is &#13;
sustained, there may be a processor bottleneck or an application or hardware related issue that can &#13;
significantly diminish overall system performance.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU interrupt time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\Processor Information(_total)\% Interrupt Time&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The Processor Information\% Interrupt Time is the time the processor spends receiving and servicing &#13;
hardware interrupts during sample intervals. This value is an indirect indicator of the activity of &#13;
devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication &#13;
lines, network interface cards and other peripheral devices. This is an easy way to identify a potential &#13;
hardware failure. This should never be higher than 20%.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.INTERRUPT.CRIT.MAX}</expression>
                            <name>CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m)</name>
                            <priority>WARNING</priority>
                            <description>&quot;The CPU Interrupt Time in the last 5 minutes exceeds {$CPU.INTERRUPT.CRIT.MAX}%.&quot;&#13;
The Processor Information\% Interrupt Time is the time the processor spends receiving and servicing &#13;
hardware interrupts during sample intervals. This value is an indirect indicator of the activity of &#13;
devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication &#13;
lines, network interface cards and other peripheral devices. This is an easy way to identify a potential &#13;
hardware failure. This should never be higher than 20%.</description>
                            <dependencies>
                                <dependency>
                                    <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <expression>{Template Module Windows CPU by Zabbix agent active:system.cpu.util.min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU privileged time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\Processor Information(_total)\% Privileged Time&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The Processor Information\% Privileged Time counter shows the percent of time that the processor is spent &#13;
executing in Kernel (or Privileged) mode. Privileged mode includes services interrupts inside Interrupt &#13;
Service Routines (ISRs), executing Deferred Procedure Calls (DPCs), Device Driver calls and other kernel-mode &#13;
functions of the Windows® Operating System.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.PRIV.CRIT.MAX}</expression>
                            <name>CPU privileged time is too high (over {$CPU.PRIV.CRIT.MAX}% for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The CPU privileged time in the last 5 minutes exceeds {$CPU.PRIV.CRIT.MAX}%.</description>
                            <dependencies>
                                <dependency>
                                    <name>CPU interrupt time is too high (over {$CPU.INTERRUPT.CRIT.MAX}% for 5m)</name>
                                    <expression>{Template Module Windows CPU by Zabbix agent active:perf_counter_en[&quot;\Processor Information(_total)\% Interrupt Time&quot;].min(5m)}&gt;{$CPU.INTERRUPT.CRIT.MAX}</expression>
                                </dependency>
                                <dependency>
                                    <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <expression>{Template Module Windows CPU by Zabbix agent active:system.cpu.util.min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU user time</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\Processor Information(_total)\% User Time&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The Processor Information\% User Time counter shows the percent of time that the processor(s) is spent executing &#13;
in User mode.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Context switches per second</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\System\Context Switches/sec&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Context Switches/sec is the combined rate at which all processors on the computer are switched from one thread to another.&#13;
Context switches occur when a running thread voluntarily relinquishes the processor, is preempted by a higher priority ready thread, or switches between user-mode and privileged (kernel) mode to use an Executive or subsystem service.&#13;
It is the sum of Thread\\Context Switches/sec for all threads running on all processors in the computer and is measured in numbers of switches.&#13;
There are context switch counters on the System and Thread objects. This counter displays the difference between the values observed in the last two samples, divided by the duration of the sample interval.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU queue length</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\System\Processor Queue Length&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>The Processor Queue Length shows the number of threads that are observed as delayed in the processor Ready Queue &#13;
and are waiting to be executed.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.QUEUE.CRIT.MAX}</expression>
                            <name>CPU queue length is too high (over {$CPU.QUEUE.CRIT.MAX}% for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The CPU Queue Length in the last 5 minutes exceeds {$CPU.QUEUE.CRIT.MAX}%.</description>
                            <dependencies>
                                <dependency>
                                    <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <expression>{Template Module Windows CPU by Zabbix agent active:system.cpu.util.min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU utilization</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.cpu.util</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>CPU utilization in %</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$CPU.INTERRUPT.CRIT.MAX}</macro>
                    <value>50</value>
                    <description>The critical threshold of the % Interrupt Time counter.</description>
                </macro>
                <macro>
                    <macro>{$CPU.PRIV.CRIT.MAX}</macro>
                    <value>30</value>
                    <description>The threshold of the % Privileged Time counter.</description>
                </macro>
                <macro>
                    <macro>{$CPU.QUEUE.CRIT.MAX}</macro>
                    <value>3</value>
                    <description>The threshold of the Processor Queue Length counter.</description>
                </macro>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Windows filesystems by Zabbix agent</template>
            <name>Template Module Windows filesystems by Zabbix agent</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Filesystems</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <key>vfs.fs.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSDRIVETYPE}</macro>
                                <value>{$VFS.FS.FSDRIVETYPE.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSDRIVETYPE}</macro>
                                <value>{$VFS.FS.FSDRIVETYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of file systems of different types.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#FSNAME}: Space utilization</name>
                            <key>vfs.fs.size[{#FSNAME},pused]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>Space utilization in % for {#FSNAME}</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Total space</name>
                            <key>vfs.fs.size[{#FSNAME},total]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>Total space in Bytes</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Used space</name>
                            <key>vfs.fs.size[{#FSNAME},used]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>Used storage in Bytes</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},used].last()})&lt;5G or {Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>AVERAGE</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 5G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},used].last()})&lt;10G or {Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is low (used &gt; {$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>WARNING</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 10G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                    <expression>{Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},used].last()})&lt;5G or {Template Module Windows filesystems by Zabbix agent:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#FSNAME}: Disk space usage</name>
                            <width>600</width>
                            <height>340</height>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>969696</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template Module Windows filesystems by Zabbix agent</host>
                                        <key>vfs.fs.size[{#FSNAME},total]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>C80000</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <item>
                                        <host>Template Module Windows filesystems by Zabbix agent</host>
                                        <key>vfs.fs.size[{#FSNAME},used]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VFS.FS.FSDRIVETYPE.MATCHES}</macro>
                    <value>fixed</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSDRIVETYPE.NOT_MATCHES}</macro>
                    <value>^\s$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSNAME.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSNAME.NOT_MATCHES}</macro>
                    <value>^(/dev|/sys|/run|/proc|.+/shm$)</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.NOT_MATCHES}</macro>
                    <value>^\s$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.WARN}</macro>
                    <value>80</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Windows filesystems by Zabbix agent active</template>
            <name>Template Module Windows filesystems by Zabbix agent active</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Filesystems</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vfs.fs.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSDRIVETYPE}</macro>
                                <value>{$VFS.FS.FSDRIVETYPE.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSDRIVETYPE}</macro>
                                <value>{$VFS.FS.FSDRIVETYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of file systems of different types.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#FSNAME}: Space utilization</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>vfs.fs.size[{#FSNAME},pused]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>Space utilization in % for {#FSNAME}</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Total space</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>vfs.fs.size[{#FSNAME},total]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>Total space in Bytes</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Used space</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>vfs.fs.size[{#FSNAME},used]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>Used storage in Bytes</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},used].last()})&lt;5G or {Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>AVERAGE</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 5G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},used].last()})&lt;10G or {Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is low (used &gt; {$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>WARNING</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 10G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                    <expression>{Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},total].last()}-{Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},used].last()})&lt;5G or {Template Module Windows filesystems by Zabbix agent active:vfs.fs.size[{#FSNAME},pused].timeleft(1h,,100)}&lt;1d)</expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#FSNAME}: Disk space usage</name>
                            <width>600</width>
                            <height>340</height>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>969696</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template Module Windows filesystems by Zabbix agent active</host>
                                        <key>vfs.fs.size[{#FSNAME},total]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>C80000</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <item>
                                        <host>Template Module Windows filesystems by Zabbix agent active</host>
                                        <key>vfs.fs.size[{#FSNAME},used]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VFS.FS.FSDRIVETYPE.MATCHES}</macro>
                    <value>fixed</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSDRIVETYPE.NOT_MATCHES}</macro>
                    <value>^\s$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSNAME.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSNAME.NOT_MATCHES}</macro>
                    <value>^(/dev|/sys|/run|/proc|.+/shm$)</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.NOT_MATCHES}</macro>
                    <value>^\s$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.WARN}</macro>
                    <value>80</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Windows generic by Zabbix agent</template>
            <name>Template Module Windows generic by Zabbix agent</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Status</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Number of threads</name>
                    <key>perf_counter_en[&quot;\System\Threads&quot;]</key>
                    <history>7d</history>
                    <description>The number of threads used by all running processes.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of processes</name>
                    <key>proc.num[]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System name</name>
                    <key>system.hostname</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System host name.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>System name has changed (new name: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>System name has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System local time</name>
                    <key>system.localtime</key>
                    <history>7d</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{fuzzytime({$SYSTEM.FUZZYTIME.MAX})}=0</expression>
                            <name>System time is out of sync (diff with Zabbix server &gt; {$SYSTEM.FUZZYTIME.MAX}s)</name>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Operating system architecture</name>
                    <key>system.sw.arch</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System description</name>
                    <key>system.uname</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Uptime</name>
                    <key>system.uptime</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>Host has been restarted (uptime &lt; 10m)</name>
                            <priority>WARNING</priority>
                            <description>The device uptime is less than 10 minutes.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$SYSTEM.FUZZYTIME.MAX}</macro>
                    <value>60</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Windows generic by Zabbix agent active</template>
            <name>Template Module Windows generic by Zabbix agent active</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Status</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Number of threads</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\System\Threads&quot;]</key>
                    <history>7d</history>
                    <description>The number of threads used by all running processes.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of processes</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>proc.num[]</key>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System name</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.hostname</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System host name.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>System name has changed (new name: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>System name has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System local time</name>
                    <key>system.localtime</key>
                    <history>7d</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{fuzzytime({$SYSTEM.FUZZYTIME.MAX})}=0</expression>
                            <name>System time is out of sync (diff with Zabbix server &gt; {$SYSTEM.FUZZYTIME.MAX}s)</name>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Operating system architecture</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.sw.arch</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>System description</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.uname</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Uptime</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.uptime</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>Host has been restarted (uptime &lt; 10m)</name>
                            <priority>WARNING</priority>
                            <description>The device uptime is less than 10 minutes.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$SYSTEM.FUZZYTIME.MAX}</macro>
                    <value>60</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Windows memory by Zabbix agent</template>
            <name>Template Module Windows memory by Zabbix agent</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Memory</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Cache bytes</name>
                    <key>perf_counter_en[&quot;\Memory\Cache Bytes&quot;]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Cache Bytes is the sum of the Memory\\System Cache Resident Bytes, Memory\\System Driver Resident Bytes, &#13;
Memory\\System Code Resident Bytes, and Memory\\Pool Paged Resident Bytes counters. This counter displays &#13;
the last observed value only; it is not an average.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free system page table entries</name>
                    <key>perf_counter_en[&quot;\Memory\Free System Page Table Entries&quot;]</key>
                    <history>7d</history>
                    <description>This indicates the number of page table entries not currently in use by the system. If the number is less &#13;
than 5,000, there may well be a memory leak or you running out of memory.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{max(5m)}&lt;{$MEM.PAGE_TABLE_CRIT.MIN}</expression>
                            <name>Number of free system page table entries is too low (less {$MEM.PAGE_TABLE_CRIT.MIN} for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The Memory Free System Page Table Entries is less than {$MEM.PAGE_TABLE_CRIT.MIN} for 5 minutes. If the number is less than 5,000, there may well be a memory leak.</description>
                            <dependencies>
                                <dependency>
                                    <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <expression>{Template Module Windows memory by Zabbix agent:vm.memory.util.min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Memory page faults per second</name>
                    <key>perf_counter_en[&quot;\Memory\Page Faults/sec&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages &#13;
faulted per second because only one page is faulted in each fault operation, hence this is also equal &#13;
to the number of page fault operations. This counter includes both hard faults (those that require &#13;
disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most &#13;
processors can handle large numbers of soft faults without significant consequence. However, hard faults, &#13;
which require disk access, can cause significant delays.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Memory pages per second</name>
                    <key>perf_counter_en[&quot;\Memory\Pages/sec&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>This measures the rate at which pages are read from or written to disk to resolve hard page faults. &#13;
If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEM.PAGE_SEC.CRIT.MAX}</expression>
                            <name>The Memory Pages/sec is too high (over {$MEM.PAGE_SEC.CRIT.MAX} for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The Memory Pages/sec in the last 5 minutes exceeds {$MEM.PAGE_SEC.CRIT.MAX}. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.</description>
                            <dependencies>
                                <dependency>
                                    <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <expression>{Template Module Windows memory by Zabbix agent:vm.memory.util.min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Memory pool non-paged</name>
                    <key>perf_counter_en[&quot;\Memory\Pool Nonpaged Bytes&quot;]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects &#13;
that cannot be written to disk but instead must remain in physical memory as long as they are allocated. &#13;
There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). &#13;
A typical Event ID 2019 is recorded in the system event log.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space</name>
                    <key>system.swap.size[,free]</key>
                    <history>7d</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space in %</name>
                    <key>system.swap.size[,pfree]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Total swap space</name>
                    <key>system.swap.size[,total]</key>
                    <history>7d</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Total memory</name>
                    <key>vm.memory.size[total]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Total memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Used memory</name>
                    <key>vm.memory.size[used]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Used memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>CALCULATED</type>
                    <key>vm.memory.util</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>last(&quot;vm.memory.size[used]&quot;) / last(&quot;vm.memory.size[total]&quot;) * 100</params>
                    <description>Memory utilization in %</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$MEM.PAGE_SEC.CRIT.MAX}</macro>
                    <value>1000</value>
                    <description>The warning threshold of the Memory Pages/sec counter.</description>
                </macro>
                <macro>
                    <macro>{$MEM.PAGE_TABLE_CRIT.MIN}</macro>
                    <value>5000</value>
                    <description>The warning threshold of the Free System Page Table Entries counter.</description>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                    <description>The warning threshold of the Memory util item.</description>
                </macro>
                <macro>
                    <macro>{$SWAP.PFREE.MIN.WARN}</macro>
                    <value>20</value>
                    <description>The warning threshold of the minimum free swap.</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Windows memory by Zabbix agent active</template>
            <name>Template Module Windows memory by Zabbix agent active</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Memory</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Cache bytes</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\Memory\Cache Bytes&quot;]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Cache Bytes is the sum of the Memory\\System Cache Resident Bytes, Memory\\System Driver Resident Bytes, &#13;
Memory\\System Code Resident Bytes, and Memory\\Pool Paged Resident Bytes counters. This counter displays &#13;
the last observed value only; it is not an average.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free system page table entries</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\Memory\Free System Page Table Entries&quot;]</key>
                    <history>7d</history>
                    <description>This indicates the number of page table entries not currently in use by the system. If the number is less &#13;
than 5,000, there may well be a memory leak or you running out of memory.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{max(5m)}&lt;{$MEM.PAGE_TABLE_CRIT.MIN}</expression>
                            <name>Number of free system page table entries is too low (less {$MEM.PAGE_TABLE_CRIT.MIN} for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The Memory Free System Page Table Entries is less than {$MEM.PAGE_TABLE_CRIT.MIN} for 5 minutes. If the number is less than 5,000, there may well be a memory leak.</description>
                            <dependencies>
                                <dependency>
                                    <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <expression>{Template Module Windows memory by Zabbix agent active:vm.memory.util.min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Memory page faults per second</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\Memory\Page Faults/sec&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>Page Faults/sec is the average number of pages faulted per second. It is measured in number of pages &#13;
faulted per second because only one page is faulted in each fault operation, hence this is also equal &#13;
to the number of page fault operations. This counter includes both hard faults (those that require &#13;
disk access) and soft faults (where the faulted page is found elsewhere in physical memory.) Most &#13;
processors can handle large numbers of soft faults without significant consequence. However, hard faults, &#13;
which require disk access, can cause significant delays.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Memory pages per second</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\Memory\Pages/sec&quot;]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>This measures the rate at which pages are read from or written to disk to resolve hard page faults. &#13;
If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEM.PAGE_SEC.CRIT.MAX}</expression>
                            <name>The Memory Pages/sec is too high (over {$MEM.PAGE_SEC.CRIT.MAX} for 5m)</name>
                            <priority>WARNING</priority>
                            <description>The Memory Pages/sec in the last 5 minutes exceeds {$MEM.PAGE_SEC.CRIT.MAX}. If the value is greater than 1,000, as a result of excessive paging, there may be a memory leak.</description>
                            <dependencies>
                                <dependency>
                                    <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <expression>{Template Module Windows memory by Zabbix agent active:vm.memory.util.min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Memory pool non-paged</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>perf_counter_en[&quot;\Memory\Pool Nonpaged Bytes&quot;]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>This measures the size, in bytes, of the non-paged pool. This is an area of system memory for objects &#13;
that cannot be written to disk but instead must remain in physical memory as long as they are allocated. &#13;
There is a possible memory leak if the value is greater than 175MB (or 100MB with the /3GB switch). &#13;
A typical Event ID 2019 is recorded in the system event log.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.swap.size[,free]</key>
                    <history>7d</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space in %</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.swap.size[,pfree]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Total swap space</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>system.swap.size[,total]</key>
                    <history>7d</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Total memory</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vm.memory.size[total]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Total memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Used memory</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>vm.memory.size[used]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>Used memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>CALCULATED</type>
                    <key>vm.memory.util</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>last(&quot;vm.memory.size[used]&quot;) / last(&quot;vm.memory.size[total]&quot;) * 100</params>
                    <description>Memory utilization in %</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$MEM.PAGE_SEC.CRIT.MAX}</macro>
                    <value>1000</value>
                    <description>The warning threshold of the Memory Pages/sec counter.</description>
                </macro>
                <macro>
                    <macro>{$MEM.PAGE_TABLE_CRIT.MIN}</macro>
                    <value>5000</value>
                    <description>The warning threshold of the Free System Page Table Entries counter.</description>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                    <description>The warning threshold of the Memory util item.</description>
                </macro>
                <macro>
                    <macro>{$SWAP.PFREE.MIN.WARN}</macro>
                    <value>20</value>
                    <description>The warning threshold of the minimum free swap.</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Windows network by Zabbix agent</template>
            <name>Template Module Windows network by Zabbix agent</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Network interfaces WMI get</name>
                    <key>wmi.getall[root\cimv2,&quot;select * from win32_networkadapter where PhysicalAdapter=True&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interfaces discovery</name>
                    <type>DEPENDENT</type>
                    <key>net.if.discovery</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFPHYSICALADAPTER}</macro>
                                <value>{$NET.IF.PHYSICALADAPTER.MATCHES}</value>
                                <formulaid>I</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFPHYSICALADAPTER}</macro>
                                <value>{$NET.IF.PHYSICALADAPTER.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>J</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNETENABLED}</macro>
                                <value>{$NET.IF.IFNETENABLED.MATCHES}</value>
                                <formulaid>G</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNETENABLED}</macro>
                                <value>{$NET.IF.IFNETENABLED.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>H</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded</name>
                            <key>net.if.in[&quot;{#IFNAME}&quot;,dropped]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors</name>
                            <key>net.if.in[&quot;{#IFNAME}&quot;,errors]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits received</name>
                            <key>net.if.in[&quot;{#IFNAME}&quot;]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded</name>
                            <key>net.if.out[&quot;{#IFNAME}&quot;,dropped]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors</name>
                            <key>net.if.out[&quot;{#IFNAME}&quot;,errors]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits sent</name>
                            <key>net.if.out[&quot;{#IFNAME}&quot;]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Speed</name>
                            <type>DEPENDENT</type>
                            <key>net.if.speed[&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#IFNAME}&quot;)].Speed.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_networkadapter where PhysicalAdapter=True&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Operational status</name>
                            <type>DEPENDENT</type>
                            <key>net.if.status[&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0</trends>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>Win32_NetworkAdapter::NetConnectionStatus</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#IFNAME}&quot;)].NetConnectionStatus.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_networkadapter where PhysicalAdapter=True&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>This trigger expression works as follows:&#13;
1. Can be triggered if operations status is down.&#13;
2. {$IFCONTROL:&quot;{#IFNAME}&quot;}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.&#13;
3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)&#13;
&#13;
WARNING: if closed manually - won't fire again on next poll, because of .diff.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Interface type</name>
                            <type>DEPENDENT</type>
                            <key>net.if.type[&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>Win32_NetworkAdapter::AdapterTypeId</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#IFNAME}&quot;)].AdapterTypeId.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_networkadapter where PhysicalAdapter=True&quot;]</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Windows network by Zabbix agent:net.if.speed[&quot;{#IFNAME}&quot;].change()}&lt;0 and {Template Module Windows network by Zabbix agent:net.if.speed[&quot;{#IFNAME}&quot;].last()}&gt;0&#13;
and (&#13;
{Template Module Windows network by Zabbix agent:net.if.type[&quot;{#IFNAME}&quot;].last()}=6 or&#13;
{Template Module Windows network by Zabbix agent:net.if.type[&quot;{#IFNAME}&quot;].last()}=7 or&#13;
{Template Module Windows network by Zabbix agent:net.if.type[&quot;{#IFNAME}&quot;].last()}=11 or&#13;
{Template Module Windows network by Zabbix agent:net.if.type[&quot;{#IFNAME}&quot;].last()}=62 or&#13;
{Template Module Windows network by Zabbix agent:net.if.type[&quot;{#IFNAME}&quot;].last()}=69 or&#13;
{Template Module Windows network by Zabbix agent:net.if.type[&quot;{#IFNAME}&quot;].last()}=117&#13;
)&#13;
and&#13;
({Template Module Windows network by Zabbix agent:net.if.status[&quot;{#IFNAME}&quot;].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template Module Windows network by Zabbix agent:net.if.speed[&quot;{#IFNAME}&quot;].change()}&gt;0 and {Template Module Windows network by Zabbix agent:net.if.speed[&quot;{#IFNAME}&quot;].prev()}&gt;0) or&#13;
({Template Module Windows network by Zabbix agent:net.if.status[&quot;{#IFNAME}&quot;].last()}=2)</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Windows network by Zabbix agent:net.if.status[&quot;{#IFNAME}&quot;].last()}=2 and {Template Module Windows network by Zabbix agent:net.if.status[&quot;{#IFNAME}&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Windows network by Zabbix agent:net.if.status[&quot;{#IFNAME}&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>({Template Module Windows network by Zabbix agent:net.if.in[&quot;{#IFNAME}&quot;].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Windows network by Zabbix agent:net.if.speed[&quot;{#IFNAME}&quot;].last()} or&#13;
{Template Module Windows network by Zabbix agent:net.if.out[&quot;{#IFNAME}&quot;].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Windows network by Zabbix agent:net.if.speed[&quot;{#IFNAME}&quot;].last()}) and&#13;
{Template Module Windows network by Zabbix agent:net.if.speed[&quot;{#IFNAME}&quot;].last()}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Windows network by Zabbix agent:net.if.in[&quot;{#IFNAME}&quot;].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Windows network by Zabbix agent:net.if.speed[&quot;{#IFNAME}&quot;].last()} and&#13;
{Template Module Windows network by Zabbix agent:net.if.out[&quot;{#IFNAME}&quot;].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Windows network by Zabbix agent:net.if.speed[&quot;{#IFNAME}&quot;].last()}</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High bandwidth usage ( &gt; {$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}% )</name>
                            <opdata>In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Windows network by Zabbix agent:net.if.status[&quot;{#IFNAME}&quot;].last()}=2 and {Template Module Windows network by Zabbix agent:net.if.status[&quot;{#IFNAME}&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Windows network by Zabbix agent:net.if.status[&quot;{#IFNAME}&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Windows network by Zabbix agent:net.if.in[&quot;{#IFNAME}&quot;,errors].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}&#13;
or {Template Module Windows network by Zabbix agent:net.if.out[&quot;{#IFNAME}&quot;,errors].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Windows network by Zabbix agent:net.if.in[&quot;{#IFNAME}&quot;,errors].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Template Module Windows network by Zabbix agent:net.if.out[&quot;{#IFNAME}&quot;,errors].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High error rate ( &gt; {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</name>
                            <opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>Recovers when below 80% of {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Windows network by Zabbix agent:net.if.status[&quot;{#IFNAME}&quot;].last()}=2 and {Template Module Windows network by Zabbix agent:net.if.status[&quot;{#IFNAME}&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Windows network by Zabbix agent:net.if.status[&quot;{#IFNAME}&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;,errors]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;,errors]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;,dropped]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;,dropped]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>wmi.getall[root\cimv2,&quot;select * from win32_networkadapter where PhysicalAdapter=True&quot;]</key>
                    </master_item>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>output = JSON.parse(value).map(function(net){
    return {
        &quot;{#IFNAME}&quot;: net.Name,
        &quot;{#IFDESCR}&quot;: net.Description,
        &quot;{#IFPHYSICALADAPTER}&quot;: net.PhysicalAdapter,
        &quot;{#IFALIAS}&quot; : net.NetConnectionID,
        &quot;{#IFNETENABLED}&quot;: net.NetEnabled,
        &quot;{#IFNETSTATUS}&quot;: net.NetConnectionStatus,
        &quot;{#IFSPEED}&quot;: net.Speed
    }})
return JSON.stringify({&quot;data&quot;: output})</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$NET.IF.IFALIAS.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.NOT_MATCHES}</macro>
                    <value>CHANGE_THIS</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.NOT_MATCHES}</macro>
                    <value>CHANGE_THIS</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
                    <value>Miniport|Virtual|Teredo|Kernel|Loopback|Bluetooth|HTTPS|6to4|QoS|Layer</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNETENABLED.MATCHES}</macro>
                    <value>True</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNETENABLED.NOT_MATCHES}</macro>
                    <value>CHANGE_THIS</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.PHYSICALADAPTER.MATCHES}</macro>
                    <value>True</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.PHYSICALADAPTER.NOT_MATCHES}</macro>
                    <value>CHANGE_THIS</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Netowrk interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                                <host>Template Module Windows network by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Module Windows network by Zabbix agent active</template>
            <name>Template Module Windows network by Zabbix agent active</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Network interfaces</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Network interfaces WMI get</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>wmi.getall[root\cimv2,&quot;select * from win32_networkadapter where PhysicalAdapter=True&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interfaces discovery</name>
                    <type>DEPENDENT</type>
                    <key>net.if.discovery</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFPHYSICALADAPTER}</macro>
                                <value>{$NET.IF.PHYSICALADAPTER.MATCHES}</value>
                                <formulaid>I</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFPHYSICALADAPTER}</macro>
                                <value>{$NET.IF.PHYSICALADAPTER.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>J</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFDESCR}</macro>
                                <value>{$NET.IF.IFDESCR.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNETENABLED}</macro>
                                <value>{$NET.IF.IFNETENABLED.MATCHES}</value>
                                <formulaid>G</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNETENABLED}</macro>
                                <value>{$NET.IF.IFNETENABLED.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>H</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.in[&quot;{#IFNAME}&quot;,dropped]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.in[&quot;{#IFNAME}&quot;,errors]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits received</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.in[&quot;{#IFNAME}&quot;]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.out[&quot;{#IFNAME}&quot;,dropped]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.out[&quot;{#IFNAME}&quot;,errors]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits sent</name>
                            <type>ZABBIX_ACTIVE</type>
                            <key>net.if.out[&quot;{#IFNAME}&quot;]</key>
                            <delay>3m</delay>
                            <history>7d</history>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Speed</name>
                            <type>DEPENDENT</type>
                            <key>net.if.speed[&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#IFNAME}&quot;)].Speed.first()</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_networkadapter where PhysicalAdapter=True&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Operational status</name>
                            <type>DEPENDENT</type>
                            <key>net.if.status[&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0</trends>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>Win32_NetworkAdapter::NetConnectionStatus</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#IFNAME}&quot;)].NetConnectionStatus.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_networkadapter where PhysicalAdapter=True&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>This trigger expression works as follows:&#13;
1. Can be triggered if operations status is down.&#13;
2. {$IFCONTROL:&quot;{#IFNAME}&quot;}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.&#13;
3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)&#13;
&#13;
WARNING: if closed manually - won't fire again on next poll, because of .diff.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Interface type</name>
                            <type>DEPENDENT</type>
                            <key>net.if.type[&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>Win32_NetworkAdapter::AdapterTypeId</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#IFNAME}&quot;)].AdapterTypeId.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_networkadapter where PhysicalAdapter=True&quot;]</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Module Windows network by Zabbix agent active:net.if.speed[&quot;{#IFNAME}&quot;].change()}&lt;0 and {Template Module Windows network by Zabbix agent active:net.if.speed[&quot;{#IFNAME}&quot;].last()}&gt;0&#13;
and (&#13;
{Template Module Windows network by Zabbix agent active:net.if.type[&quot;{#IFNAME}&quot;].last()}=6 or&#13;
{Template Module Windows network by Zabbix agent active:net.if.type[&quot;{#IFNAME}&quot;].last()}=7 or&#13;
{Template Module Windows network by Zabbix agent active:net.if.type[&quot;{#IFNAME}&quot;].last()}=11 or&#13;
{Template Module Windows network by Zabbix agent active:net.if.type[&quot;{#IFNAME}&quot;].last()}=62 or&#13;
{Template Module Windows network by Zabbix agent active:net.if.type[&quot;{#IFNAME}&quot;].last()}=69 or&#13;
{Template Module Windows network by Zabbix agent active:net.if.type[&quot;{#IFNAME}&quot;].last()}=117&#13;
)&#13;
and&#13;
({Template Module Windows network by Zabbix agent active:net.if.status[&quot;{#IFNAME}&quot;].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template Module Windows network by Zabbix agent active:net.if.speed[&quot;{#IFNAME}&quot;].change()}&gt;0 and {Template Module Windows network by Zabbix agent active:net.if.speed[&quot;{#IFNAME}&quot;].prev()}&gt;0) or&#13;
({Template Module Windows network by Zabbix agent active:net.if.status[&quot;{#IFNAME}&quot;].last()}=2)</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Windows network by Zabbix agent active:net.if.status[&quot;{#IFNAME}&quot;].last()}=2 and {Template Module Windows network by Zabbix agent active:net.if.status[&quot;{#IFNAME}&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Windows network by Zabbix agent active:net.if.status[&quot;{#IFNAME}&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>({Template Module Windows network by Zabbix agent active:net.if.in[&quot;{#IFNAME}&quot;].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Windows network by Zabbix agent active:net.if.speed[&quot;{#IFNAME}&quot;].last()} or&#13;
{Template Module Windows network by Zabbix agent active:net.if.out[&quot;{#IFNAME}&quot;].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template Module Windows network by Zabbix agent active:net.if.speed[&quot;{#IFNAME}&quot;].last()}) and&#13;
{Template Module Windows network by Zabbix agent active:net.if.speed[&quot;{#IFNAME}&quot;].last()}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Windows network by Zabbix agent active:net.if.in[&quot;{#IFNAME}&quot;].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Windows network by Zabbix agent active:net.if.speed[&quot;{#IFNAME}&quot;].last()} and&#13;
{Template Module Windows network by Zabbix agent active:net.if.out[&quot;{#IFNAME}&quot;].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template Module Windows network by Zabbix agent active:net.if.speed[&quot;{#IFNAME}&quot;].last()}</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High bandwidth usage ( &gt; {$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}% )</name>
                            <opdata>In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Windows network by Zabbix agent active:net.if.status[&quot;{#IFNAME}&quot;].last()}=2 and {Template Module Windows network by Zabbix agent active:net.if.status[&quot;{#IFNAME}&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Windows network by Zabbix agent active:net.if.status[&quot;{#IFNAME}&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Module Windows network by Zabbix agent active:net.if.in[&quot;{#IFNAME}&quot;,errors].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}&#13;
or {Template Module Windows network by Zabbix agent active:net.if.out[&quot;{#IFNAME}&quot;,errors].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Module Windows network by Zabbix agent active:net.if.in[&quot;{#IFNAME}&quot;,errors].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Template Module Windows network by Zabbix agent active:net.if.out[&quot;{#IFNAME}&quot;,errors].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High error rate ( &gt; {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</name>
                            <opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>Recovers when below 80% of {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template Module Windows network by Zabbix agent active:net.if.status[&quot;{#IFNAME}&quot;].last()}=2 and {Template Module Windows network by Zabbix agent active:net.if.status[&quot;{#IFNAME}&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template Module Windows network by Zabbix agent active:net.if.status[&quot;{#IFNAME}&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent active</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent active</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent active</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;,errors]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent active</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;,errors]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent active</host>
                                        <key>net.if.out[&quot;{#IFNAME}&quot;,dropped]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Windows network by Zabbix agent active</host>
                                        <key>net.if.in[&quot;{#IFNAME}&quot;,dropped]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>wmi.getall[root\cimv2,&quot;select * from win32_networkadapter where PhysicalAdapter=True&quot;]</key>
                    </master_item>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>output = JSON.parse(value).map(function(net){
    return {
        &quot;{#IFNAME}&quot;: net.Name,
        &quot;{#IFDESCR}&quot;: net.Description,
        &quot;{#IFPHYSICALADAPTER}&quot;: net.PhysicalAdapter,
        &quot;{#IFALIAS}&quot; : net.NetConnectionID,
        &quot;{#IFNETENABLED}&quot;: net.NetEnabled,
        &quot;{#IFNETSTATUS}&quot;: net.NetConnectionStatus,
        &quot;{#IFSPEED}&quot;: net.Speed
    }})
return JSON.stringify({&quot;data&quot;: output})</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$NET.IF.IFALIAS.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.NOT_MATCHES}</macro>
                    <value>CHANGE_THIS</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFDESCR.NOT_MATCHES}</macro>
                    <value>CHANGE_THIS</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.MATCHES}</macro>
                    <value>.*</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
                    <value>Miniport|Virtual|Teredo|Kernel|Loopback|Bluetooth|HTTPS|6to4|QoS|Layer</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNETENABLED.MATCHES}</macro>
                    <value>True</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNETENABLED.NOT_MATCHES}</macro>
                    <value>CHANGE_THIS</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.PHYSICALADAPTER.MATCHES}</macro>
                    <value>True</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.PHYSICALADAPTER.NOT_MATCHES}</macro>
                    <value>CHANGE_THIS</value>
                    <description>This macro is used in Network interface discovery. Can be overridden on the host or linked template level.</description>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Netowrk interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                                <host>Template Module Windows network by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template Module Windows physical disks by Zabbix agent</template>
            <name>Template Module Windows physical disks by Zabbix agent</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Storage</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Physical disks WMI get</name>
                    <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Physical disks discovery</name>
                    <type>DEPENDENT</type>
                    <key>vfs.dev.discovery</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk average queue size (avgqu-sz)</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.queue_size[CurrentDiskQueueLength.{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#DEVNAME}&quot;)].CurrentDiskQueueLength.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read rate</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.read.rate[DiskReadsPersec.{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>!r/s</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#DEVNAME}&quot;)].DiskReadsPersec.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk utilization</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.util[PercentDiskTime.{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#DEVNAME}&quot;)].PercentDiskTime.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(15m)}&gt;{$VFS.DEV.UTIL.MAX.WARN}</expression>
                                    <name>{#DEVNAME}: Disk is overloaded (util &gt; {$VFS.DEV.UTIL.MAX.WARN}% for 15m)</name>
                                    <priority>WARNING</priority>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write rate</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.write.rate[DiskWritesPersec.{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>!w/s</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#DEVNAME}&quot;)].DiskWritesPersec.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk read/write rates</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Windows physical disks by Zabbix agent</host>
                                        <key>vfs.dev.read.rate[DiskReadsPersec.{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Windows physical disks by Zabbix agent</host>
                                        <key>vfs.dev.write.rate[DiskWritesPersec.{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk utilization and queue</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Windows physical disks by Zabbix agent</host>
                                        <key>vfs.dev.queue_size[CurrentDiskQueueLength.{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Windows physical disks by Zabbix agent</host>
                                        <key>vfs.dev.util[PercentDiskTime.{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                    </master_item>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>output = JSON.parse(value).map(function(dev){
    return {
        &quot;{#DEVNAME}&quot;: dev.Name,
        &quot;{#DEVQUEUE}&quot;: dev.CurrentDiskQueueLength,
        &quot;{#DEVREADS}&quot;: dev.DiskReadsPersec,
        &quot;{#DEVTIME}&quot;: dev.PercentDiskTime,
        &quot;{#DEVWRITES}&quot;: dev.DiskWritesPersec
    }})
return JSON.stringify({&quot;data&quot;: output})</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.NOT_MATCHES}</macro>
                    <value>_Total</value>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.UTIL.MAX.WARN}</macro>
                    <value>95</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Windows physical disks by Zabbix agent active</template>
            <name>Template Module Windows physical disks by Zabbix agent active</name>
            <description>Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Storage</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Physical disks WMI get</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Physical disks discovery</name>
                    <type>DEPENDENT</type>
                    <key>vfs.dev.discovery</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk average queue size (avgqu-sz)</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.queue_size[CurrentDiskQueueLength.{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#DEVNAME}&quot;)].CurrentDiskQueueLength.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read rate</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.read.rate[DiskReadsPersec.{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>!r/s</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#DEVNAME}&quot;)].DiskReadsPersec.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk utilization</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.util[PercentDiskTime.{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#DEVNAME}&quot;)].PercentDiskTime.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(15m)}&gt;{$VFS.DEV.UTIL.MAX.WARN}</expression>
                                    <name>{#DEVNAME}: Disk is overloaded (util &gt; {$VFS.DEV.UTIL.MAX.WARN}% for 15m)</name>
                                    <priority>WARNING</priority>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write rate</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.write.rate[DiskWritesPersec.{#DEVNAME}]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <units>!w/s</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>JSONPATH</type>
                                    <params>$[?(@.Name == &quot;{#DEVNAME}&quot;)].DiskWritesPersec.first()</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk read/write rates</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Module Windows physical disks by Zabbix agent active</host>
                                        <key>vfs.dev.read.rate[DiskReadsPersec.{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Windows physical disks by Zabbix agent active</host>
                                        <key>vfs.dev.write.rate[DiskWritesPersec.{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk utilization and queue</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template Module Windows physical disks by Zabbix agent active</host>
                                        <key>vfs.dev.queue_size[CurrentDiskQueueLength.{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Module Windows physical disks by Zabbix agent active</host>
                                        <key>vfs.dev.util[PercentDiskTime.{#DEVNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>wmi.getall[root\cimv2,&quot;select * from win32_perfformatteddata_perfdisk_physicaldisk&quot;]</key>
                    </master_item>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>output = JSON.parse(value).map(function(dev){
    return {
        &quot;{#DEVNAME}&quot;: dev.Name,
        &quot;{#DEVQUEUE}&quot;: dev.CurrentDiskQueueLength,
        &quot;{#DEVREADS}&quot;: dev.DiskReadsPersec,
        &quot;{#DEVTIME}&quot;: dev.PercentDiskTime,
        &quot;{#DEVWRITES}&quot;: dev.DiskWritesPersec
    }})
return JSON.stringify({&quot;data&quot;: output})</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1h</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.MATCHES}</macro>
                    <value>.*</value>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.NOT_MATCHES}</macro>
                    <value>_Total</value>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.UTIL.MAX.WARN}</macro>
                    <value>95</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Zabbix agent</template>
            <name>Template Module Zabbix agent</name>
            <description>Use this template for agents reachable from Zabbix server/proxy (passive mode).&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Monitoring agent</name>
                </application>
                <application>
                    <name>Status</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Host name of Zabbix agent running</name>
                    <key>agent.hostname</key>
                    <delay>1h</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Monitoring agent</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Zabbix agent ping</name>
                    <key>agent.ping</key>
                    <history>7d</history>
                    <description>The agent always returns 1 for this item. It could be used in combination with nodata() for availability check.</description>
                    <applications>
                        <application>
                            <name>Monitoring agent</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Zabbix agent ping status</name>
                    </valuemap>
                </item>
                <item>
                    <name>Version of Zabbix agent running</name>
                    <key>agent.version</key>
                    <delay>1h</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Monitoring agent</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Zabbix agent availability</name>
                    <type>INTERNAL</type>
                    <key>zabbix[host,agent,available]</key>
                    <history>7d</history>
                    <description>Monitoring agent availability status</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>zabbix.host.available</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{max({$AGENT.TIMEOUT})}=0</expression>
                            <name>Zabbix agent is not available (for {$AGENT.TIMEOUT})</name>
                            <priority>AVERAGE</priority>
                            <description>For passive only agents, host availability is used with {$AGENT.TIMEOUT} as time threshold.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$AGENT.TIMEOUT}</macro>
                    <value>3m</value>
                    <description>Timeout after which agent is considered unavailable. Works only for agents reachable from Zabbix server/proxy (passive mode).</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Module Zabbix agent active</template>
            <name>Template Module Zabbix agent active</name>
            <description>Use this template instead of 'Template Module Zabbix agent' for agents running in active mode only.&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Modules</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Monitoring agent</name>
                </application>
                <application>
                    <name>Status</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Host name of Zabbix agent running</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>agent.hostname</key>
                    <delay>1h</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Monitoring agent</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Zabbix agent ping</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>agent.ping</key>
                    <history>7d</history>
                    <description>The agent always returns 1 for this item. It could be used in combination with nodata() for availability check.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Zabbix agent ping status</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{nodata({$AGENT.NODATA_TIMEOUT})}=1</expression>
                            <name>Zabbix agent is not available (or nodata for {$AGENT.NODATA_TIMEOUT})</name>
                            <priority>AVERAGE</priority>
                            <description>For active agents, nodata() with agent.ping is used with {$AGENT.NODATA_TIMEOUT} as time threshold.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Version of Zabbix agent running</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>agent.version</key>
                    <delay>1h</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Monitoring agent</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$AGENT.NODATA_TIMEOUT}</macro>
                    <value>30m</value>
                    <description>No data timeout for active agents. Consider to keep it relatively high.</description>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Alcatel Timetra TiMOS SNMPv2</template>
            <name>Template Net Alcatel Timetra TiMOS SNMPv2</name>
            <description>Template Net Alcatel Timetra TiMOS&#13;
&#13;
MIBs used:&#13;
TIMETRA-CHASSIS-MIB&#13;
TIMETRA-SYSTEM-MIB&#13;
SNMPv2-MIB&#13;
&#13;
Template tooling version used: 0.32</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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.6527.3.1.2.1.1.1.0</snmp_oid>
                    <key>system.cpu.util[sgiCpuUsage.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: TIMETRA-SYSTEM-MIB&#13;
The value of sgiCpuUsage indicates the current CPU utilization for the system.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>^(\w|-|\.|/)+ (\w|-|\.|/)+ (.+) Copyright
\3</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.sw.os[sysDescr.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>^((\w|-|\.|/)+)
\1</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Available memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.6527.3.1.2.1.1.10.0</snmp_oid>
                    <key>vm.memory.available[sgiKbMemoryAvailable.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: TIMETRA-SYSTEM-MIB&#13;
The value of sgiKbMemoryAvailable indicates the amount of free memory, in kilobytes, in the overall system that is not allocated to memory pools, but is available in case a memory pool needs to grow.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Total memory</name>
                    <type>CALCULATED</type>
                    <key>vm.memory.total[snmp]</key>
                    <history>7d</history>
                    <units>B</units>
                    <params>last(&quot;vm.memory.available[sgiKbMemoryAvailable.0]&quot;)+last(&quot;vm.memory.used[sgiKbMemoryUsed.0]&quot;)</params>
                    <description>Total memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Used memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.6527.3.1.2.1.1.9.0</snmp_oid>
                    <key>vm.memory.used[sgiKbMemoryUsed.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: TIMETRA-SYSTEM-MIB&#13;
The value of sgiKbMemoryUsed indicates the total pre-allocated pool memory, in kilobytes, currently in use on the system.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>CALCULATED</type>
                    <key>vm.memory.util[vm.memory.util.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>last(&quot;vm.memory.used[sgiKbMemoryUsed.0]&quot;)/(last(&quot;vm.memory.available[sgiKbMemoryAvailable.0]&quot;)+last(&quot;vm.memory.used[sgiKbMemoryUsed.0]&quot;))*100</params>
                    <description>Memory utilization in %</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Entity Serial Numbers Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#ENT_NAME},1.3.6.1.4.1.6527.3.1.2.2.1.8.1.8,{#ENT_CLASS},1.3.6.1.4.1.6527.3.1.2.2.1.8.1.7,{#ENT_SN},1.3.6.1.4.1.6527.3.1.2.2.1.8.1.5]</snmp_oid>
                    <key>entity_sn.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#ENT_SN}</macro>
                                <value>.+</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#ENT_NAME}: Hardware serial number</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6527.3.1.2.2.1.8.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.serialnumber[tmnxHwSerialNumber.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: TIMETRA-CHASSIS-MIB</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <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>Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.6527.3.1.2.2.1.4.1.2]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>[^1]</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6527.3.1.2.2.1.4.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[tmnxChassisFanOperStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: TIMETRA-SYSTEM-MIB&#13;
Current status of the Fan tray.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>TIMETRA-CHASSIS-MIB::TmnxDeviceState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>#{#SNMPINDEX}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.6527.3.1.2.2.1.5.1.6]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6527.3.1.2.2.1.5.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[tmnxChassisPowerSupply1Status.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: TIMETRA-SYSTEM-MIB&#13;
The overall status of an equipped power supply. &#13;
For AC multiple powersupplies, this represents the overall status of the first power supplyin the tray (or shelf).&#13;
For any other type, this represents the overall status of the power supply.&#13;
If tmnxChassisPowerSupply1Status is'deviceStateOk', then all monitored statuses are 'deviceStateOk'.&#13;
A value of 'deviceStateFailed' represents a condition where at least one monitored status is in a failed state.</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>TIMETRA-CHASSIS-MIB::TmnxDeviceState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>#{#SNMPINDEX}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6527.3.1.2.2.1.5.1.7.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[tmnxChassisPowerSupply2Status.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: TIMETRA-SYSTEM-MIB&#13;
The overall status of an equipped power supply.&#13;
For AC multiple powersupplies, this represents the overall status of the second power supplyin the tray (or shelf).&#13;
For any other type, this field is unused and set to 'deviceNotEquipped'.&#13;
If tmnxChassisPowerSupply2Status is 'deviceStateOk', then all monitored statuses are 'deviceStateOk'.&#13;
A value of 'deviceStateFailed' represents a condition where at least one monitored status is in a failed state.</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>TIMETRA-CHASSIS-MIB::TmnxDeviceState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>#{#SNMPINDEX}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.6527.3.1.2.2.1.8.1.8,{#TEMP_SENSOR},1.3.6.1.4.1.6527.3.1.2.2.1.8.1.17]</snmp_oid>
                    <key>temperature.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#TEMP_SENSOR}</macro>
                                <value>1</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6527.3.1.2.2.1.8.1.18.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[tmnxHwTemperature.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: TIMETRA-SYSTEM-MIB&#13;
The current temperature reading in degrees celsius from this hardware component's temperature sensor.  If this component does not contain a temperature sensor, then the value -1 is returned.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>{#SNMPVALUE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                            <expression>{Template Net Alcatel Timetra TiMOS SNMPv2:sensor.temp.value[tmnxHwTemperature.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Net Alcatel Timetra TiMOS SNMPv2:sensor.temp.value[tmnxHwTemperature.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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>{#SNMPVALUE}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>75</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>65</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Arista SNMPv2</template>
            <name>Template Net Arista SNMPv2</name>
            <description>Template Net Arista&#13;
&#13;
MIBs used:&#13;
ENTITY-SENSORS-MIB&#13;
ENTITY-STATE-MIB&#13;
ENTITY-MIB&#13;
&#13;
Template tooling version used: 0.33</description>
            <templates>
                <template>
                    <name>Template Module EtherLike-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
                <template>
                    <name>Template Module HOST-RESOURCES-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Interfaces SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Network devices</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Power supply</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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <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>Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </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>
                            <units>rpm</units>
                            <description>MIB: ENTITY-SENSORS-MIB&#13;
The most recent measurement obtained by the agent for this sensor.&#13;
To correctly interpret the value of this object, the associated entPhySensorType,&#13;
entPhySensorScale, and entPhySensorPrecision objects must also be examined.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                        </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&#13;
The operational status of the sensor {#SENSOR_INFO}</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ENTITY-SENSORS-MIB::EntitySensorStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </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>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#ENT_NAME}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </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&#13;
The operational status of the sensor {#SENSOR_INFO}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ENTITY-SENSORS-MIB::EntitySensorStatus</name>
                            </valuemap>
                        </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>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: ENTITY-SENSORS-MIB&#13;
The most recent measurement obtained by the agent for this sensor.&#13;
To correctly interpret the value of this object, the associated entPhySensorType,&#13;
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>
                            <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>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>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>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Net Arista SNMPv2:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}&#13;
or&#13;
{Template Net Arista SNMPv2:sensor.temp.status[entPhySensorOperStatus.{#SNMPINDEX}].last(0)}={$TEMP_WARN_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Net Arista SNMPv2: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>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>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 SNMPv2:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                    <recovery_expression>{Template Net Arista SNMPv2:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.NAME.NOT_MATCHES}</macro>
                    <value>(Buffer|Cache)</value>
                    <description>Filter is overriden to ignore RAM(Cache) and RAM(Buffers) memory objects.</description>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>2</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>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.CRIT}</macro>
                    <value>95</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.WARN}</macro>
                    <value>90</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Brocade FC SNMPv2</template>
            <name>Template Net Brocade FC SNMPv2</name>
            <description>Template Net Brocade FC&#13;
&#13;
MIBs used:&#13;
SW-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: no IF-MIB::ifAlias is available&#13;
  Version: v6.3.1c, v7.0.0c,  v7.4.1c&#13;
  Device: all&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1588.2.1.1.1.26.1.0</snmp_oid>
                    <key>system.cpu.util[swCpuUsage.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: SW-MIB&#13;
System's CPU usage.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1588.2.1.1.1.1.6.0</snmp_oid>
                    <key>system.hw.firmware</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SW-MIB</description>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1588.2.1.1.1.1.10.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SW-MIB</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Overall system health status</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1588.2.1.1.1.1.7.0</snmp_oid>
                    <key>system.status[swOperStatus.0]</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <description>MIB: SW-MIB&#13;
The current operational status of the switch.The states are as follow:&#13;
online(1) means the switch is accessible by an external Fibre Channel port&#13;
offline(2) means the switch is not accessible&#13;
testing(3) means the switch is in a built-in test mode and is not accessible by an external Fibre Channel port&#13;
faulty(4) means the switch is not operational.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>SW-MIB::swOperStatus</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_CRIT_STATUS},eq)}=1</expression>
                            <name>System status is in critical state</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>Please check the device for errors</description>
                        </trigger>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_WARN_STATUS:&quot;offline&quot;},eq)}=1 or {count(#1,{$HEALTH_WARN_STATUS:&quot;testing&quot;},eq)}=1</expression>
                            <name>System status is in warning state</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>Please check the device for warnings</description>
                            <dependencies>
                                <dependency>
                                    <name>System status is in critical state</name>
                                    <expression>{Template Net Brocade FC SNMPv2:system.status[swOperStatus.0].count(#1,{$HEALTH_CRIT_STATUS},eq)}=1</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1588.2.1.1.1.26.6.0</snmp_oid>
                    <key>vm.memory.util[swMemUsage.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: SW-MIB&#13;
Memory utilization in %</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.1588.2.1.1.1.1.22.1.1,{#SENSOR_TYPE},1.3.6.1.4.1.1588.2.1.1.1.1.22.1.2,{#SENSOR_INFO},1.3.6.1.4.1.1588.2.1.1.1.1.22.1.5]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_TYPE}</macro>
                                <value>2</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Fan speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1588.2.1.1.1.1.22.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.speed[swSensorValue.{#SNMPINDEX}]</key>
                            <units>rpm</units>
                            <description>MIB: SW-MIB&#13;
The current value (reading) of the sensor.&#13;
The value, -2147483648, represents an unknown quantity.&#13;
The fan value will be in RPM(revolution per minute)</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1588.2.1.1.1.1.22.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[swSensorStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: SW-MIB</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>SW-MIB::swSensorStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_OK_STATUS},ne)}=1</expression>
                                    <name>{#SENSOR_INFO}: Fan is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the fan unit</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_INFO}: Fan is in critical state</name>
                                            <expression>{Template Net Brocade FC SNMPv2:sensor.fan.status[swSensorStatus.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.1588.2.1.1.1.1.22.1.1,{#SENSOR_TYPE},1.3.6.1.4.1.1588.2.1.1.1.1.22.1.2,{#SENSOR_INFO},1.3.6.1.4.1.1588.2.1.1.1.1.22.1.5]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_TYPE}</macro>
                                <value>3</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1588.2.1.1.1.1.22.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[swSensorStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: SW-MIB</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>SW-MIB::swSensorStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_OK_STATUS},ne)}=1</expression>
                                    <name>{#SENSOR_INFO}: Power supply is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the power supply unit for errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_INFO}: Power supply is in critical state</name>
                                            <expression>{Template Net Brocade FC SNMPv2:sensor.psu.status[swSensorStatus.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.1588.2.1.1.1.1.22.1.1,{#SENSOR_TYPE},1.3.6.1.4.1.1588.2.1.1.1.1.22.1.2,{#SENSOR_INFO},1.3.6.1.4.1.1588.2.1.1.1.1.22.1.5]</snmp_oid>
                    <key>temperature.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_TYPE}</macro>
                                <value>1</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Temperature status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1588.2.1.1.1.1.22.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.status[swSensorStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: SW-MIB&#13;
Temperature status of testpoint: {#SENSOR_INFO}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>SW-MIB::swSensorStatus</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1588.2.1.1.1.1.22.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[swSensorValue.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: SW-MIB&#13;
Temperature readings of testpoint: {#SENSOR_INFO}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>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>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Net Brocade FC SNMPv2:sensor.temp.value[swSensorValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}&#13;
or&#13;
{Template Net Brocade FC SNMPv2:sensor.temp.status[swSensorStatus.{#SNMPINDEX}].last(0)}={$TEMP_WARN_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Net Brocade FC SNMPv2:sensor.temp.value[swSensorValue.{#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>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>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 Brocade FC SNMPv2:sensor.temp.value[swSensorValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                    <recovery_expression>{Template Net Brocade FC SNMPv2:sensor.temp.value[swSensorValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$FAN_OK_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_CRIT_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_WARN_STATUS:&quot;offline&quot;}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_WARN_STATUS:&quot;testing&quot;}</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>{$PSU_OK_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>75</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>65</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN_STATUS}</macro>
                    <value>5</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Brocade_Foundry Nonstackable SNMPv2</template>
            <name>Template Net Brocade_Foundry Nonstackable SNMPv2</name>
            <description>Template Net Brocade_Foundry Nonstackable&#13;
&#13;
MIBs used:&#13;
FOUNDRY-SN-AGENT-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Brocade_Foundry Performance 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>Fans</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1991.1.1.2.1.11.0</snmp_oid>
                    <key>system.hw.firmware</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: FOUNDRY-SN-AGENT-MIB&#13;
The version of the running software in the form'major.minor.maintenance[letters]'</description>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1991.1.1.1.1.2.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: FOUNDRY-SN-AGENT-MIB</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#FAN_INDEX},1.3.6.1.4.1.1991.1.1.1.3.1.1.1]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <description>snChasFanTable: A table of each fan information. Only installed fan appears in a table row.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Fan {#FAN_INDEX}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1991.1.1.1.3.1.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[snChasFanOperStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: FOUNDRY-SN-AGENT-MIB</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>FOUNDRY-SN-AGENT-MIB::snChasFanOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>Fan {#FAN_INDEX}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_OK_STATUS},ne)}=1</expression>
                                    <name>Fan {#FAN_INDEX}: Fan is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the fan unit</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Fan {#FAN_INDEX}: Fan is in critical state</name>
                                            <expression>{Template Net Brocade_Foundry Nonstackable SNMPv2:sensor.fan.status[snChasFanOperStatus.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#PSU_INDEX},1.3.6.1.4.1.1991.1.1.1.2.1.1.1]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <description>snChasPwrSupplyTable: A table of each power supply information. Only installed power supply appears in a table row.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>PSU {#PSU_INDEX}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1991.1.1.1.2.1.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[snChasPwrSupplyOperStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: FOUNDRY-SN-AGENT-MIB</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>FOUNDRY-SN-AGENT-MIB::snChasPwrSupplyOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>PSU {#PSU_INDEX}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_OK_STATUS},ne)}=1</expression>
                                    <name>PSU {#PSU_INDEX}: Power supply is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the power supply unit for errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>PSU {#PSU_INDEX}: Power supply is in critical state</name>
                                            <expression>{Template Net Brocade_Foundry Nonstackable SNMPv2:sensor.psu.status[snChasPwrSupplyOperStatus.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery Chassis</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.1991.1.1.1.1.18]</snmp_oid>
                    <key>temp.chassis.discovery</key>
                    <delay>1h</delay>
                    <description>Since temperature of the chassis is not available on all Brocade/Foundry hardware, this LLD is here to avoid unsupported items.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Chassis #{#SNMPINDEX}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1991.1.1.1.1.18.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[snChasActualTemperature.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: FOUNDRY-SN-AGENT-MIB&#13;
Temperature of the chassis. Each unit is 0.5 degrees Celcius.&#13;
Only management module built with temperature sensor hardware is applicable.&#13;
For those non-applicable management module, it returns no-such-name.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.5</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;Chassis&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;Chassis&quot;}-3</recovery_expression>
                                    <name>Chassis #{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Chassis&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;Chassis&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;Chassis&quot;}-3</recovery_expression>
                                    <name>Chassis #{#SNMPINDEX}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Chassis&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Chassis #{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Chassis&quot;}</name>
                                            <expression>{Template Net Brocade_Foundry Nonstackable SNMPv2:sensor.temp.value[snChasActualTemperature.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Chassis&quot;}</expression>
                                            <recovery_expression>{Template Net Brocade_Foundry Nonstackable SNMPv2:sensor.temp.value[snChasActualTemperature.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Chassis&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Chassis&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Chassis&quot;}+3</recovery_expression>
                                    <name>Chassis #{#SNMPINDEX}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Chassis&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SENSOR_DESCR},1.3.6.1.4.1.1991.1.1.2.13.1.1.3]</snmp_oid>
                    <key>temp.discovery</key>
                    <delay>1h</delay>
                    <description>snAgentTempTable:Table to list temperatures of the modules in the device. This table is applicable to only those modules with temperature sensors.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_DESCR}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1991.1.1.2.13.1.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[snAgentTempValue.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: FOUNDRY-SN-AGENT-MIB&#13;
Temperature of the sensor represented by this row. Each unit is 0.5 degrees Celsius.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.5</params>
                                </step>
                            </preprocessing>
                            <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_DESCR}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_DESCR}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_DESCR}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                            <expression>{Template Net Brocade_Foundry Nonstackable SNMPv2:sensor.temp.value[snAgentTempValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Net Brocade_Foundry Nonstackable SNMPv2:sensor.temp.value[snAgentTempValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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_DESCR}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$FAN_OK_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$PSU_OK_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>75</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>65</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Brocade_Foundry Stackable SNMPv2</template>
            <name>Template Net Brocade_Foundry Stackable SNMPv2</name>
            <description>Template Brocade_Foundry Stackable&#13;
&#13;
MIBs used:&#13;
FOUNDRY-SN-AGENT-MIB&#13;
FOUNDRY-SN-STACKING-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: Correct fan(returns fan status as 'other(1)' and temperature (returns 0) for the non-master Switches are not available in SNMP&#13;
  Version: Version 08.0.40b and above&#13;
  Device: ICX 7750 in stack&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Brocade_Foundry Performance 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>Fans</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1991.1.1.2.1.11.0</snmp_oid>
                    <key>system.hw.firmware</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: FOUNDRY-SN-AGENT-MIB&#13;
The version of the running software in the form 'major.minor.maintenance[letters]'</description>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Chassis Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.1991.1.1.1.4.1.1.1]</snmp_oid>
                    <key>chassis.discovery</key>
                    <delay>1h</delay>
                    <description>snChasUnitIndex: The index to chassis table.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Unit {#SNMPVALUE}: Hardware serial number</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1991.1.1.1.4.1.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.serialnumber[snChasUnitSerNum.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: FOUNDRY-SN-AGENT-MIB&#13;
The serial number of the chassis for each unit. If the serial number is unknown or unavailable then the value should be a zero length string.</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                                    <recovery_mode>NONE</recovery_mode>
                                    <name>Unit {#SNMPVALUE}: Device has been replaced (new serial number received)</name>
                                    <priority>INFO</priority>
                                    <description>Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#FAN_UNIT},1.3.6.1.4.1.1991.1.1.1.3.2.1.1,{#FAN_INDEX},1.3.6.1.4.1.1991.1.1.1.3.2.1.2]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <description>snChasFan2Table: A table of each fan information for each unit. Only installed fan appears in a table row.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Unit {#FAN_UNIT} Fan {#FAN_INDEX}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1991.1.1.1.3.2.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[snChasFan2OperStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: FOUNDRY-SN-AGENT-MIB</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>FOUNDRY-SN-AGENT-MIB::snChasFanOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>Unit {#FAN_UNIT} Fan {#FAN_INDEX}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_OK_STATUS},ne)}=1</expression>
                                    <name>Unit {#FAN_UNIT} Fan {#FAN_INDEX}: Fan is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the fan unit</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Unit {#FAN_UNIT} Fan {#FAN_INDEX}: Fan is in critical state</name>
                                            <expression>{Template Net Brocade_Foundry Stackable SNMPv2:sensor.fan.status[snChasFan2OperStatus.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#PSU_UNIT},1.3.6.1.4.1.1991.1.1.1.2.2.1.1,{#PSU_INDEX},1.3.6.1.4.1.1991.1.1.1.2.2.1.2]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <description>snChasPwrSupply2Table: A table of each power supply information for each unit. Only installed power supply appears in a table row.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Unit {#PSU_UNIT} PSU {#PSU_INDEX}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1991.1.1.1.2.2.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[snChasPwrSupply2OperStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: FOUNDRY-SN-AGENT-MIB</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>FOUNDRY-SN-AGENT-MIB::snChasPwrSupplyOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>Unit {#PSU_UNIT} PSU {#PSU_INDEX}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_OK_STATUS},ne)}=1</expression>
                                    <name>Unit {#PSU_UNIT} PSU {#PSU_INDEX}: Power supply is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the power supply unit for errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Unit {#PSU_UNIT} PSU {#PSU_INDEX}: Power supply is in critical state</name>
                                            <expression>{Template Net Brocade_Foundry Stackable SNMPv2:sensor.psu.status[snChasPwrSupply2OperStatus.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Stack Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.1991.1.1.3.31.2.1.1.5]</snmp_oid>
                    <key>stack.discovery</key>
                    <delay>1h</delay>
                    <description>Discovering snStackingConfigUnitTable for Model names</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Unit {#SNMPINDEX}: Hardware model name</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1991.1.1.3.31.2.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.model[snStackingConfigUnitType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: FOUNDRY-SN-STACKING-MIB&#13;
A description of the configured/active system type for each unit.</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SENSOR_DESCR},1.3.6.1.4.1.1991.1.1.2.13.3.1.4]</snmp_oid>
                    <key>temp.discovery</key>
                    <delay>1h</delay>
                    <description>snAgentTemp2Table:Table to list temperatures of the modules in the device for each unit. This table is applicable to only those modules with temperature sensors.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_DESCR}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1991.1.1.2.13.3.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[snAgentTemp2Value.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: FOUNDRY-SN-AGENT-MIB&#13;
Temperature of the sensor represented by this row. Each unit is 0.5 degrees Celsius.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.5</params>
                                </step>
                            </preprocessing>
                            <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_DESCR}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_DESCR}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_DESCR}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                            <expression>{Template Net Brocade_Foundry Stackable SNMPv2:sensor.temp.value[snAgentTemp2Value.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Net Brocade_Foundry Stackable SNMPv2:sensor.temp.value[snAgentTemp2Value.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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_DESCR}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$FAN_OK_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$PSU_OK_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>75</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>65</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Cisco IOS prior to 12.0_3_T SNMPv2</template>
            <name>Template Net Cisco IOS prior to 12.0_3_T SNMPv2</name>
            <description>Cisco IOS Software releases prior to 12.0(3)T&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Cisco CISCO-ENVMON-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Cisco CISCO-MEMORY-POOL-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Cisco Inventory SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Cisco OLD-CISCO-CPU-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Network devices</name>
                </group>
            </groups>
        </template>
        <template>
            <template>Template Net Cisco IOS SNMPv2</template>
            <name>Template Net Cisco IOS SNMPv2</name>
            <description>Template Cisco IOS Software releases 12.2(3.5) or later&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: no if(in|out)(Errors|Discards) are available for vlan ifType&#13;
  Version: IOS for example: 12.1(22)EA11, 15.4(3)M2&#13;
  Device: C2911, C7600&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Cisco CISCO-ENVMON-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Cisco CISCO-MEMORY-POOL-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Cisco CISCO-PROCESS-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Cisco Inventory SNMPv2</name>
                </template>
                <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>
        </template>
        <template>
            <template>Template Net Cisco IOS versions 12.0_3_T-12.2_3.5 SNMPv2</template>
            <name>Template Net Cisco IOS versions 12.0_3_T-12.2_3.5 SNMPv2</name>
            <description>Cisco IOS Software releases later to 12.0(3)T and prior to 12.2(3.5)&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Cisco CISCO-ENVMON-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Cisco CISCO-MEMORY-POOL-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Cisco CISCO-PROCESS-MIB IOS versions 12.0_3_T-12.2_3.5 SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Cisco Inventory 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>
        </template>
        <template>
            <template>Template Net D-Link DES 7200 SNMPv2</template>
            <name>Template Net D-Link DES 7200 SNMPv2</name>
            <description>Template D-Link DES 7200&#13;
&#13;
MIBs used:&#13;
MY-PROCESS-MIB&#13;
SNMPv2-MIB&#13;
MY-MEMORY-MIB&#13;
ENTITY-MIB&#13;
MY-SYSTEM-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.171.10.97.2.36.1.1.3.0</snmp_oid>
                    <key>system.cpu.util[myCPUUtilization5Min.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: MY-PROCESS-MIB&#13;
CPU utilization in %</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.9.1</snmp_oid>
                    <key>system.hw.firmware</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>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
A textual description of the entity. This value should&#13;
include the full name and version identification of the system's hardware type, software operating-system, and&#13;
networking software.</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware version(revision)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.8.1</snmp_oid>
                    <key>system.hw.version</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>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.171.10.97.2.1.1.2.0</snmp_oid>
                    <key>system.sw.os[mySystemSwVersion.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: MY-SYSTEM-MIB</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.171.10.97.2.1.1.21.1.3]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.171.10.97.2.1.1.21.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[mySystemFanIsNormal.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: MY-SYSTEM-MIB</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>MY-SYSTEM-MIB::mySystemFanIsNormal</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SNMPVALUE}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Memory Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.171.10.97.2.35.1.1.1.2]</snmp_oid>
                    <key>memory.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPINDEX}: Memory utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.171.10.97.2.35.1.1.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.util[myMemoryPoolCurrentUtilization.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: MY-MEMORY-MIB&#13;
This is the memory pool utilization currently.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                    <name>{#SNMPINDEX}: High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </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 D-Link DES 7200 SNMPv2</host>
                                        <key>vm.memory.util[myMemoryPoolCurrentUtilization.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.171.10.97.2.1.1.18.1.3]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.171.10.97.2.1.1.18.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[mySystemElectricalSourceIsNormal.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: MY-SYSTEM-MIB</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>MY-SYSTEM-MIB::mySystemFanIsNormal</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SNMPVALUE}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.171.10.97.2.1.1.23.1.2]</snmp_oid>
                    <key>temperature.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.171.10.97.2.1.1.23.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[mySystemTemperatureCurrent.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: MY-SYSTEM-MIB&#13;
Return the current temperature of the FastSwitch.The temperature display is not supported for the current temperature returns to 0.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>{#SNMPVALUE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                            <expression>{Template Net D-Link DES 7200 SNMPv2:sensor.temp.value[mySystemTemperatureCurrent.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Net D-Link DES 7200 SNMPv2:sensor.temp.value[mySystemTemperatureCurrent.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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>{#SNMPVALUE}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>75</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>65</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net D-Link DES_DGS Switch SNMPv2</template>
            <name>Template Net D-Link DES_DGS Switch SNMPv2</name>
            <description>Template D-Link DES_DGS Switch&#13;
&#13;
MIBs used:&#13;
DLINK-AGENT-MIB&#13;
SNMPv2-MIB&#13;
ENTITY-MIB&#13;
EQUIPMENT-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: D-Link reports missing PSU as fail(4)&#13;
  Version: Firmware: 1.73R008,hardware revision: B1&#13;
  Device: DGS-3420-26SC Gigabit Ethernet Switch&#13;
&#13;
Template tooling version used: 0.32</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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.171.12.1.1.6.2.0</snmp_oid>
                    <key>system.cpu.util[agentCPUutilizationIn1min.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: DLINK-AGENT-MIB&#13;
The unit of time is 1 minute. The value will be between 0% (idle) and 100%(very busy).</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.9.1</snmp_oid>
                    <key>system.hw.firmware</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>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB&#13;
A textual description of the entity.  This value should&#13;
include the full name and version identification of the system's hardware type, software operating-system, and&#13;
networking software.</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.171.12.1.1.12.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: DLINK-AGENT-MIB&#13;
A text string containing the serial number of this device.</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware version(revision)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.8.1</snmp_oid>
                    <key>system.hw.version</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>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.171.12.11.1.7.1.2,{#STATUS},1.3.6.1.4.1.171.12.11.1.7.1.3]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#STATUS}</macro>
                                <value>[^0]</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>swFanID of EQUIPMENT-MIB::swFanTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.171.12.11.1.7.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[swFanStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: EQUIPMENT-MIB&#13;
Indicates the current fan status.&#13;
speed-0     : If the fan function is normal and the fan does not spin            due to the temperature not  reaching the threshold, the status of the fan is speed 0.&#13;
speed-low   : Fan spin using the lowest speed.&#13;
speed-middle: Fan spin using the middle speed.&#13;
speed-high  : Fan spin using the highest speed.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>EQUIPMENT-MIB::swFanStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>#{#SNMPVALUE}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Memory Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.171.12.1.1.9.1.1]</snmp_oid>
                    <key>memory.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Memory utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.171.12.1.1.9.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.util[agentDRAMutilization.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: DLINK-AGENT-MIB&#13;
The percentage of used DRAM memory of the total DRAM memory available.The value will be between 0%(idle) and 100%(very busy)</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                    <name>#{#SNMPVALUE}: High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>#{#SNMPVALUE}: 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 D-Link DES_DGS Switch SNMPv2</host>
                                        <key>vm.memory.util[agentDRAMutilization.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.171.12.11.1.6.1.2,{#STATUS},1.3.6.1.4.1.171.12.11.1.6.1.3]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#STATUS}</macro>
                                <value>[^0]</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>swPowerID of EQUIPMENT-MIB::swPowerTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.171.12.11.1.6.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[swPowerStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: EQUIPMENT-MIB&#13;
Indicates the current power status.&#13;
lowVoltage : The voltage of the power unit is too low.&#13;
overCurrent: The current of the power unit is too high.&#13;
working    : The power unit is working normally.&#13;
fail       : The power unit has failed.&#13;
connect    : The power unit is connected but not powered on.&#13;
disconnect : The power unit is not connected.</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>EQUIPMENT-MIB::swPowerStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>#{#SNMPVALUE}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.171.12.11.1.8.1.1]</snmp_oid>
                    <key>temperature.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.171.12.11.1.8.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[swTemperatureCurrent.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: EQUIPMENT-MIB&#13;
The shelf current temperature.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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>#{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>#{#SNMPVALUE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>#{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                            <expression>{Template Net D-Link DES_DGS Switch SNMPv2:sensor.temp.value[swTemperatureCurrent.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Net D-Link DES_DGS Switch SNMPv2:sensor.temp.value[swTemperatureCurrent.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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>#{#SNMPVALUE}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>75</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>65</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Dell Force S-Series SNMPv2</template>
            <name>Template Net Dell Force S-Series SNMPv2</name>
            <description>Template Dell Force S-Series&#13;
&#13;
MIBs used:&#13;
F10-S-SERIES-CHASSIS-MIB&#13;
&#13;
Template tooling version used: 0.32</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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.6027.3.10.1.2.4.1.1]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>Fan {#SNMPVALUE}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6027.3.10.1.2.4.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[chSysFanTrayOperStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: F10-S-SERIES-CHASSIS-MIB&#13;
The status of the fan tray {#SNMPVALUE}.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>F10-S-SERIES-CHASSIS-MIB::chSysFanTrayOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>Fan {#SNMPVALUE}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_OK_STATUS},ne)}=1</expression>
                                    <name>Fan {#SNMPVALUE}: Fan is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the fan unit</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Fan {#SNMPVALUE}: Fan is in critical state</name>
                                            <expression>{Template Net Dell Force S-Series SNMPv2:sensor.fan.status[chSysFanTrayOperStatus.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>CPU and Memory and Flash Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.6027.3.10.1.2.9.1.1]</snmp_oid>
                    <key>module.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: CPU utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6027.3.10.1.2.9.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>system.cpu.util[chStackUnitCpuUtil1Min.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: F10-S-SERIES-CHASSIS-MIB&#13;
CPU utilization in percentage for last 1 minute.</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                    <name>#{#SNMPINDEX}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: Memory utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6027.3.10.1.2.9.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.util[chStackUnitMemUsageUtil.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: F10-S-SERIES-CHASSIS-MIB&#13;
Total memory usage in percentage.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                    <name>#{#SNMPINDEX}: High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>#{#SNMPINDEX}: 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 Dell Force S-Series SNMPv2</host>
                                        <key>system.cpu.util[chStackUnitCpuUtil1Min.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <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 Dell Force S-Series SNMPv2</host>
                                        <key>vm.memory.util[chStackUnitMemUsageUtil.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.6027.3.10.1.2.3.1.1]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <description>A list of power supply residents in the S-series chassis.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>PSU {#SNMPVALUE}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6027.3.10.1.2.3.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[chSysPowerSupplyOperStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: F10-S-SERIES-CHASSIS-MIB&#13;
The status of the power supply {#SNMPVALUE}</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>F10-S-SERIES-CHASSIS-MIB::chSysPowerSupplyOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>PSU {#SNMPVALUE}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_OK_STATUS},ne)}=1</expression>
                                    <name>PSU {#SNMPVALUE}: Power supply is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the power supply unit for errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>PSU {#SNMPVALUE}: Power supply is in critical state</name>
                                            <expression>{Template Net Dell Force S-Series SNMPv2:sensor.psu.status[chSysPowerSupplyOperStatus.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Stack Unit Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.6027.3.10.1.2.2.1.2]</snmp_oid>
                    <key>stack.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>Device {#SNMPVALUE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6027.3.10.1.2.2.1.14.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[chStackUnitTemp.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: F10-S-SERIES-CHASSIS-MIB&#13;
The temperature of the unit.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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>Device {#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>Device {#SNMPVALUE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Device {#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                            <expression>{Template Net Dell Force S-Series SNMPv2:sensor.temp.value[chStackUnitTemp.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Net Dell Force S-Series SNMPv2:sensor.temp.value[chStackUnitTemp.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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>Device {#SNMPVALUE}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Hardware model name</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6027.3.10.1.2.2.1.7.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.model[chStackUnitModelID.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: F10-S-SERIES-CHASSIS-MIB&#13;
The plugged-in model ID for this unit.</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Hardware serial number</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6027.3.10.1.2.2.1.12.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.serialnumber[chStackUnitSerialNumber.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: F10-S-SERIES-CHASSIS-MIB&#13;
The unit's serial number.</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                                    <recovery_mode>NONE</recovery_mode>
                                    <name>#{#SNMPVALUE}: Device has been replaced (new serial number received)</name>
                                    <priority>INFO</priority>
                                    <description>Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Hardware version(revision)</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6027.3.10.1.2.2.1.21.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.version[chStackUnitProductRev.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: F10-S-SERIES-CHASSIS-MIB&#13;
The unit manufacturer's product revision</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Operating system</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.6027.3.10.1.2.2.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>system.sw.os[chStackUnitCodeVersion.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: F10-S-SERIES-CHASSIS-MIB&#13;
Current code version of this unit.</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                                    <recovery_mode>NONE</recovery_mode>
                                    <name>#{#SNMPVALUE}: Operating system description has changed</name>
                                    <priority>INFO</priority>
                                    <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$FAN_OK_STATUS}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$PSU_OK_STATUS}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>65</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>55</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Extreme EXOS SNMPv2</template>
            <name>Template Net Extreme EXOS SNMPv2</name>
            <description>Template Extreme EXOS&#13;
&#13;
MIBs used:&#13;
EXTREME-SOFTWARE-MONITOR-MIB&#13;
EXTREME-SYSTEM-MIB&#13;
ENTITY-MIB&#13;
&#13;
Template tooling version used: 0.32</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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Device: Temperature status</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1916.1.1.1.7.0</snmp_oid>
                    <key>sensor.temp.status[extremeOverTemperatureAlarm.0]</key>
                    <delay>3m</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <description>MIB: EXTREME-SYSTEM-MIB&#13;
Temperature status of testpoint: Device</description>
                    <applications>
                        <application>
                            <name>Temperature</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>EXTREME-SYSTEM-MIB::extremeOverTemperatureAlarm</name>
                    </valuemap>
                </item>
                <item>
                    <name>Device: Temperature</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1916.1.1.1.8.0</snmp_oid>
                    <key>sensor.temp.value[extremeCurrentTemperature.0]</key>
                    <delay>3m</delay>
                    <value_type>FLOAT</value_type>
                    <units>°C</units>
                    <description>MIB: EXTREME-SYSTEM-MIB&#13;
Temperature readings of testpoint: Device&#13;
Reference: https://gtacknowledge.extremenetworks.com/articles/Q_A/Does-EXOS-support-temperature-polling-via-SNMP-on-all-nodes-in-a-stack</description>
                    <applications>
                        <application>
                            <name>Temperature</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                            <name>Device: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                            <dependencies>
                                <dependency>
                                    <name>Device: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <expression>{Template Net Extreme EXOS SNMPv2:sensor.temp.value[extremeCurrentTemperature.0].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}&#13;
or&#13;
{Template Net Extreme EXOS SNMPv2:sensor.temp.status[extremeOverTemperatureAlarm.0].last(0)}={$TEMP_CRIT_STATUS}</expression>
                                    <recovery_expression>{Template Net Extreme EXOS SNMPv2:sensor.temp.value[extremeCurrentTemperature.0].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <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>Device: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1916.1.32.1.2.0</snmp_oid>
                    <key>system.cpu.util[extremeCpuMonitorTotalUtilization.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: EXTREME-SOFTWARE-MONITOR-MIB&#13;
Total CPU utlization (percentage) as of last sampling.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.9.1</snmp_oid>
                    <key>system.hw.firmware</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>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.2.1</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: ENTITY-MIB</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.11.1</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: ENTITY-MIB</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware version(revision)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.9.1</snmp_oid>
                    <key>system.hw.version</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>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.1916.1.1.1.13.0</snmp_oid>
                    <key>system.sw.os[extremePrimarySoftwareRev.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: EXTREME-SYSTEM-MIB&#13;
The software revision of the primary image stored in this device.&#13;
This string will have a zero length if the revision is unknown, invalid or not present.&#13;
This will also be reported in RMON2 probeSoftwareRev if this is the software image currently running in the device.</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.1916.1.1.1.9.1.1]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>Fan {#SNMPVALUE}: Fan speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1916.1.1.1.9.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.speed[extremeFanSpeed.{#SNMPINDEX}]</key>
                            <units>rpm</units>
                            <description>MIB: EXTREME-SYSTEM-MIB&#13;
The speed (RPM) of a cooling fan in the fantray {#SNMPVALUE}</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Fan {#SNMPVALUE}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1916.1.1.1.9.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[extremeFanOperational.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: EXTREME-SYSTEM-MIB&#13;
Operational status of a cooling fan.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>EXTREME-SYSTEM-MIB::extremeFanOperational</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>Fan {#SNMPVALUE}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Memory Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.1916.1.32.2.2.1.1]</snmp_oid>
                    <key>memory.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Available memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1916.1.32.2.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.available[extremeMemoryMonitorSystemFree.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: EXTREME-SOFTWARE-MONITOR-MIB&#13;
Total amount of free memory in Kbytes in the system.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1024</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Total memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1916.1.32.2.2.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.total[extremeMemoryMonitorSystemTotal.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: EXTREME-SOFTWARE-MONITOR-MIB&#13;
Total amount of DRAM in Kbytes in the system.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1024</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Memory utilization</name>
                            <type>CALCULATED</type>
                            <key>vm.memory.util[{#SNMPVALUE}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <params>(last(&quot;vm.memory.total[extremeMemoryMonitorSystemTotal.{#SNMPINDEX}]&quot;) - last(&quot;vm.memory.available[extremeMemoryMonitorSystemFree.{#SNMPINDEX}]&quot;)) / last(&quot;vm.memory.total[extremeMemoryMonitorSystemTotal.{#SNMPINDEX}]&quot;) * 100</params>
                            <description>Memory utilization in %</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                    <name>#{#SNMPVALUE}: High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>#{#SNMPVALUE}: Memory usage</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Net Extreme EXOS SNMPv2</host>
                                        <key>vm.memory.total[extremeMemoryMonitorSystemTotal.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Net Extreme EXOS SNMPv2</host>
                                        <key>vm.memory.available[extremeMemoryMonitorSystemFree.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>#{#SNMPVALUE}: 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 Extreme EXOS SNMPv2</host>
                                        <key>vm.memory.util[{#SNMPVALUE}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.1916.1.1.1.27.1.1]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <description>Table of status of all power supplies in the system.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>PSU {#SNMPVALUE}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.1916.1.1.1.27.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[extremePowerSupplyStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: EXTREME-SYSTEM-MIB&#13;
Status of the power supply {#SNMPVALUE}</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>EXTREME-SYSTEM-MIB::extremePowerSupplyStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>PSU {#SNMPVALUE}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>65</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_STATUS}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>55</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net HP Comware HH3C SNMPv2</template>
            <name>Template Net HP Comware HH3C SNMPv2</name>
            <description>Template Net HP Comware (HH3C)&#13;
&#13;
MIBs used:&#13;
ENTITY-MIB&#13;
HH3C-ENTITY-EXT-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: No temperature sensors. All entities of them return 0 for HH3C-ENTITY-EXT-MIB::hh3cEntityExtTemperature&#13;
  Version: 1910-48 Switch Software Version 5.20.99, Release 1116 Copyright(c)2010-2016 Hewlett Packard Enterprise Development LP&#13;
  Device: HP 1910-48&#13;
&#13;
Template tooling version used: 0.32</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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power supply</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}: Firmware version</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.9.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.firmware[entPhysicalFirmwareRev.{#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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                                    <recovery_mode>NONE</recovery_mode>
                                    <name>{#ENT_NAME}: Firmware has changed</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Firmware version has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <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.2.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.model[entPhysicalDescr.{#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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <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>Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#ENT_NAME}: Hardware version(revision)</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.version[entPhysicalHardwareRev.{#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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#ENT_NAME}: Operating system</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>system.sw.os[entPhysicalSoftwareRev.{#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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                                    <recovery_mode>NONE</recovery_mode>
                                    <name>{#ENT_NAME}: Operating system description has changed</name>
                                    <priority>INFO</priority>
                                    <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>FAN 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,{#ENT_DESCR},1.3.6.1.2.1.47.1.1.1.1.2]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#ENT_CLASS}</macro>
                                <value>7</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering all entities of PhysicalClass - 7: fan(7)</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#ENT_NAME}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.25506.2.6.1.1.1.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[hh3cEntityExtErrorStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: HH3C-ENTITY-EXT-MIB&#13;
Indicate the error state of this entity object.&#13;
fanError(41) means that the fan stops working.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>HH3C-ENTITY-EXT-MIB::hh3cEntityExtErrorStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS:&quot;fanError&quot;},eq)}=1 or {count(#1,{$FAN_CRIT_STATUS:&quot;hardwareFaulty&quot;},eq)}=1</expression>
                                    <name>{#ENT_NAME}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Module Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.47.1.1.1.1.2,{#MODULE_NAME},1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>module.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>OR</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>^(MODULE|Module) (LEVEL|level)1$</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>(Fabric|FABRIC) (.+) (Module|MODULE)</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Filter limits results to 'Module level1' or Fabric Modules</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#MODULE_NAME}: CPU utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.25506.2.6.1.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>system.cpu.util[hh3cEntityExtCpuUsage.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: HH3C-ENTITY-EXT-MIB&#13;
The CPU usage for this entity. Generally, the CPU usage&#13;
will calculate the overall CPU usage on the entity, and it&#13;
is not sensible with the number of CPU on the entity</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                    <name>{#MODULE_NAME}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#MODULE_NAME}: Memory utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.25506.2.6.1.1.1.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.util[hh3cEntityExtMemUsage.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: HH3C-ENTITY-EXT-MIB&#13;
The memory usage for the entity. This object indicates what&#13;
percent of memory are used.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                    <name>{#MODULE_NAME}: High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#MODULE_NAME}: 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 HP Comware HH3C SNMPv2</host>
                                        <key>system.cpu.util[hh3cEntityExtCpuUsage.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#MODULE_NAME}: 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 HP Comware HH3C SNMPv2</host>
                                        <key>vm.memory.util[hh3cEntityExtMemUsage.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </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,{#ENT_DESCR},1.3.6.1.2.1.47.1.1.1.1.2]</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>
                    <description>Discovering all entities of PhysicalClass - 6: powerSupply(6)</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#ENT_NAME}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.25506.2.6.1.1.1.1.19.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[hh3cEntityExtErrorStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: HH3C-ENTITY-EXT-MIB&#13;
Indicate the error state of this entity object.&#13;
psuError(51) means that the Power Supply Unit is in the state of fault.&#13;
rpsError(61) means the Redundant Power Supply is in the state of fault.</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>HH3C-ENTITY-EXT-MIB::hh3cEntityExtErrorStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS:&quot;psuError&quot;},eq)}=1 or {count(#1,{$PSU_CRIT_STATUS:&quot;rpsError&quot;},eq)}=1 or {count(#1,{$PSU_CRIT_STATUS:&quot;hardwareFaulty&quot;},eq)}=1</expression>
                                    <name>{#ENT_NAME}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.47.1.1.1.1.2,{#MODULE_NAME},1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>temp.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>OR</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>^(MODULE|Module) (LEVEL|level)1$</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>(Fabric|FABRIC) (.+) (Module|MODULE)</value>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>(T|t)emperature.*(s|S)ensor</value>
                                <formulaid>C</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering modules temperature (same filter as in Module Discovery) plus and temperature sensors</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.25506.2.6.1.1.1.1.12.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[hh3cEntityExtTemperature.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: HH3C-ENTITY-EXT-MIB&#13;
The temperature for the {#SNMPVALUE}.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>{#SNMPVALUE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                            <expression>{Template Net HP Comware HH3C SNMPv2:sensor.temp.value[hh3cEntityExtTemperature.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Net HP Comware HH3C SNMPv2:sensor.temp.value[hh3cEntityExtTemperature.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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>{#SNMPVALUE}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;fanError&quot;}</macro>
                    <value>41</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;hardwareFaulty&quot;}</macro>
                    <value>91</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS:&quot;hardwareFaulty&quot;}</macro>
                    <value>91</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS:&quot;psuError&quot;}</macro>
                    <value>51</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS:&quot;rpsError&quot;}</macro>
                    <value>61</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>
            </macros>
        </template>
        <template>
            <template>Template Net HP Enterprise Switch SNMPv2</template>
            <name>Template Net HP Enterprise Switch SNMPv2</name>
            <description>Template Net HP Enterprise Switch&#13;
&#13;
MIBs used:&#13;
SEMI-MIB&#13;
NETSWITCH-MIB&#13;
HP-ICF-CHASSIS&#13;
ENTITY-SENSORS-MIB&#13;
ENTITY-MIB&#13;
STATISTICS-MIB&#13;
&#13;
Template tooling version used: 0.32</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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.11.2.14.11.5.1.9.6.1.0</snmp_oid>
                    <key>system.cpu.util[hpSwitchCpuStat.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: STATISTICS-MIB&#13;
The CPU utilization in percent(%).&#13;
Reference: http://h20564.www2.hpe.com/hpsc/doc/public/display?docId=emr_na-c02597344&amp;sp4ts.oid=51079</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.11.2.14.11.5.1.1.3.0</snmp_oid>
                    <key>system.hw.firmware</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: NETSWITCH-MIB&#13;
Contains the operating code version number (also known as software or firmware).&#13;
For example, a software version such as A.08.01 is described as follows:&#13;
A    the function set available in your router&#13;
08   the common release number&#13;
01   updates to the current common release</description>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.11.2.36.1.1.2.9.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SEMI-MIB</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <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.2.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.model[entPhysicalDescr.{#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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#ENT_NAME}: Hardware version(revision)</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.version[entPhysicalHardwareRev.{#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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#ENT_CLASS},1.3.6.1.4.1.11.2.14.11.1.2.6.1.2,{#ENT_DESCR},1.3.6.1.4.1.11.2.14.11.1.2.6.1.7,{#ENT_STATUS},1.3.6.1.4.1.11.2.14.11.1.2.6.1.4]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#ENT_CLASS}</macro>
                                <value>.+8.3.2$</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#ENT_STATUS}</macro>
                                <value>(1|2|3|4)</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering all entities of hpicfSensorObjectId that ends with: 11.2.3.7.8.3.2 - fans and are present</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#ENT_DESCR}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.11.2.14.11.1.2.6.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[hpicfSensorStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: HP-ICF-CHASSIS&#13;
Actual status indicated by the sensor: {#ENT_DESCR}</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>HP-ICF-CHASSIS::hpicfSensorStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS:&quot;bad&quot;},eq)}=1</expression>
                                    <name>{#ENT_DESCR}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_WARN_STATUS:&quot;warning&quot;},eq)}=1</expression>
                                    <name>{#ENT_DESCR}: Fan is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the fan unit</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#ENT_DESCR}: Fan is in critical state</name>
                                            <expression>{Template Net HP Enterprise Switch SNMPv2:sensor.fan.status[hpicfSensorStatus.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS:&quot;bad&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Memory Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.11.2.14.11.5.1.1.2.1.1.1.1]</snmp_oid>
                    <key>memory.discovery</key>
                    <delay>1h</delay>
                    <description>Discovery of NETSWITCH-MIB::hpLocalMemTable, A table that contains information on all the local memory for each slot.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Available memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.11.2.14.11.5.1.1.2.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.available[hpLocalMemFreeBytes.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: NETSWITCH-MIB&#13;
The number of available (unallocated) bytes.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Total memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.11.2.14.11.5.1.1.2.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.total[hpLocalMemTotalBytes.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: NETSWITCH-MIB&#13;
The number of currently installed bytes.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Used memory</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.11.2.14.11.5.1.1.2.1.1.1.7.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.used[hpLocalMemAllocBytes.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: NETSWITCH-MIB&#13;
The number of currently allocated bytes.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Memory utilization</name>
                            <type>CALCULATED</type>
                            <key>vm.memory.util[snmp.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <params>last(&quot;vm.memory.used[hpLocalMemAllocBytes.{#SNMPINDEX}]&quot;)/last(&quot;vm.memory.total[hpLocalMemTotalBytes.{#SNMPINDEX}]&quot;)*100</params>
                            <description>Memory utilization in %</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                    <name>#{#SNMPVALUE}: High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>#{#SNMPVALUE}: Memory usage</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template Net HP Enterprise Switch SNMPv2</host>
                                        <key>vm.memory.total[hpLocalMemTotalBytes.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template Net HP Enterprise Switch SNMPv2</host>
                                        <key>vm.memory.available[hpLocalMemFreeBytes.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>#{#SNMPVALUE}: 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 HP Enterprise Switch SNMPv2</host>
                                        <key>vm.memory.util[snmp.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#ENT_CLASS},1.3.6.1.4.1.11.2.14.11.1.2.6.1.2,{#ENT_DESCR},1.3.6.1.4.1.11.2.14.11.1.2.6.1.7,{#ENT_STATUS},1.3.6.1.4.1.11.2.14.11.1.2.6.1.4]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#ENT_CLASS}</macro>
                                <value>.+8.3.1$</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#ENT_STATUS}</macro>
                                <value>(1|2|3|4)</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering all entities of hpicfSensorObjectId that ends with: 11.2.3.7.8.3.1 - power supplies and are present</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#ENT_DESCR}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.11.2.14.11.1.2.6.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[hpicfSensorStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: HP-ICF-CHASSIS&#13;
Actual status indicated by the sensor: {#ENT_DESCR}</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>HP-ICF-CHASSIS::hpicfSensorStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS:&quot;bad&quot;},eq)}=1</expression>
                                    <name>{#ENT_DESCR}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_WARN_STATUS:&quot;warning&quot;},eq)}=1</expression>
                                    <name>{#ENT_DESCR}: Power supply is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the power supply unit for errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#ENT_DESCR}: Power supply is in critical state</name>
                                            <expression>{Template Net HP Enterprise Switch SNMPv2:sensor.psu.status[hpicfSensorStatus.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS:&quot;bad&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </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.precision0.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>0</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</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>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: ENTITY-SENSORS-MIB&#13;
The most recent measurement obtained by the agent for this sensor.&#13;
To correctly interpret the value of this object, the associated entPhySensorType,&#13;
entPhySensorScale, and entPhySensorPrecision objects must also be examined.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_INFO}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>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 HP Enterprise Switch SNMPv2:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Net HP Enterprise Switch SNMPv2:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temp Status Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#ENT_CLASS},1.3.6.1.4.1.11.2.14.11.1.2.6.1.2,{#ENT_DESCR},1.3.6.1.4.1.11.2.14.11.1.2.6.1.7,{#ENT_STATUS},1.3.6.1.4.1.11.2.14.11.1.2.6.1.4]</snmp_oid>
                    <key>temp.status.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#ENT_CLASS}</macro>
                                <value>.+8.3.3$</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#ENT_STATUS}</macro>
                                <value>(1|2|3|4)</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering all entities of hpicfSensorObjectId that ends with: 11.2.3.7.8.3.3 - over temp status and are present</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#ENT_DESCR}: Temperature status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.11.2.14.11.1.2.6.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.status[hpicfSensorStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: HP-ICF-CHASSIS&#13;
Actual status indicated by the sensor: {#ENT_DESCR}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>HP-ICF-CHASSIS::hpicfSensorStatus</name>
                            </valuemap>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;bad&quot;}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$FAN_WARN_STATUS:&quot;warning&quot;}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS:&quot;bad&quot;}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$PSU_WARN_STATUS:&quot;warning&quot;}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>50</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN_STATUS}</macro>
                    <value>3</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Huawei VRP SNMPv2</template>
            <name>Template Net Huawei VRP SNMPv2</name>
            <description>Template Net Huawei VRP&#13;
&#13;
MIBs used:&#13;
HUAWEI-ENTITY-EXTENT-MIB&#13;
ENTITY-MIB&#13;
&#13;
Template tooling version used: 0.32</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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2011.5.25.31.1.1.10.1.1]</snmp_oid>
                    <key>discovery.fans</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2011.5.25.31.1.1.10.1.7.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[hwEntityFanState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: HUAWEI-ENTITY-EXTENT-MIB</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>HUAWEI-ENTITY-EXTENT-MIB::hwEntityFanState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>#{#SNMPVALUE}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <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.2.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.model[entPhysicalDescr.{#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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>MPU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#ENT_NAME},1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>mpu.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#ENT_NAME}</macro>
                                <value>MPU.*</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>http://support.huawei.com/enterprise/KnowledgebaseReadAction.action?contentId=KB1000090234. Filter limits results to Main Processing Units</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#ENT_NAME}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2011.5.25.31.1.1.1.1.11.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[hwEntityTemperature.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: HUAWEI-ENTITY-EXTENT-MIB&#13;
The temperature for the {#SNMPVALUE}.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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>{#ENT_NAME}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>{#ENT_NAME}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#ENT_NAME}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                            <expression>{Template Net Huawei VRP SNMPv2:sensor.temp.value[hwEntityTemperature.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Net Huawei VRP SNMPv2:sensor.temp.value[hwEntityTemperature.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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>{#ENT_NAME}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#ENT_NAME}: CPU utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2011.5.25.31.1.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>system.cpu.util[hwEntityCpuUsage.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: HUAWEI-ENTITY-EXTENT-MIB&#13;
The CPU usage for this entity. Generally, the CPU usage will calculate the overall CPU usage on the entity, and itis not sensible with the number of CPU on the entity.&#13;
Reference: http://support.huawei.com/enterprise/KnowledgebaseReadAction.action?contentId=KB1000090234</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                    <name>{#ENT_NAME}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <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>Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#ENT_NAME}: Hardware version(revision)</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.version[entPhysicalHardwareRev.{#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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#ENT_NAME}: Operating system</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>system.sw.os[entPhysicalSoftwareRev.{#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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                                    <recovery_mode>NONE</recovery_mode>
                                    <name>{#ENT_NAME}: Operating system description has changed</name>
                                    <priority>INFO</priority>
                                    <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#ENT_NAME}: Memory utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2011.5.25.31.1.1.1.1.7.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.util[hwEntityMemUsage.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: HUAWEI-ENTITY-EXTENT-MIB&#13;
The memory usage for the entity. This object indicates what percent of memory are used.&#13;
Reference: http://support.huawei.com/enterprise/KnowledgebaseReadAction.action?contentId=KB1000090234</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                    <name>{#ENT_NAME}: High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#ENT_NAME}: 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 Huawei VRP SNMPv2</host>
                                        <key>system.cpu.util[hwEntityCpuUsage.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#ENT_NAME}: 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 Huawei VRP SNMPv2</host>
                                        <key>vm.memory.util[hwEntityMemUsage.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</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>
            </macros>
        </template>
        <template>
            <template>Template Net Intel_Qlogic Infiniband SNMPv2</template>
            <name>Template Net Intel_Qlogic Infiniband SNMPv2</name>
            <description>Template Net Intel_Qlogic Infiniband&#13;
&#13;
MIBs used:&#13;
ICS-CHASSIS-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <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>Fans</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.10222.2.1.1.1.0</snmp_oid>
                    <key>system.hw.firmware</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: ICS-CHASSIS-MIB</description>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Firmware Version: ([0-9.]+),
\1</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.10222.2.1.1.1.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: ICS-CHASSIS-MIB</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>(.+) - Firmware
\1</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.10222.2.1.6.5.1.2]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <description>icsChassisFanDescription of icsChassisFanTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.10222.2.1.6.5.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[icsChassisFanOperStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: ICS-CHASSIS-MIB&#13;
The operational status of the fan unit.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ICS-CHASSIS-MIB::icsChassisFanOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SNMPVALUE}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.10222.2.1.4.7.1.2]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <description>A textual description of the power supply, that can be assigned by the administrator.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.10222.2.1.4.7.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[icsChassisPowerSupplyEntry.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: ICS-CHASSIS-MIB&#13;
Actual status of the power supply:&#13;
(1) unknown: status not known.&#13;
(2) disabled: power supply is disabled.&#13;
(3) failed - power supply is unable to supply power due to failure.&#13;
(4) warning - power supply is supplying power, but an output or sensor is bad or warning.&#13;
(5) standby - power supply believed usable,but not supplying power.&#13;
(6) engaged - power supply is supplying power.&#13;
(7) redundant - power supply is supplying power, but not needed.&#13;
(8) notPresent - power supply is supplying power is not present.</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ICS-CHASSIS-MIB::icsChassisPowerSupplyOperStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SNMPVALUE}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_WARN_STATUS},eq)}=1</expression>
                                    <name>{#SNMPVALUE}: Power supply is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the power supply unit for errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SNMPVALUE}: Power supply is in critical state</name>
                                            <expression>{Template Net Intel_Qlogic Infiniband SNMPv2:sensor.psu.status[icsChassisPowerSupplyEntry.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SENSOR_TYPE},1.3.6.1.4.1.10222.2.1.9.8.1.2,{#SENSOR_INFO},1.3.6.1.4.1.10222.2.1.9.8.1.7]</snmp_oid>
                    <key>temp.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_TYPE}</macro>
                                <value>2</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovering sensor's table with temperature filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Temperature status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.10222.2.1.9.8.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.status[icsChassisSensorSlotOperStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: ICS-CHASSIS-MIB&#13;
The operational status of the sensor.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ICS-CHASSIS-MIB::icsChassisSensorSlotOperStatus</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.10222.2.1.9.8.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[icsChassisSensorSlotValue.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: ICS-CHASSIS-MIB&#13;
The current value read from the sensor.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <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>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Net Intel_Qlogic Infiniband SNMPv2:sensor.temp.value[icsChassisSensorSlotValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}&#13;
or&#13;
{Template Net Intel_Qlogic Infiniband SNMPv2:sensor.temp.status[icsChassisSensorSlotOperStatus.{#SNMPINDEX}].last(0)}={$TEMP_CRIT_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Net Intel_Qlogic Infiniband SNMPv2:sensor.temp.value[icsChassisSensorSlotValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                            <name>{#SENSOR_INFO}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Net Intel_Qlogic Infiniband SNMPv2:sensor.temp.value[icsChassisSensorSlotValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}&#13;
or&#13;
{Template Net Intel_Qlogic Infiniband SNMPv2:sensor.temp.status[icsChassisSensorSlotOperStatus.{#SNMPINDEX}].last(0)}={$TEMP_WARN_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Net Intel_Qlogic Infiniband SNMPv2:sensor.temp.value[icsChassisSensorSlotValue.{#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>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>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 Intel_Qlogic Infiniband SNMPv2:sensor.temp.value[icsChassisSensorSlotValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}&#13;
or&#13;
{Template Net Intel_Qlogic Infiniband SNMPv2:sensor.temp.status[icsChassisSensorSlotOperStatus.{#SNMPINDEX}].last(0)}={$TEMP_CRIT_STATUS}</expression>
                                    <recovery_expression>{Template Net Intel_Qlogic Infiniband SNMPv2:sensor.temp.value[icsChassisSensorSlotValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Unit Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#ENT_CLASS},1.3.6.1.4.1.10222.2.1.1.9.1.3,{#ENT_NAME},1.3.6.1.4.1.10222.2.1.1.9.1.2]</snmp_oid>
                    <key>unit.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#ENT_CLASS}</macro>
                                <value>2</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#ENT_NAME}: Hardware serial number</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.10222.2.1.1.10.1.1.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.serialnumber[icsChassisSystemUnitFruSerialNumber.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: ICS-CHASSIS-MIB&#13;
The serial number of the FRU.  If not available, this value is a zero-length string.</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <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>Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$PSU_WARN_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>50</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN_STATUS}</macro>
                    <value>2</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Juniper SNMPv2</template>
            <name>Template Net Juniper SNMPv2</name>
            <description>Template Net Juniper&#13;
&#13;
MIBs used:&#13;
JUNIPER-ALARM-MIB&#13;
JUNIPER-MIB&#13;
SNMPv2-MIB&#13;
&#13;
Template tooling version used: 0.32</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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2636.3.1.2.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: JUNIPER-MIB&#13;
The name, model, or detailed description of the box,indicating which product the box is about, for example 'M40'.</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2636.3.1.3.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: JUNIPER-MIB&#13;
The serial number of this subject, blank if unknown or unavailable.</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Overall system health status</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2636.3.4.2.3.1.0</snmp_oid>
                    <key>system.status[jnxRedAlarmState.0]</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <description>MIB: JUNIPER-ALARM-MIB&#13;
The red alarm indication on the craft interface panel.&#13;
The red alarm is on when there is some system&#13;
failure or power supply failure or the system&#13;
is experiencing a hardware malfunction or some&#13;
threshold is being exceeded.&#13;
&#13;
This red alarm state could be turned off by the&#13;
ACO/LT (Alarm Cut Off / Lamp Test) button on the&#13;
front panel module.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>JUNIPER-ALARM-MIB::jnxRedAlarmState</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_CRIT_STATUS},eq)}=1</expression>
                            <name>System status is in critical state</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>Please check the device for errors</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.sw.os[sysDescr.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: SNMPv2-MIB</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>kernel (JUNOS [0-9a-zA-Z\.\-]+)
\1</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>CPU and Memory Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2636.3.1.13.1.5]</snmp_oid>
                    <key>jnxOperatingTable.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>Routing Engine.*</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning JUNIPER-MIB::jnxOperatingTable for CPU and Memory&#13;
http://kb.juniper.net/InfoCenter/index?page=content&amp;id=KB17526&amp;actp=search. Filter limits results to Routing Engines</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: CPU utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2636.3.1.13.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>system.cpu.util[jnxOperatingCPU.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: JUNIPER-MIB&#13;
The CPU utilization in percentage of this subject. Zero if unavailable or inapplicable.&#13;
Reference: http://kb.juniper.net/library/CUSTOMERSERVICE/GLOBAL_JTAC/BK26199/SRX%20SNMP%20Monitoring%20Guide_v1.1.pdf</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                    <name>{#SNMPVALUE}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Memory utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2636.3.1.13.1.11.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.util[jnxOperatingBuffer.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: JUNIPER-MIB&#13;
The buffer pool utilization in percentage of this subject.  Zero if unavailable or inapplicable.&#13;
Reference: http://kb.juniper.net/library/CUSTOMERSERVICE/GLOBAL_JTAC/BK26199/SRX%20SNMP%20Monitoring%20Guide_v1.1.pdf</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                    <name>{#SNMPVALUE}: High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#SNMPVALUE}: 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 Juniper SNMPv2</host>
                                        <key>system.cpu.util[jnxOperatingCPU.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#SNMPVALUE}: 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 Juniper SNMPv2</host>
                                        <key>vm.memory.util[jnxOperatingBuffer.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2636.3.1.13.1.5.4]</snmp_oid>
                    <key>jnxOperatingTable.discovery.fans</key>
                    <delay>1h</delay>
                    <description>Scanning JUNIPER-MIB::jnxOperatingTable for Fans</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2636.3.1.13.1.6.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[jnxOperatingState.4.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: JUNIPER-MIB</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>JUNIPER-ALARM-MIB::jnxOperatingState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SNMPVALUE}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2636.3.1.13.1.5.2]</snmp_oid>
                    <key>jnxOperatingTable.discovery.psu</key>
                    <delay>1h</delay>
                    <description>Scanning JUNIPER-MIB::jnxOperatingTable for Power Supplies</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2636.3.1.13.1.6.2.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[jnxOperatingState.2.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: JUNIPER-MIB&#13;
If they are using DC power supplies there is a known issue on PR 1064039 where the fans do not detect the temperature correctly and fail to cool the power supply causing the shutdown to occur.&#13;
This is fixed in Junos 13.3R7 https://forums.juniper.net/t5/Routing/PEM-0-not-OK-MX104/m-p/289644#M14122</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>JUNIPER-ALARM-MIB::jnxOperatingState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SNMPVALUE}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2636.3.1.13.1.7,{#SENSOR_INFO},1.3.6.1.4.1.2636.3.1.13.1.5]</snmp_oid>
                    <key>jnxOperatingTable.discovery.temp</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>[^0]+</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning JUNIPER-MIB::jnxOperatingTable for Temperature&#13;
http://kb.juniper.net/InfoCenter/index?page=content&amp;id=KB17526&amp;actp=search. Filter limits results to Routing Engines</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_INFO}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2636.3.1.13.1.7.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[jnxOperatingTemp.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: JUNIPER-MIB&#13;
The temperature in Celsius (degrees C) of {#SENSOR_INFO}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_INFO}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>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 Juniper SNMPv2:sensor.temp.value[jnxOperatingTemp.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Net Juniper SNMPv2:sensor.temp.value[jnxOperatingTemp.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT:&quot;Routing Engine&quot;}</macro>
                    <value>80</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:&quot;Routing Engine&quot;}</macro>
                    <value>70</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Mellanox SNMPv2</template>
            <name>Template Net Mellanox SNMPv2</name>
            <description>Template Net Mellanox&#13;
&#13;
MIBs used:&#13;
ENTITY-SENSORS-MIB&#13;
ENTITY-STATE-MIB&#13;
ENTITY-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
                <template>
                    <name>Template Module HOST-RESOURCES-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Interfaces SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Network devices</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Power supply</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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </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>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <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>Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </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>
                            <units>rpm</units>
                            <description>MIB: ENTITY-SENSORS-MIB&#13;
The most recent measurement obtained by the agent for this sensor.&#13;
To correctly interpret the value of this object, the associated entPhySensorType,&#13;
entPhySensorScale, and entPhySensorPrecision objects must also be examined.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                        </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&#13;
The operational status of the sensor {#SENSOR_INFO}</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ENTITY-SENSORS-MIB::EntitySensorStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SENSOR_INFO}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </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>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#ENT_NAME}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </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&#13;
The operational status of the sensor {#SENSOR_INFO}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>ENTITY-SENSORS-MIB::EntitySensorStatus</name>
                            </valuemap>
                        </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>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: ENTITY-SENSORS-MIB&#13;
The most recent measurement obtained by the agent for this sensor.&#13;
To correctly interpret the value of this object, the associated entPhySensorType,&#13;
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>
                            <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>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>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>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Net Mellanox SNMPv2:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}&#13;
or&#13;
{Template Net Mellanox SNMPv2:sensor.temp.status[entPhySensorOperStatus.{#SNMPINDEX}].last(0)}={$TEMP_WARN_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Net Mellanox SNMPv2: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>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>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 Mellanox SNMPv2:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                    <recovery_expression>{Template Net Mellanox SNMPv2:sensor.temp.value[entPhySensorValue.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>2</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>
        <template>
            <template>Template Net Mikrotik SNMPv2</template>
            <name>Template Net Mikrotik SNMPv2</name>
            <description>Template Net Mikrotik&#13;
&#13;
MIBs used:&#13;
HOST-RESOURCES-MIB&#13;
MIKROTIK-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: Doesn't have ifHighSpeed filled. fixed in more recent versions&#13;
  Version: RouterOS 6.28 or lower&#13;
&#13;
  Description: Doesn't have any temperature sensors&#13;
  Version: RouterOS 6.38.5&#13;
  Device: Mikrotik 941-2nD, Mikrotik 951G-2HnD&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Storage</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Device: Temperature</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.14988.1.1.3.10.0</snmp_oid>
                    <key>sensor.temp.value[mtxrHlTemperature]</key>
                    <delay>3m</delay>
                    <value_type>FLOAT</value_type>
                    <units>°C</units>
                    <description>MIB: MIKROTIK-MIB&#13;
(mtxrHlTemperature) Device temperature in Celsius (degrees C). Might be missing in entry models (RB750, RB450G..)&#13;
Reference: http://wiki.mikrotik.com/wiki/Manual:SNMP</description>
                    <applications>
                        <application>
                            <name>Temperature</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>0.1</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;Device&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;Device&quot;}-3</recovery_expression>
                            <name>Device: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Device&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                        </trigger>
                        <trigger>
                            <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;Device&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;Device&quot;}-3</recovery_expression>
                            <name>Device: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Device&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                            <dependencies>
                                <dependency>
                                    <name>Device: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Device&quot;}</name>
                                    <expression>{Template Net Mikrotik SNMPv2:sensor.temp.value[mtxrHlTemperature].avg(5m)}&gt;{$TEMP_CRIT:&quot;Device&quot;}</expression>
                                    <recovery_expression>{Template Net Mikrotik SNMPv2:sensor.temp.value[mtxrHlTemperature].max(5m)}&lt;{$TEMP_CRIT:&quot;Device&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Device&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Device&quot;}+3</recovery_expression>
                            <name>Device: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Device&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.14988.1.1.7.4.0</snmp_oid>
                    <key>system.hw.firmware</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: MIKROTIK-MIB&#13;
Current firmware version</description>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.1.1.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.14988.1.1.7.3.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: MIKROTIK-MIB&#13;
RouterBOARD serial number</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.14988.1.1.4.4.0</snmp_oid>
                    <key>system.sw.os[mtxrLicVersion.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: MIKROTIK-MIB&#13;
Software version</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.25.2.3.1.5.65536</snmp_oid>
                    <key>vm.memory.total[hrStorageSize.Memory]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: HOST-RESOURCES-MIB&#13;
The size of the storage represented by this entry, in&#13;
units of hrStorageAllocationUnits. This object is&#13;
writable to allow remote configuration of the size of&#13;
the storage area in those cases where such an&#13;
operation makes sense and is possible on the&#13;
underlying system. For example, the amount of main&#13;
memory allocated to a buffer pool might be modified or&#13;
the amount of disk space allocated to virtual memory&#13;
might be modified.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Used memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.25.2.3.1.6.65536</snmp_oid>
                    <key>vm.memory.used[hrStorageUsed.Memory]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: HOST-RESOURCES-MIB&#13;
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>CALCULATED</type>
                    <key>vm.memory.util[memoryUsedPercentage.Memory]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>last(&quot;vm.memory.used[hrStorageUsed.Memory]&quot;)/last(&quot;vm.memory.total[hrStorageSize.Memory]&quot;)*100</params>
                    <description>Memory utilization in %</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>CPU discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.2.1.25.3.3.1.1]</snmp_oid>
                    <key>hrProcessorLoad.discovery</key>
                    <delay>1h</delay>
                    <description>HOST-RESOURCES-MIB::hrProcessorTable discovery</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPINDEX}: 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>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: HOST-RESOURCES-MIB&#13;
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>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                    <name>#{#SNMPINDEX}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>#{#SNMPINDEX}: 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 Mikrotik SNMPv2</host>
                                        <key>system.cpu.util[hrProcessorLoad.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature CPU discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.14988.1.1.3.11]</snmp_oid>
                    <key>mtxrHlProcessorTemperature.discovery</key>
                    <delay>1h</delay>
                    <description>MIKROTIK-MIB::mtxrHlProcessorTemperature&#13;
Since temperature of CPU is not available on all Mikrotik hardware, this is done to avoid unsupported items.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>CPU: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.14988.1.1.3.11.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: MIKROTIK-MIB&#13;
(mtxrHlProcessorTemperature) Processor temperature in Celsius (degrees C). Might be missing in entry models (RB750, RB450G..)</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.1</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                                    <name>CPU: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;CPU&quot;}-3</recovery_expression>
                                    <name>CPU: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>CPU: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                                            <expression>{Template Net Mikrotik SNMPv2:sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}</expression>
                                            <recovery_expression>{Template Net Mikrotik SNMPv2:sensor.temp.value[mtxrHlProcessorTemperature.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}+3</recovery_expression>
                                    <name>CPU: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </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$</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#STORAGE_TYPE}</macro>
                                <value>.+hrStorageFixedDisk</value>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>HOST-RESOURCES-MIB::hrStorage discovery with storage filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Disk-{#SNMPINDEX}: Space utilization</name>
                            <type>CALCULATED</type>
                            <key>vfs.fs.pused[hrStorageSize.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <params>(last(&quot;vfs.fs.used[hrStorageSize.{#SNMPINDEX}]&quot;)/last(&quot;vfs.fs.total[hrStorageSize.{#SNMPINDEX}]&quot;))*100</params>
                            <description>Space utilization in % for Disk-{#SNMPINDEX}</description>
                            <applications>
                                <application>
                                    <name>Storage</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Disk-{#SNMPINDEX}: Total space</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.fs.total[hrStorageSize.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: HOST-RESOURCES-MIB&#13;
The size of the storage represented by this entry, in&#13;
units of hrStorageAllocationUnits. This object is&#13;
writable to allow remote configuration of the size of&#13;
the storage area in those cases where such an&#13;
operation makes sense and is possible on the&#13;
underlying system. For example, the amount of main&#13;
memory allocated to a buffer pool might be modified or&#13;
the amount of disk space allocated to virtual memory&#13;
might be modified.</description>
                            <applications>
                                <application>
                                    <name>Storage</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1024</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Disk-{#SNMPINDEX}: Used space</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.2.1.25.2.3.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>vfs.fs.used[hrStorageSize.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <units>B</units>
                            <description>MIB: HOST-RESOURCES-MIB&#13;
The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.</description>
                            <applications>
                                <application>
                                    <name>Storage</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1024</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Net Mikrotik SNMPv2:vfs.fs.pused[hrStorageSize.{#SNMPINDEX}].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;Disk-{#SNMPINDEX}&quot;} and&#13;
(({Template Net Mikrotik SNMPv2:vfs.fs.total[hrStorageSize.{#SNMPINDEX}].last()}-{Template Net Mikrotik SNMPv2:vfs.fs.used[hrStorageSize.{#SNMPINDEX}].last()})&lt;5G or {Template Net Mikrotik SNMPv2:vfs.fs.pused[hrStorageSize.{#SNMPINDEX}].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>Disk-{#SNMPINDEX}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;Disk-{#SNMPINDEX}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>AVERAGE</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;Disk-{#SNMPINDEX}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 5G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Net Mikrotik SNMPv2:vfs.fs.pused[hrStorageSize.{#SNMPINDEX}].last()}&gt;{$VFS.FS.PUSED.MAX.WARN:&quot;Disk-{#SNMPINDEX}&quot;} and&#13;
(({Template Net Mikrotik SNMPv2:vfs.fs.total[hrStorageSize.{#SNMPINDEX}].last()}-{Template Net Mikrotik SNMPv2:vfs.fs.used[hrStorageSize.{#SNMPINDEX}].last()})&lt;10G or {Template Net Mikrotik SNMPv2:vfs.fs.pused[hrStorageSize.{#SNMPINDEX}].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>Disk-{#SNMPINDEX}: Disk space is low (used &gt; {$VFS.FS.PUSED.MAX.WARN:&quot;Disk-{#SNMPINDEX}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>WARNING</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;Disk-{#SNMPINDEX}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 10G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Disk-{#SNMPINDEX}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;Disk-{#SNMPINDEX}&quot;}%)</name>
                                    <expression>{Template Net Mikrotik SNMPv2:vfs.fs.pused[hrStorageSize.{#SNMPINDEX}].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;Disk-{#SNMPINDEX}&quot;} and&#13;
(({Template Net Mikrotik SNMPv2:vfs.fs.total[hrStorageSize.{#SNMPINDEX}].last()}-{Template Net Mikrotik SNMPv2:vfs.fs.used[hrStorageSize.{#SNMPINDEX}].last()})&lt;5G or {Template Net Mikrotik SNMPv2:vfs.fs.pused[hrStorageSize.{#SNMPINDEX}].timeleft(1h,,100)}&lt;1d)</expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Disk-{#SNMPINDEX}: Disk space usage</name>
                            <width>600</width>
                            <height>340</height>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>969696</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template Net Mikrotik SNMPv2</host>
                                        <key>vfs.fs.total[hrStorageSize.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>C80000</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <item>
                                        <host>Template Net Mikrotik SNMPv2</host>
                                        <key>vfs.fs.used[hrStorageSize.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT:&quot;CPU&quot;}</macro>
                    <value>75</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:&quot;CPU&quot;}</macro>
                    <value>70</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.WARN}</macro>
                    <value>80</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Netgear Fastpath SNMPv2</template>
            <name>Template Net Netgear Fastpath SNMPv2</name>
            <description>Template Net Netgear Fastpath&#13;
&#13;
MIBs used:&#13;
FASTPATH-SWITCHING-MIB&#13;
FASTPATH-BOXSERVICES-PRIVATE-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.4526.10.1.1.4.9.0</snmp_oid>
                    <key>system.cpu.util[agentSwitchCpuProcessTotalUtilization.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: FASTPATH-SWITCHING-MIB&#13;
CPU utilization in %</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>60 Secs \( ([0-9\.]+)%\).+300 Secs
\1</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.4526.10.1.1.1.3.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: FASTPATH-SWITCHING-MIB</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.4526.10.1.1.1.4.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: FASTPATH-SWITCHING-MIB&#13;
Serial number of the switch</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.4526.10.1.1.1.10.0</snmp_oid>
                    <key>system.sw.os[agentInventoryOperatingSystem.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: FASTPATH-SWITCHING-MIB&#13;
Operating System running on this unit</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Available memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.4526.10.1.1.5.1.0</snmp_oid>
                    <key>vm.memory.available[agentSwitchCpuProcessMemFree.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: FASTPATH-SWITCHING-MIB&#13;
The total memory freed for utilization.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Total memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.4526.10.1.1.5.2.0</snmp_oid>
                    <key>vm.memory.total[agentSwitchCpuProcessMemAvailable.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: FASTPATH-SWITCHING-MIB&#13;
The total Memory allocated for the tasks</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>CALCULATED</type>
                    <key>vm.memory.util[memoryUsedPercentage.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>(last(&quot;vm.memory.total[agentSwitchCpuProcessMemAvailable.0]&quot;)-last(&quot;vm.memory.available[agentSwitchCpuProcessMemFree.0]&quot;))/last(&quot;vm.memory.total[agentSwitchCpuProcessMemAvailable.0]&quot;)*100</params>
                    <description>Memory utilization in %</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.4526.10.43.1.6.1.1]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <description>FASTPATH-BOXSERVICES-PRIVATE-MIB::1.3.6.1.4.1.4526.10.43.1.6.1.1</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.4526.10.43.1.6.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[boxServicesFanItemState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: FASTPATH-BOXSERVICES-PRIVATE-MIB&#13;
The status of fan</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>FASTPATH-BOXSERVICES-PRIVATE-MIB::boxServicesFanItemState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS:&quot;failed&quot;},eq)}=1</expression>
                                    <name>#{#SNMPVALUE}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.4526.10.43.1.7.1.1]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <description>FASTPATH-BOXSERVICES-PRIVATE-MIB::boxServicesPowSupplyIndex</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.4526.10.43.1.7.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[boxServicesPowSupplyItemState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: FASTPATH-BOXSERVICES-PRIVATE-MIB&#13;
The status of power supply</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>FASTPATH-BOXSERVICES-PRIVATE-MIB::boxServicesPowSupplyItemState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS:&quot;failed&quot;},eq)}=1</expression>
                                    <name>#{#SNMPVALUE}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.4526.10.43.1.8.1.1]</snmp_oid>
                    <key>temp.discovery</key>
                    <delay>1h</delay>
                    <description>FASTPATH-BOXSERVICES-PRIVATE-MIB::boxServicesTempSensorsTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Temperature status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.4526.10.43.1.8.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.status[boxServicesTempSensorState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: FASTPATH-BOXSERVICES-PRIVATE-MIB&#13;
The state of temperature sensor</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>FASTPATH-BOXSERVICES-PRIVATE-MIB::boxServicesTempSensorState</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.4526.10.43.1.8.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[boxServicesTempSensorTemperature.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: FASTPATH-BOXSERVICES-PRIVATE-MIB&#13;
The temperature value reported by sensor</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <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>#{#SNMPVALUE}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Net Netgear Fastpath SNMPv2:sensor.temp.value[boxServicesTempSensorTemperature.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}&#13;
or&#13;
{Template Net Netgear Fastpath SNMPv2:sensor.temp.status[boxServicesTempSensorState.{#SNMPINDEX}].last(0)}={$TEMP_CRIT_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Net Netgear Fastpath SNMPv2:sensor.temp.value[boxServicesTempSensorTemperature.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                            <name>#{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Net Netgear Fastpath SNMPv2:sensor.temp.value[boxServicesTempSensorTemperature.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}&#13;
or&#13;
{Template Net Netgear Fastpath SNMPv2:sensor.temp.status[boxServicesTempSensorState.{#SNMPINDEX}].last(0)}={$TEMP_WARN_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Net Netgear Fastpath SNMPv2:sensor.temp.value[boxServicesTempSensorTemperature.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                            <name>#{#SNMPVALUE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                            <dependencies>
                                <dependency>
                                    <name>#{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <expression>{Template Net Netgear Fastpath SNMPv2:sensor.temp.value[boxServicesTempSensorTemperature.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}&#13;
or&#13;
{Template Net Netgear Fastpath SNMPv2:sensor.temp.status[boxServicesTempSensorState.{#SNMPINDEX}].last(0)}={$TEMP_CRIT_STATUS}</expression>
                                    <recovery_expression>{Template Net Netgear Fastpath SNMPv2:sensor.temp.value[boxServicesTempSensorTemperature.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;failed&quot;}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS:&quot;failed&quot;}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>50</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN_STATUS}</macro>
                    <value>2</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Network Generic Device SNMPv1</template>
            <name>Template Net Network Generic Device SNMPv1</name>
            <description>Template Net Network Generic Device&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module EtherLike-MIB SNMPv1</name>
                </template>
                <template>
                    <name>Template Module Generic SNMPv1</name>
                </template>
                <template>
                    <name>Template Module Interfaces Simple SNMPv1</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Network devices</name>
                </group>
            </groups>
        </template>
        <template>
            <template>Template Net Network Generic Device SNMPv2</template>
            <name>Template Net Network Generic Device SNMPv2</name>
            <description>Template Net Network Generic Device&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module EtherLike-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Interfaces Simple SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Network devices</name>
                </group>
            </groups>
        </template>
        <template>
            <template>Template Net QTech QSW SNMPv2</template>
            <name>Template Net QTech QSW SNMPv2</name>
            <description>Template Net QTech QSW&#13;
&#13;
MIBs used:&#13;
QTECH-MIB&#13;
ENTITY-MIB&#13;
&#13;
Template tooling version used: 0.32</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>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Temperature</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.27514.100.1.11.9.0</snmp_oid>
                    <key>sensor.temp.value[switchTemperature.0]</key>
                    <delay>3m</delay>
                    <value_type>FLOAT</value_type>
                    <units>°C</units>
                    <description>MIB: QTECH-MIB&#13;
Temperature readings of testpoint: __RESOURCE__</description>
                    <applications>
                        <application>
                            <name>Temperature</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <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>Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                        </trigger>
                        <trigger>
                            <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                            <name>Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                            <dependencies>
                                <dependency>
                                    <name>Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <expression>{Template Net QTech QSW SNMPv2:sensor.temp.value[switchTemperature.0].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                    <recovery_expression>{Template Net QTech QSW SNMPv2:sensor.temp.value[switchTemperature.0].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <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>Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.27514.100.1.11.10.0</snmp_oid>
                    <key>system.cpu.util[switchCpuUsage.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: QTECH-MIB&#13;
CPU utilization in %</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.9.1</snmp_oid>
                    <key>system.hw.firmware</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>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.13.1</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: ENTITY-MIB</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.11.1</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: ENTITY-MIB</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware version(revision)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.2.1.47.1.1.1.1.8.1</snmp_oid>
                    <key>system.hw.version</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>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.27514.100.1.3.0</snmp_oid>
                    <key>system.sw.os[sysSoftwareVersion.0]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: QTECH-MIB</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.27514.100.1.11.6.0</snmp_oid>
                    <key>vm.memory.total[switchMemorySize.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: QTECH-MIB&#13;
Total memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Used memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.27514.100.1.11.7.0</snmp_oid>
                    <key>vm.memory.used[switchMemoryBusy.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: QTECH-MIB&#13;
Used memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>CALCULATED</type>
                    <key>vm.memory.util[vm.memory.util.0]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>last(&quot;vm.memory.used[switchMemoryBusy.0]&quot;)/last(&quot;vm.memory.total[switchMemorySize.0]&quot;)*100</params>
                    <description>Memory utilization in %</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.27514.100.1.12.1.3]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPINDEX}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.27514.100.1.12.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[sysFanStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: QTECH-MIB</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>QTECH-MIB::sysFanStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SNMPINDEX}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.27514.100.1.7.1.5]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPINDEX}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.27514.100.1.7.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[sysPowerStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: QTECH-MIB</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>QTECH-MIB::sysPowerStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#SNMPINDEX}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>75</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>65</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net TP-LINK SNMPv2</template>
            <name>Template Net TP-LINK SNMPv2</name>
            <description>Template Net TP-LINK JetStream&#13;
&#13;
MIBs used:&#13;
TPLINK-SYSINFO-MIB&#13;
TPLINK-SYSMONITOR-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: default sysLocation, sysName and sysContact is not filled with proper data. Real hostname and location can be found only in private branch(TPLINK-SYSINFO-MIB). Please check whether this problem exists in the latest firware: http://www.tp-linkru.com/download/T2600G-28TS.html#Firmware&#13;
  Version: 2.0.0 Build 20170628 Rel.55184(Beta)&#13;
  Device: T2600G-28TS 2.0&#13;
&#13;
  Description: The Serial number of the product(tpSysInfoSerialNum) is missing in HW versions prior to V2_170323&#13;
  Version: prior to version V2_170323&#13;
  Device: T2600G-28TS 2.0&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Interfaces Simple SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Network devices</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.11863.6.1.1.6.0</snmp_oid>
                    <key>system.hw.firmware</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: TPLINK-SYSINFO-MIB&#13;
The software version of the product.</description>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.11863.6.1.1.5.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: TPLINK-SYSINFO-MIB&#13;
The hardware version of the product.</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.11863.6.1.1.8.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: TPLINK-SYSINFO-MIB&#13;
The Serial number of the product.</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware version(revision)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.11863.6.1.1.5.0</snmp_oid>
                    <key>system.hw.version</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: TPLINK-SYSINFO-MIB&#13;
The hardware version of the product.</description>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>CPU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.11863.6.4.1.1.1.1.1]</snmp_oid>
                    <key>cpu.discovery</key>
                    <delay>1h</delay>
                    <description>Discovering TPLINK-SYSMONITOR-MIB::tpSysMonitorCpuTable, displays the CPU utilization of all UNITs.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: CPU utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.11863.6.4.1.1.1.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>system.cpu.util[tpSysMonitorCpu1Minute.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: TPLINK-SYSMONITOR-MIB&#13;
Displays the CPU utilization in 1 minute.&#13;
Reference: http://www.tp-link.com/faq-1330.html</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                                    <name>#{#SNMPVALUE}: High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                                    <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>#{#SNMPVALUE}: 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 TP-LINK SNMPv2</host>
                                        <key>system.cpu.util[tpSysMonitorCpu1Minute.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Memory Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.11863.6.4.1.2.1.1.1]</snmp_oid>
                    <key>memory.discovery</key>
                    <delay>1h</delay>
                    <description>Discovering TPLINK-SYSMONITOR-MIB::tpSysMonitorMemoryTable, displays the memory utilization of all UNITs.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#SNMPVALUE}: Memory utilization</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.11863.6.4.1.2.1.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>vm.memory.util[tpSysMonitorMemoryUtilization.{#SNMPINDEX}]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <description>MIB: TPLINK-SYSMONITOR-MIB&#13;
Displays the memory utilization.&#13;
Reference: http://www.tp-link.com/faq-1330.html</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                                    <name>#{#SNMPVALUE}: High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>#{#SNMPVALUE}: 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 TP-LINK SNMPv2</host>
                                        <key>vm.memory.util[tpSysMonitorMemoryUtilization.{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Net Ubiquiti AirOS SNMPv1</template>
            <name>Template Net Ubiquiti AirOS SNMPv1</name>
            <description>Template Net Ubiquiti AirOS&#13;
&#13;
MIBs used:&#13;
IEEE802dot11-MIB&#13;
FROGFOOT-RESOURCES-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: UBNT unifi reports speed: like IF-MIB::ifSpeed.1 = Gauge32: 4294967295 for all interfaces&#13;
  Version: Firmware: BZ.ar7240.v3.7.51.6230.170322.1513&#13;
  Device: UBNT UAP-LR&#13;
&#13;
  Description: UBNT AirMax(NanoStation, NanoBridge etc) reports ifSpeed: as 0 for VLAN and wireless(ath0) interfaces&#13;
  Version: Firmware: XW.ar934x.v5.6-beta4.22359.140521.1836&#13;
  Device: NanoStation M5&#13;
&#13;
  Description: UBNT AirMax(NanoStation, NanoBridge etc) reports always return ifType: as ethernet(6) even for wifi,vlans and other types&#13;
  Version: Firmware: XW.ar934x.v5.6-beta4.22359.140521.1836&#13;
  Device: NanoStation M5&#13;
&#13;
  Description: ifXTable is not provided in IF-MIB. So Interfaces Simple Template is used instead&#13;
  Version: all above&#13;
  Device: NanoStation, UAP-LR&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Generic SNMPv1</name>
                </template>
                <template>
                    <name>Template Module Interfaces Simple SNMPv1</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Network devices</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>CPU utilization</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.10002.1.1.1.4.2.1.3.2</snmp_oid>
                    <key>system.cpu.util[loadValue.2]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>MIB: FROGFOOT-RESOURCES-MIB&#13;
5 minute load average of processor load.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.2.840.10036.3.1.2.1.4.5</snmp_oid>
                    <key>system.hw.firmware</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: IEEE802dot11-MIB&#13;
Printable string used to identify the manufacturer's product version of the resource. Maximum string length is 128 octets.</description>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.2.840.10036.3.1.2.1.3.5</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: IEEE802dot11-MIB&#13;
A printable string used to identify the manufacturer's product name of the resource. Maximum string length is 128 octets.</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Memory (buffers)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.10002.1.1.1.1.3.0</snmp_oid>
                    <key>vm.memory.buffers[memBuffer.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: FROGFOOT-RESOURCES-MIB&#13;
Memory used by kernel buffers (Buffers in /proc/meminfo)</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Memory (cached)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.10002.1.1.1.1.4.0</snmp_oid>
                    <key>vm.memory.cached[memCache.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: FROGFOOT-RESOURCES-MIB&#13;
Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo)</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Free memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.10002.1.1.1.1.2.0</snmp_oid>
                    <key>vm.memory.free[memFree.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: FROGFOOT-RESOURCES-MIB</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Total memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.10002.1.1.1.1.1.0</snmp_oid>
                    <key>vm.memory.total[memTotal.0]</key>
                    <history>7d</history>
                    <units>B</units>
                    <description>MIB: FROGFOOT-RESOURCES-MIB&#13;
Total memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>CALCULATED</type>
                    <key>vm.memory.util[memoryUsedPercentage]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>(last(&quot;vm.memory.total[memTotal.0]&quot;)-(last(&quot;vm.memory.free[memFree.0]&quot;)+last(&quot;vm.memory.buffers[memBuffer.0]&quot;)+last(&quot;vm.memory.cached[memCache.0]&quot;)))/last(&quot;vm.memory.total[memTotal.0]&quot;)*100</params>
                    <description>Memory utilization in %</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template OS AIX</template>
            <name>Template OS AIX</name>
            <templates>
                <template>
                    <name>Template Module Zabbix agent</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Filesystems</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Logical partitions</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Network interfaces</name>
                </application>
                <application>
                    <name>OS</name>
                </application>
                <application>
                    <name>Performance</name>
                </application>
                <application>
                    <name>Processes</name>
                </application>
                <application>
                    <name>Security</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Number of running processes</name>
                    <key>proc.num[,,run]</key>
                    <history>1w</history>
                    <description>Number of processes in running state.</description>
                    <applications>
                        <application>
                            <name>Processes</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;30</expression>
                            <name>Too many processes running on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of processes</name>
                    <key>proc.num[]</key>
                    <history>1w</history>
                    <description>Total number of processes in any state.</description>
                    <applications>
                        <application>
                            <name>Processes</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;300</expression>
                            <name>Too many processes on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Interrupts per second</name>
                    <key>system.cpu.intr</key>
                    <history>1w</history>
                    <units>ips</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Processor load (1 min average per core)</name>
                    <key>system.cpu.load[percpu,avg1]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;5</expression>
                            <name>Processor load is too high on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Processor load (5 min average per core)</name>
                    <key>system.cpu.load[percpu,avg5]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Processor load (15 min average per core)</name>
                    <key>system.cpu.load[percpu,avg15]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Context switches per second</name>
                    <key>system.cpu.switches</key>
                    <history>1w</history>
                    <units>sps</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Host name</name>
                    <key>system.hostname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System host name.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Hostname was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Host local time</name>
                    <key>system.localtime</key>
                    <history>1w</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU available physical processors in the shared pool</name>
                    <key>system.stat[cpu,app]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Logical partitions</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU entitled capacity consumed</name>
                    <key>system.stat[cpu,ec]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Logical partitions</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU idle time</name>
                    <key>system.stat[cpu,id]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU logical processor utilization</name>
                    <key>system.stat[cpu,lbusy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Logical partitions</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU number of physical processors consumed</name>
                    <key>system.stat[cpu,pc]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Logical partitions</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU system time</name>
                    <key>system.stat[cpu,sy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU user time</name>
                    <key>system.stat[cpu,us]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU iowait time</name>
                    <key>system.stat[cpu,wa]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;20</expression>
                            <name>Disk I/O is overloaded on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                            <description>OS spends significant time waiting for I/O (input/output) operations. It could be indicator of performance issues with storage system.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Amount of data transferred</name>
                    <key>system.stat[disk,bps]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Filesystems</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of transfers</name>
                    <key>system.stat[disk,tps]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Filesystems</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Processor units is entitled to receive</name>
                    <key>system.stat[ent]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Logical partitions</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Kernel thread context switches</name>
                    <key>system.stat[faults,cs]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Device interrupts</name>
                    <key>system.stat[faults,in]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System calls</name>
                    <key>system.stat[faults,sy]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Length of the swap queue</name>
                    <key>system.stat[kthr,b]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Length of the run queue</name>
                    <key>system.stat[kthr,r]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Active virtual pages</name>
                    <key>system.stat[memory,avm]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free real memory</name>
                    <key>system.stat[memory,fre]</key>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>File page-ins per second</name>
                    <key>system.stat[page,fi]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>File page-outs per second</name>
                    <key>system.stat[page,fo]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Pages freed (page replacement)</name>
                    <key>system.stat[page,fr]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Pages paged in from paging space</name>
                    <key>system.stat[page,pi]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Pages paged out to paging space</name>
                    <key>system.stat[page,po]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Pages scanned by page-replacement algorithm</name>
                    <key>system.stat[page,sr]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System information</name>
                    <key>system.uname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>The information as normally returned by 'uname -a'.</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Host information was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System uptime</name>
                    <key>system.uptime</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{change(0)}&lt;0</expression>
                            <name>{HOST.NAME} has just been restarted</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of logged in users</name>
                    <key>system.users.num</key>
                    <history>1w</history>
                    <description>Number of users who are currently logged in.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Checksum of /etc/passwd</name>
                    <key>vfs.file.cksum[/etc/passwd]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>/etc/passwd has been changed on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Available memory</name>
                    <key>vm.memory.size[available]</key>
                    <history>1w</history>
                    <units>B</units>
                    <description>Available memory is defined as free+cached+buffers memory.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;20M</expression>
                            <name>Lack of available memory on server {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total memory</name>
                    <key>vm.memory.size[total]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interface discovery</name>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>@Network interfaces for discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of network interfaces as defined in global regular expression &quot;Network interfaces for discovery&quot;.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Incoming network traffic on {#IFNAME}</name>
                            <key>net.if.in[{#IFNAME}]</key>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Network interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Outgoing network traffic on {#IFNAME}</name>
                            <key>net.if.out[{#IFNAME}]</key>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Network interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Network traffic on {#IFNAME}</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>00AA00</color>
                                    <item>
                                        <host>Template OS AIX</host>
                                        <key>net.if.in[{#IFNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>3333FF</color>
                                    <item>
                                        <host>Template OS AIX</host>
                                        <key>net.if.out[{#IFNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <key>vfs.fs.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>@File systems for discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of file systems of different types as defined in global regular expression &quot;File systems for discovery&quot;.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Free inodes on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.inode[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free inodes is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},free]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.size[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free disk space is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Total disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},total]</key>
                            <delay>1h</delay>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Used disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},used]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Disk space usage {#FSNAME}</name>
                            <width>600</width>
                            <height>340</height>
                            <show_work_period>NO</show_work_period>
                            <show_triggers>NO</show_triggers>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>C80000</color>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template OS AIX</host>
                                        <key>vfs.fs.size[{#FSNAME},total]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>00C800</color>
                                    <item>
                                        <host>Template OS AIX</host>
                                        <key>vfs.fs.size[{#FSNAME},free]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>2</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU load</name>
                                <host>Template OS AIX</host>
                            </resource>
                            <width>500</width>
                            <height>148</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU jumps</name>
                                <host>Template OS AIX</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU utilization</name>
                                <host>Template OS AIX</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory usage</name>
                                <host>Template OS AIX</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS FreeBSD</template>
            <name>Template OS FreeBSD</name>
            <templates>
                <template>
                    <name>Template Module Zabbix agent</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Filesystems</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Network interfaces</name>
                </application>
                <application>
                    <name>OS</name>
                </application>
                <application>
                    <name>Performance</name>
                </application>
                <application>
                    <name>Processes</name>
                </application>
                <application>
                    <name>Security</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Maximum number of opened files</name>
                    <key>kernel.maxfiles</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;1024</expression>
                            <name>Configured max number of opened files is too low on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Maximum number of processes</name>
                    <key>kernel.maxproc</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;256</expression>
                            <name>Configured max number of processes is too low on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of running processes</name>
                    <key>proc.num[,,run]</key>
                    <history>1w</history>
                    <description>Number of processes in running state.</description>
                    <applications>
                        <application>
                            <name>Processes</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;30</expression>
                            <name>Too many processes running on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of processes</name>
                    <key>proc.num[]</key>
                    <history>1w</history>
                    <description>Total number of processes in any state.</description>
                    <applications>
                        <application>
                            <name>Processes</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;300</expression>
                            <name>Too many processes on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Host boot time</name>
                    <key>system.boottime</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Interrupts per second</name>
                    <key>system.cpu.intr</key>
                    <history>1w</history>
                    <units>ips</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Processor load (1 min average per core)</name>
                    <key>system.cpu.load[percpu,avg1]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;5</expression>
                            <name>Processor load is too high on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Processor load (5 min average per core)</name>
                    <key>system.cpu.load[percpu,avg5]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Processor load (15 min average per core)</name>
                    <key>system.cpu.load[percpu,avg15]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Context switches per second</name>
                    <key>system.cpu.switches</key>
                    <history>1w</history>
                    <units>sps</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>CPU idle time</name>
                    <key>system.cpu.util[,idle]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent doing nothing.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU interrupt time</name>
                    <key>system.cpu.util[,interrupt]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The amount of time the CPU has been servicing hardware interrupts.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU nice time</name>
                    <key>system.cpu.util[,nice]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that have been niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU system time</name>
                    <key>system.cpu.util[,system]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running the kernel and its processes.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU user time</name>
                    <key>system.cpu.util[,user]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that are not niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Host name</name>
                    <key>system.hostname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System host name.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Hostname was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Host local time</name>
                    <key>system.localtime</key>
                    <history>1w</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space</name>
                    <key>system.swap.size[,free]</key>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space in %</name>
                    <key>system.swap.size[,pfree]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;50</expression>
                            <name>Lack of free swap space on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                            <description>It probably means that the systems requires more physical memory.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total swap space</name>
                    <key>system.swap.size[,total]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System information</name>
                    <key>system.uname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>The information as normally returned by 'uname -a'.</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Host information was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System uptime</name>
                    <key>system.uptime</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{change(0)}&lt;0</expression>
                            <name>{HOST.NAME} has just been restarted</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of logged in users</name>
                    <key>system.users.num</key>
                    <history>1w</history>
                    <description>Number of users who are currently logged in.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Checksum of /etc/passwd</name>
                    <key>vfs.file.cksum[/etc/passwd]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>/etc/passwd has been changed on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Available memory</name>
                    <key>vm.memory.size[available]</key>
                    <history>1w</history>
                    <units>B</units>
                    <description>Available memory is defined as free+cached+buffers memory.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;20M</expression>
                            <name>Lack of available memory on server {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total memory</name>
                    <key>vm.memory.size[total]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interface discovery</name>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>@Network interfaces for discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of network interfaces as defined in global regular expression &quot;Network interfaces for discovery&quot;.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Incoming network traffic on {#IFNAME}</name>
                            <key>net.if.in[{#IFNAME}]</key>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Network interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Outgoing network traffic on {#IFNAME}</name>
                            <key>net.if.out[{#IFNAME}]</key>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Network interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Network traffic on {#IFNAME}</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>00AA00</color>
                                    <item>
                                        <host>Template OS FreeBSD</host>
                                        <key>net.if.in[{#IFNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>3333FF</color>
                                    <item>
                                        <host>Template OS FreeBSD</host>
                                        <key>net.if.out[{#IFNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <key>vfs.fs.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>@File systems for discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of file systems of different types as defined in global regular expression &quot;File systems for discovery&quot;.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Free inodes on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.inode[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free inodes is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},free]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.size[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free disk space is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Total disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},total]</key>
                            <delay>1h</delay>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Used disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},used]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Disk space usage {#FSNAME}</name>
                            <width>600</width>
                            <height>340</height>
                            <show_work_period>NO</show_work_period>
                            <show_triggers>NO</show_triggers>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>C80000</color>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template OS FreeBSD</host>
                                        <key>vfs.fs.size[{#FSNAME},total]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>00C800</color>
                                    <item>
                                        <host>Template OS FreeBSD</host>
                                        <key>vfs.fs.size[{#FSNAME},free]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>2</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU load</name>
                                <host>Template OS FreeBSD</host>
                            </resource>
                            <width>500</width>
                            <height>120</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU utilization</name>
                                <host>Template OS FreeBSD</host>
                            </resource>
                            <width>500</width>
                            <height>106</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory usage</name>
                                <host>Template OS FreeBSD</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Swap usage</name>
                                <host>Template OS FreeBSD</host>
                            </resource>
                            <width>500</width>
                            <height>300</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS HP-UX</template>
            <name>Template OS HP-UX</name>
            <templates>
                <template>
                    <name>Template Module Zabbix agent</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Filesystems</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Network interfaces</name>
                </application>
                <application>
                    <name>OS</name>
                </application>
                <application>
                    <name>Performance</name>
                </application>
                <application>
                    <name>Processes</name>
                </application>
                <application>
                    <name>Security</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Processor load (1 min average per core)</name>
                    <key>system.cpu.load[percpu,avg1]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;5</expression>
                            <name>Processor load is too high on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Processor load (5 min average per core)</name>
                    <key>system.cpu.load[percpu,avg5]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Processor load (15 min average per core)</name>
                    <key>system.cpu.load[percpu,avg15]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU idle time</name>
                    <key>system.cpu.util[,idle]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent doing nothing.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU nice time</name>
                    <key>system.cpu.util[,nice]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that have been niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU system time</name>
                    <key>system.cpu.util[,system]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running the kernel and its processes.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU user time</name>
                    <key>system.cpu.util[,user]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that are not niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Host name</name>
                    <key>system.hostname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System host name.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Hostname was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Host local time</name>
                    <key>system.localtime</key>
                    <history>1w</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System information</name>
                    <key>system.uname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>The information as normally returned by 'uname -a'.</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Host information was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of logged in users</name>
                    <key>system.users.num</key>
                    <history>1w</history>
                    <description>Number of users who are currently logged in.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Checksum of /etc/passwd</name>
                    <key>vfs.file.cksum[/etc/passwd]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>/etc/passwd has been changed on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Available memory</name>
                    <key>vm.memory.size[available]</key>
                    <history>1w</history>
                    <units>B</units>
                    <description>Available memory is defined as free+cached+buffers memory.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;20M</expression>
                            <name>Lack of available memory on server {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total memory</name>
                    <key>vm.memory.size[total]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interface discovery</name>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>@Network interfaces for discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of network interfaces as defined in global regular expression &quot;Network interfaces for discovery&quot;.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Incoming network traffic on {#IFNAME}</name>
                            <key>net.if.in[{#IFNAME}]</key>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Network interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Outgoing network traffic on {#IFNAME}</name>
                            <key>net.if.out[{#IFNAME}]</key>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Network interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Network traffic on {#IFNAME}</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>00AA00</color>
                                    <item>
                                        <host>Template OS HP-UX</host>
                                        <key>net.if.in[{#IFNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>3333FF</color>
                                    <item>
                                        <host>Template OS HP-UX</host>
                                        <key>net.if.out[{#IFNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <key>vfs.fs.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>@File systems for discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of file systems of different types as defined in global regular expression &quot;File systems for discovery&quot;.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Free inodes on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.inode[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free inodes is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},free]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.size[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free disk space is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Total disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},total]</key>
                            <delay>1h</delay>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Used disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},used]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Disk space usage {#FSNAME}</name>
                            <width>600</width>
                            <height>340</height>
                            <show_work_period>NO</show_work_period>
                            <show_triggers>NO</show_triggers>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>C80000</color>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template OS HP-UX</host>
                                        <key>vfs.fs.size[{#FSNAME},total]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>00C800</color>
                                    <item>
                                        <host>Template OS HP-UX</host>
                                        <key>vfs.fs.size[{#FSNAME},free]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>2</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU load</name>
                                <host>Template OS HP-UX</host>
                            </resource>
                            <width>500</width>
                            <height>114</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU utilization</name>
                                <host>Template OS HP-UX</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory usage</name>
                                <host>Template OS HP-UX</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS Linux by Prom</template>
            <name>Template OS Linux by Prom</name>
            <description>Official Linux template using node exporter.&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: node_exporter v0.16.0 renamed many metrics. CPU utilisation for 'guest' and 'guest_nice' metrics are not supported in this template with node_exporter &lt; 0.16. Disk IO metrics are not supported. Other metrics provided as 'best effort'.  &#13;
 See https://github.com/prometheus/node_exporter/releases/tag/v0.16.0 for details.&#13;
  Version: below 0.16.0&#13;
&#13;
  Description: metric node_network_info with label 'device' cannot be found, so network discovery is not possible.&#13;
  Version: below 0.18&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux&#13;
&#13;
Template tooling version used: 0.32</description>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Monitoring agent</name>
                </application>
                <application>
                    <name>Network interfaces</name>
                </application>
                <application>
                    <name>Status</name>
                </application>
                <application>
                    <name>Storage</name>
                </application>
                <application>
                    <name>Zabbix raw items</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Version of node_exporter running</name>
                    <type>DEPENDENT</type>
                    <key>agent.version[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Monitoring agent</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>node_exporter_build_info
version</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of open file descriptors</name>
                    <type>DEPENDENT</type>
                    <key>fd.open[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>node_filefd_allocated
</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Maximum number of open file descriptors</name>
                    <type>DEPENDENT</type>
                    <key>kernel.maxfiles[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>node_filefd_maximum
</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;{$KERNEL.MAXFILES.MIN}</expression>
                            <name>Configured max number of open filedescriptors is too low (&lt; {$KERNEL.MAXFILES.MIN})</name>
                            <priority>INFO</priority>
                            <dependencies>
                                <dependency>
                                    <name>Running out of file descriptors (less than &lt; 20% free)</name>
                                    <expression>{Template OS Linux by Prom:fd.open[node_exporter].last()}/{Template OS Linux by Prom:kernel.maxfiles[node_exporter].last()}*100&gt;80</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Get node_exporter metrics</name>
                    <type>HTTP_AGENT</type>
                    <key>node_exporter.get</key>
                    <history>1h</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Zabbix raw items</name>
                        </application>
                    </applications>
                    <url>http://{HOST.CONN}:{$NODE_EXPORTER_PORT}/metrics</url>
                    <triggers>
                        <trigger>
                            <expression>{nodata(30m)}=1</expression>
                            <name>node_exporter is not available (or no data for 30m)</name>
                            <priority>WARNING</priority>
                            <description>Failed to fetch system metrics from node_exporter in time.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System boot time</name>
                    <type>DEPENDENT</type>
                    <key>system.boottime[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>{__name__=~&quot;^node_boot_time(?:_seconds)?$&quot;}
</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>CPU guest time</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.guest[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Guest  time (time  spent  running  a  virtual  CPU  for  a  guest  operating  system)</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_cpu(?:_guest_seconds_total)?$&quot;,cpu=~&quot;.+&quot;,mode=~&quot;^(?:user|guest)$&quot;}</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//calculates average, all cpu utilization
var valueArr = JSON.parse(value);
return valueArr.reduce(function(acc,obj){
   return acc + parseFloat(obj['value'])
},0)/valueArr.length;</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>100</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>CPU guest nice time</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.guest_nice[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_cpu(?:_guest_seconds_total)?$&quot;,cpu=~&quot;.+&quot;,mode=~&quot;^(?:nice|guest_nice)$&quot;}</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//calculates average, all cpu utilization
var valueArr = JSON.parse(value);
return valueArr.reduce(function(acc,obj){
   return acc + parseFloat(obj['value'])
},0)/valueArr.length;</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>100</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>CPU idle time</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.idle[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent doing nothing.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_cpu(?:_seconds_total)?$&quot;,cpu=~&quot;.+&quot;,mode=&quot;idle&quot;}</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//calculates average, all cpu utilization
var valueArr = JSON.parse(value);
return valueArr.reduce(function(acc,obj){
   return acc + parseFloat(obj['value'])
},0)/valueArr.length;</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>100</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>CPU interrupt time</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.interrupt[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The amount of time the CPU has been servicing hardware interrupts.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_cpu(?:_seconds_total)?$&quot;,cpu=~&quot;.+&quot;,mode=&quot;irq&quot;}</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//calculates average, all cpu utilization
var valueArr = JSON.parse(value);
return valueArr.reduce(function(acc,obj){
   return acc + parseFloat(obj['value'])
},0)/valueArr.length;</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>100</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Interrupts per second</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.intr[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>{__name__=~&quot;node_intr&quot;}
</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>CPU iowait time</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.iowait[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Amount of time the CPU has been waiting for I/O to complete.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_cpu(?:_seconds_total)?$&quot;,cpu=~&quot;.+&quot;,mode=&quot;iowait&quot;}</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//calculates average, all cpu utilization
var valueArr = JSON.parse(value);
return valueArr.reduce(function(acc,obj){
   return acc + parseFloat(obj['value'])
},0)/valueArr.length;</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>100</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Load average (1m avg)</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.load.avg1[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>node_load1
</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Load average (5m avg)</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.load.avg5[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>node_load5
</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Load average (15m avg)</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.load.avg15[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>node_load15
</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>CPU nice time</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.nice[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that have been niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_cpu(?:_seconds_total)?$&quot;,cpu=~&quot;.+&quot;,mode=&quot;nice&quot;}</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//calculates average, all cpu utilization
var valueArr = JSON.parse(value);
return valueArr.reduce(function(acc,obj){
   return acc + parseFloat(obj['value'])
},0)/valueArr.length;</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>100</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Number of CPUs</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.num[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_cpu(?:_seconds_total)?$&quot;,cpu=~&quot;.+&quot;,mode=&quot;idle&quot;}</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//count the number of cores
return JSON.parse(value).length
</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>CPU softirq time</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.softirq[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The amount of time the CPU has been servicing software interrupts.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_cpu(?:_seconds_total)?$&quot;,cpu=~&quot;.+&quot;,mode=&quot;softirq&quot;}</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//calculates average, all cpu utilization
var valueArr = JSON.parse(value);
return valueArr.reduce(function(acc,obj){
   return acc + parseFloat(obj['value'])
},0)/valueArr.length;</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>100</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>CPU steal time</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.steal[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The amount of CPU 'stolen' from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_cpu(?:_seconds_total)?$&quot;,cpu=~&quot;.+&quot;,mode=&quot;steal&quot;}</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//calculates average, all cpu utilization
var valueArr = JSON.parse(value);
return valueArr.reduce(function(acc,obj){
   return acc + parseFloat(obj['value'])
},0)/valueArr.length;</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>100</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Context switches per second</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.switches[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>{__name__=~&quot;node_context_switches&quot;}
</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>CPU system time</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.system[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running the kernel and its processes.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_cpu(?:_seconds_total)?$&quot;,cpu=~&quot;.+&quot;,mode=&quot;system&quot;}</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//calculates average, all cpu utilization
var valueArr = JSON.parse(value);
return valueArr.reduce(function(acc,obj){
   return acc + parseFloat(obj['value'])
},0)/valueArr.length;</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>100</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>CPU user time</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.user[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that are not niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_cpu(?:_seconds_total)?$&quot;,cpu=~&quot;.+&quot;,mode=&quot;user&quot;}</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//calculates average, all cpu utilization
var valueArr = JSON.parse(value);
return valueArr.reduce(function(acc,obj){
   return acc + parseFloat(obj['value'])
},0)/valueArr.length;</params>
                        </step>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>100</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>CPU utilization</name>
                    <type>DEPENDENT</type>
                    <key>system.cpu.util[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>CPU utilization in %</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//Calculate utilization
return (100 - value)</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>system.cpu.idle[node_exporter]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$CPU.UTIL.CRIT}</expression>
                            <name>High CPU utilization (over {$CPU.UTIL.CRIT}% for 5m)</name>
                            <opdata>Current utilization: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <dependencies>
                                <dependency>
                                    <name>Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)</name>
                                    <expression>{Template OS Linux by Prom:system.cpu.load.avg1[node_exporter].min(5m)}/{Template OS Linux by Prom:system.cpu.num[node_exporter].last()}&gt;{$LOAD_AVG_PER_CPU.MAX.WARN}&#13;
and {Template OS Linux by Prom:system.cpu.load.avg5[node_exporter].last()}&gt;0&#13;
and {Template OS Linux by Prom:system.cpu.load.avg15[node_exporter].last()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System description</name>
                    <type>DEPENDENT</type>
                    <key>system.descr[node_exporter]</key>
                    <delay>0</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>Labeled system information as provided by the uname system call.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>node_uname_info</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>var info = JSON.parse(value)[0];
   return info.labels.sysname+' version: '+info.labels.release+' '+info.labels.version</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>System local time</name>
                    <type>DEPENDENT</type>
                    <key>system.localtime[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>{__name__=~&quot;^node_time(?:_seconds)?$&quot;}
</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{fuzzytime({$SYSTEM.FUZZYTIME.MAX})}=0</expression>
                            <name>System time is out of sync (diff with Zabbix server &gt; {$SYSTEM.FUZZYTIME.MAX}s)</name>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System name</name>
                    <type>DEPENDENT</type>
                    <key>system.name[node_exporter]</key>
                    <delay>0</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System host name.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>node_uname_info
nodename</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>System name has changed (new name: {ITEM.VALUE})</name>
                            <priority>INFO</priority>
                            <description>System name has changed. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Operating system architecture</name>
                    <type>DEPENDENT</type>
                    <key>system.sw.arch[node_exporter]</key>
                    <delay>0</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>node_uname_info
machine</params>
                        </step>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>DEPENDENT</type>
                    <key>system.sw.os[node_exporter]</key>
                    <delay>0</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>system.descr[node_exporter]</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>System name has changed (new name: {ITEM.VALUE})</name>
                                    <expression>{Template OS Linux by Prom:system.name[node_exporter].diff()}=1 and {Template OS Linux by Prom:system.name[node_exporter].strlen()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Free swap space</name>
                    <type>DEPENDENT</type>
                    <key>system.swap.free[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>{__name__=~&quot;node_memory_SwapFree&quot;}
</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Free swap space in %</name>
                    <type>CALCULATED</type>
                    <key>system.swap.pfree[node_exporter]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>last(&quot;system.swap.free[node_exporter]&quot;)/last(&quot;system.swap.total[node_exporter]&quot;)*100</params>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Total swap space</name>
                    <type>DEPENDENT</type>
                    <key>system.swap.total[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>{__name__=~&quot;node_memory_SwapTotal&quot;}
</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>System uptime</name>
                    <type>DEPENDENT</type>
                    <key>system.uptime[node_exporter]</key>
                    <delay>0</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>{__name__=~&quot;^node_boot_time(?:_seconds)?$&quot;}
</params>
                        </step>
                        <step>
                            <type>JAVASCRIPT</type>
                            <params>//use boottime to calculate uptime
return (Math.floor(Date.now()/1000)-Number(value));</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                    <triggers>
                        <trigger>
                            <expression>{last()}&lt;10m</expression>
                            <name>{HOST.NAME} has been restarted (uptime &lt; 10m)</name>
                            <priority>WARNING</priority>
                            <description>The device uptime is less than 10 minutes</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Available memory</name>
                    <type>DEPENDENT</type>
                    <key>vm.memory.available[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <description>Available memory, in Linux, available = free + buffers + cache. On other platforms calculation may vary. See also: https://www.zabbix.com/documentation/current/manual/appendix/items/vm.memory.size_params</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>{__name__=~&quot;node_memory_MemAvailable&quot;}
</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Total memory</name>
                    <type>DEPENDENT</type>
                    <key>vm.memory.total[node_exporter]</key>
                    <delay>0</delay>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>B</units>
                    <description>Total memory in Bytes</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_PATTERN</type>
                            <params>{__name__=~&quot;node_memory_MemTotal&quot;}
</params>
                        </step>
                    </preprocessing>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                </item>
                <item>
                    <name>Memory utilization</name>
                    <type>CALCULATED</type>
                    <key>vm.memory.util[node_exporter]</key>
                    <history>7d</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <params>(last(&quot;vm.memory.total[node_exporter]&quot;)-last(&quot;vm.memory.available[node_exporter]&quot;))/last(&quot;vm.memory.total[node_exporter]&quot;)*100</params>
                    <description>Memory used percentage is calculated as (total-available)/total*100</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                            <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                            <priority>AVERAGE</priority>
                            <dependencies>
                                <dependency>
                                    <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
                                    <expression>{Template OS Linux by Prom:vm.memory.available[node_exporter].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template OS Linux by Prom:vm.memory.total[node_exporter].last()}&gt;0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interface discovery</name>
                    <type>DEPENDENT</type>
                    <key>net.if.discovery[node_exporter]</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.MATCHES}</value>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>{$NET.IF.IFNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFALIAS}</macro>
                                <value>{$NET.IF.IFALIAS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#IFOPERSTATUS}</macro>
                                <value>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of network interfaces. Requires node_exporter v0.18 and up.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets discarded</name>
                            <type>DEPENDENT</type>
                            <key>net.if.in.discards[node_exporter,&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_network_receive_drop_total{device=&quot;{#IFNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Inbound packets with errors</name>
                            <type>DEPENDENT</type>
                            <key>net.if.in.errors[node_exporter,&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_network_receive_errs_total{device=&quot;{#IFNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits received</name>
                            <type>DEPENDENT</type>
                            <key>net.if.in[node_exporter,&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_network_receive_bytes_total{device=&quot;{#IFNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets discarded</name>
                            <type>DEPENDENT</type>
                            <key>net.if.out.discards[node_exporter,&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_network_transmit_drop_total{device=&quot;{#IFNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Outbound packets with errors</name>
                            <type>DEPENDENT</type>
                            <key>net.if.out.errors[node_exporter&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_network_transmit_errs_total{device=&quot;{#IFNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Bits sent</name>
                            <type>DEPENDENT</type>
                            <key>net.if.out[node_exporter,&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>bps</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_network_transmit_bytes_total{device=&quot;{#IFNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Speed</name>
                            <type>DEPENDENT</type>
                            <key>net.if.speed[node_exporter,&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <units>bps</units>
                            <description>Sets value to 0 if metric is missing in node_exporter output.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_network_speed_bytes{device=&quot;{#IFNAME}&quot;}
</params>
                                    <error_handler>CUSTOM_VALUE</error_handler>
                                    <error_handler_params>0</error_handler_params>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Operational status</name>
                            <type>DEPENDENT</type>
                            <key>net.if.status[node_exporter,&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0</trends>
                            <description>Indicates the interface RFC2863 operational state as a string.&#13;
Possible values are:&quot;unknown&quot;, &quot;notpresent&quot;, &quot;down&quot;, &quot;lowerlayerdown&quot;, &quot;testing&quot;,&quot;dormant&quot;, &quot;up&quot;.&#13;
Reference: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>IF-MIB::ifOperStatus</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_network_info{device=&quot;{#IFNAME}&quot;}
operstate</params>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>var newvalue;
switch(value) {
  case &quot;up&quot;:
    newvalue = 1;
    break;
  case &quot;down&quot;:
    newvalue = 2;
    break;
  case &quot;testing&quot;:
    newvalue = 4;
    break;
  case &quot;unknown&quot;:
    newvalue = 5;
    break;
  case &quot;dormant&quot;:
    newvalue = 6;
    break;
  case &quot;notPresent&quot;:
    newvalue = 7;
    break;
  default:
    newvalue = &quot;Problem parsing interface operstate in JS&quot;;
}
return newvalue;</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({last()}=2 and {diff()}=1)</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last()}&lt;&gt;2</recovery_expression>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>This trigger expression works as follows:&#13;
1. Can be triggered if operations status is down.&#13;
2. {$IFCONTROL:&quot;{#IFNAME}&quot;}=1 - user can redefine Context macro to value - 0. That marks this interface as not important. No new trigger will be fired if this interface is down.&#13;
3. {TEMPLATE_NAME:METRIC.diff()}=1) - trigger fires only if operational status was up(1) sometime before. (So, do not fire 'ethernal off' interfaces.)&#13;
&#13;
WARNING: if closed manually - won't fire again on next poll, because of .diff.</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Interface type</name>
                            <type>DEPENDENT</type>
                            <key>net.if.type[node_exporter,&quot;{#IFNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <trends>0d</trends>
                            <description>node_network_protocol_type protocol_type value of /sys/class/net/&lt;iface&gt;.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Interface {#IFNAME}({#IFALIAS})</name>
                                </application_prototype>
                            </application_prototypes>
                            <valuemap>
                                <name>Linux::Interface protocol types</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_network_protocol_type{device=&quot;{#IFNAME}&quot;}
</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template OS Linux by Prom:net.if.speed[node_exporter,&quot;{#IFNAME}&quot;].change()}&lt;0 and {Template OS Linux by Prom:net.if.speed[node_exporter,&quot;{#IFNAME}&quot;].last()}&gt;0&#13;
and (&#13;
{Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].last()}=6 or&#13;
{Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].last()}=7 or&#13;
{Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].last()}=11 or&#13;
{Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].last()}=62 or&#13;
{Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].last()}=69 or&#13;
{Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].last()}=117&#13;
)&#13;
and&#13;
({Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template OS Linux by Prom:net.if.speed[node_exporter,&quot;{#IFNAME}&quot;].change()}&gt;0 and {Template OS Linux by Prom:net.if.speed[node_exporter,&quot;{#IFNAME}&quot;].prev()}&gt;0) or&#13;
({Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}=2)</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}=2 and {Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].change()}&lt;0 and {Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].last()}&gt;0&#13;
and&#13;
({Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].last()}=6&#13;
or {Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].last()}=1)&#13;
and&#13;
({Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}&lt;&gt;2)</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>({Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].change()}&gt;0 and {Template OS Linux by Prom:net.if.type[node_exporter,&quot;{#IFNAME}&quot;].prev()}&gt;0) or&#13;
({Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}=2)</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): Ethernet has changed to lower speed than it was before</name>
                            <opdata>Current reported speed: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}=2 and {Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>({Template OS Linux by Prom:net.if.in[node_exporter,&quot;{#IFNAME}&quot;].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template OS Linux by Prom:net.if.speed[node_exporter,&quot;{#IFNAME}&quot;].last()} or&#13;
{Template OS Linux by Prom:net.if.out[node_exporter,&quot;{#IFNAME}&quot;].avg(15m)}&gt;({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}/100)*{Template OS Linux by Prom:net.if.speed[node_exporter,&quot;{#IFNAME}&quot;].last()}) and&#13;
{Template OS Linux by Prom:net.if.speed[node_exporter,&quot;{#IFNAME}&quot;].last()}&gt;0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template OS Linux by Prom:net.if.in[node_exporter,&quot;{#IFNAME}&quot;].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template OS Linux by Prom:net.if.speed[node_exporter,&quot;{#IFNAME}&quot;].last()} and&#13;
{Template OS Linux by Prom:net.if.out[node_exporter,&quot;{#IFNAME}&quot;].avg(15m)}&lt;(({$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}-3)/100)*{Template OS Linux by Prom:net.if.speed[node_exporter,&quot;{#IFNAME}&quot;].last()}</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High bandwidth usage ( &gt; {$IF.UTIL.MAX:&quot;{#IFNAME}&quot;}% )</name>
                            <opdata>In: {ITEM.LASTVALUE1}, out: {ITEM.LASTVALUE3}, speed: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}=2 and {Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template OS Linux by Prom:net.if.in.errors[node_exporter,&quot;{#IFNAME}&quot;].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}&#13;
or {Template OS Linux by Prom:net.if.out.errors[node_exporter&quot;{#IFNAME}&quot;].min(5m)}&gt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template OS Linux by Prom:net.if.in.errors[node_exporter,&quot;{#IFNAME}&quot;].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8&#13;
and {Template OS Linux by Prom:net.if.out.errors[node_exporter&quot;{#IFNAME}&quot;].max(5m)}&lt;{$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;}*0.8</recovery_expression>
                            <name>Interface {#IFNAME}({#IFALIAS}): High error rate ( &gt; {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} for 5m)</name>
                            <opdata>errors in: {ITEM.LASTVALUE1}, errors out: {ITEM.LASTVALUE2}</opdata>
                            <priority>WARNING</priority>
                            <description>Recovers when below 80% of {$IF.ERRORS.WARN:&quot;{#IFNAME}&quot;} threshold</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>Interface {#IFNAME}({#IFALIAS}): Link down</name>
                                    <expression>{$IFCONTROL:&quot;{#IFNAME}&quot;}=1 and ({Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}=2 and {Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].diff()}=1)</expression>
                                    <recovery_expression>{Template OS Linux by Prom:net.if.status[node_exporter,&quot;{#IFNAME}&quot;].last()}&lt;&gt;2</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>net.if.in[node_exporter,&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>BOLD_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>net.if.out[node_exporter,&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>F63100</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>net.if.out.errors[node_exporter&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>A54F10</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>net.if.in.errors[node_exporter,&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>4</sortorder>
                                    <color>FC6EA3</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>net.if.out.discards[node_exporter,&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>5</sortorder>
                                    <color>6C59DC</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>net.if.in.discards[node_exporter,&quot;{#IFNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                    <lld_macro_paths>
                        <lld_macro_path>
                            <lld_macro>{#IFNAME}</lld_macro>
                            <path>$.labels.device</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#HELP}</lld_macro>
                            <path>$.help</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#IFALIAS}</lld_macro>
                            <path>$.labels.ifalias</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#IFOPERSTATUS}</lld_macro>
                            <path>$.labels.operstate</path>
                        </lld_macro_path>
                    </lld_macro_paths>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_network_info$&quot;}</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
                <discovery_rule>
                    <name>Block devices discovery</name>
                    <type>DEPENDENT</type>
                    <key>vfs.dev.discovery[node_exporter]</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.MATCHES}</value>
                                <formulaid>A</formulaid>
                            </condition>
                            <condition>
                                <macro>{#DEVNAME}</macro>
                                <value>{$VFS.DEV.DEVNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>B</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk average queue size (avgqu-sz)</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.queue_size[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_disk_io_time_weighted_seconds_total{device=&quot;{#DEVNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read request avg waiting time (r_await)</name>
                            <type>CALCULATED</type>
                            <key>vfs.dev.read.await[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!ms</units>
                            <params>(last(&quot;vfs.dev.read.time.rate[node_exporter,\&quot;{#DEVNAME}\&quot;]&quot;)/(last(&quot;vfs.dev.read.rate[node_exporter,\&quot;{#DEVNAME}\&quot;]&quot;)+(last(&quot;vfs.dev.read.rate[node_exporter,\&quot;{#DEVNAME}\&quot;]&quot;)=0)))*1000*(last(&quot;vfs.dev.read.rate[node_exporter,\&quot;{#DEVNAME}\&quot;]&quot;) &gt; 0)</params>
                            <description>This formula contains two boolean expressions that evaluates to 1 or 0 in order to set calculated metric to zero and to avoid division by zero exception.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read rate</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.read.rate[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!r/s</units>
                            <description>r/s. The number (after merges) of read requests completed per second for the device.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_disk_reads_completed_total{device=&quot;{#DEVNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk read time (rate)</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.read.time.rate[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of total read time counter. Used in r_await calculation</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_disk_read_time_seconds_total{device=&quot;{#DEVNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk utilization</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.util[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_disk_io_time_seconds_total{device=&quot;{#DEVNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>100</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write request avg waiting time (w_await)</name>
                            <type>CALCULATED</type>
                            <key>vfs.dev.write.await[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!ms</units>
                            <params>(last(&quot;vfs.dev.write.time.rate[node_exporter,\&quot;{#DEVNAME}\&quot;]&quot;)/(last(&quot;vfs.dev.write.rate[node_exporter,\&quot;{#DEVNAME}\&quot;]&quot;)+(last(&quot;vfs.dev.write.rate[node_exporter,\&quot;{#DEVNAME}\&quot;]&quot;)=0)))*1000*(last(&quot;vfs.dev.write.rate[node_exporter,\&quot;{#DEVNAME}\&quot;]&quot;) &gt; 0)</params>
                            <description>This formula contains two boolean expressions that evaluates to 1 or 0 in order to set calculated metric to zero and to avoid division by zero exception.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write rate</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.write.rate[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>!w/s</units>
                            <description>w/s. The number (after merges) of write requests completed per second for the device.</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Disk {#DEVNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_disk_writes_completed_total{device=&quot;{#DEVNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DEVNAME}: Disk write time (rate)</name>
                            <type>DEPENDENT</type>
                            <key>vfs.dev.write.time.rate[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <description>Rate of total write time counter. Used in w_await calculation</description>
                            <applications>
                                <application>
                                    <name>Zabbix raw items</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>node_disk_write_time_seconds_total{device=&quot;{#DEVNAME}&quot;}
</params>
                                </step>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template OS Linux by Prom:vfs.dev.read.await[node_exporter,&quot;{#DEVNAME}&quot;].min(15m)} &gt; {$VFS.DEV.READ.AWAIT.WARN:&quot;{#DEVNAME}&quot;} or {Template OS Linux by Prom:vfs.dev.write.await[node_exporter,&quot;{#DEVNAME}&quot;].min(15m)} &gt; {$VFS.DEV.WRITE.AWAIT.WARN:&quot;{#DEVNAME}&quot;}</expression>
                            <name>{#DEVNAME}: Disk read/write request response are too high (read &gt; {$VFS.DEV.READ.AWAIT.WARN:&quot;{#DEVNAME}&quot;} ms for 15m or write &gt; {$VFS.DEV.WRITE.AWAIT.WARN:&quot;{#DEVNAME}&quot;} ms for 15m)</name>
                            <priority>WARNING</priority>
                            <description>This trigger might indicate disk {#DEVNAME} saturation.</description>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk average waiting time</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>vfs.dev.read.await[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>vfs.dev.write.await[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk read/write rates</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>vfs.dev.read.rate[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>vfs.dev.write.rate[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                        <graph_prototype>
                            <name>{#DEVNAME}: Disk utilization and queue</name>
                            <graph_items>
                                <graph_item>
                                    <color>1A7C11</color>
                                    <yaxisside>RIGHT</yaxisside>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>vfs.dev.queue_size[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>2774A4</color>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>vfs.dev.util[node_exporter,&quot;{#DEVNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                    <lld_macro_paths>
                        <lld_macro_path>
                            <lld_macro>{#DEVNAME}</lld_macro>
                            <path>$.labels.device</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#HELP}</lld_macro>
                            <path>$.help</path>
                        </lld_macro_path>
                    </lld_macro_paths>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>node_disk_io_now{device=~&quot;.+&quot;}</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <type>DEPENDENT</type>
                    <key>vfs.fs.discovery[node_exporter]</key>
                    <delay>0</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.MATCHES}</value>
                                <formulaid>E</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>{$VFS.FS.FSTYPE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>F</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.MATCHES}</value>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSNAME.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>C</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSNAME}</macro>
                                <value>{$VFS.FS.FSDEVICE.MATCHES}</value>
                                <formulaid>D</formulaid>
                            </condition>
                            <condition>
                                <macro>{#FSDEVICE}</macro>
                                <value>{$VFS.FS.FSDEVICE.NOT_MATCHES}</value>
                                <operator>NOT_MATCHES_REGEX</operator>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of file systems of different types.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#FSNAME}: Free space</name>
                            <type>DEPENDENT</type>
                            <key>vfs.fs.free[node_exporter,&quot;{#FSNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>B</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>{__name__=~&quot;^node_filesystem_avail(?:_bytes)?$&quot;, mountpoint=&quot;{#FSNAME}&quot;}
</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Free inodes in %</name>
                            <type>DEPENDENT</type>
                            <key>vfs.fs.inode.pfree[node_exporter,&quot;{#FSNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_TO_JSON</type>
                                    <params>{__name__=~&quot;node_filesystem_files.*&quot;,mountpoint=&quot;{#FSNAME}&quot;}</params>
                                </step>
                                <step>
                                    <type>JAVASCRIPT</type>
                                    <params>//count vfs.fs.inode.pfree
var inode_free;
var inode_total;
JSON.parse(value).forEach(function(metric) {
  if (metric['name'] == 'node_filesystem_files'){
      inode_total = metric['value'];
  } else if (metric['name'] == 'node_filesystem_files_free'){
      inode_free = metric['value'];
  }
});
return (inode_free/inode_total)*100;</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}</expression>
                                    <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                    <opdata>Free inodes: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>It may become impossible to write to disk if there are no index nodes left.&#13;
As symptoms, 'No space left on device' or 'Disk is full' errors may be seen even though free space is available.</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.WARN:&quot;{#FSNAME}&quot;}</expression>
                                    <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.WARN:&quot;{#FSNAME}&quot;}%)</name>
                                    <opdata>Free inodes: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>It may become impossible to write to disk if there are no index nodes left.&#13;
As symptoms, 'No space left on device' or 'Disk is full' errors may be seen even though free space is available.</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#FSNAME}: Running out of free inodes (free &lt; {$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                            <expression>{Template OS Linux by Prom:vfs.fs.inode.pfree[node_exporter,&quot;{#FSNAME}&quot;].min(5m)}&lt;{$VFS.FS.INODE.PFREE.MIN.CRIT:&quot;{#FSNAME}&quot;}</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Space utilization</name>
                            <type>CALCULATED</type>
                            <key>vfs.fs.pused[node_exporter,&quot;{#FSNAME}&quot;]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <params>(last(&quot;vfs.fs.used[node_exporter,\&quot;{#FSNAME}\&quot;]&quot;)/last(&quot;vfs.fs.total[node_exporter,\&quot;{#FSNAME}\&quot;]&quot;))*100</params>
                            <description>Space utilization in % for {#FSNAME}</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Total space</name>
                            <type>DEPENDENT</type>
                            <key>vfs.fs.total[node_exporter,&quot;{#FSNAME}&quot;]</key>
                            <delay>0</delay>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>B</units>
                            <description>Total space in Bytes</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                            <preprocessing>
                                <step>
                                    <type>PROMETHEUS_PATTERN</type>
                                    <params>{__name__=~&quot;^node_filesystem_size(?:_bytes)?$&quot;, mountpoint=&quot;{#FSNAME}&quot;}
</params>
                                </step>
                            </preprocessing>
                            <master_item>
                                <key>node_exporter.get</key>
                            </master_item>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FSNAME}: Used space</name>
                            <type>CALCULATED</type>
                            <key>vfs.fs.used[node_exporter,&quot;{#FSNAME}&quot;]</key>
                            <history>7d</history>
                            <value_type>FLOAT</value_type>
                            <units>B</units>
                            <params>(last(&quot;vfs.fs.total[node_exporter,\&quot;{#FSNAME}\&quot;]&quot;)-last(&quot;vfs.fs.free[node_exporter,\&quot;{#FSNAME}\&quot;]&quot;))</params>
                            <description>Used storage in Bytes</description>
                            <application_prototypes>
                                <application_prototype>
                                    <name>Filesystem {#FSNAME}</name>
                                </application_prototype>
                            </application_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template OS Linux by Prom:vfs.fs.pused[node_exporter,&quot;{#FSNAME}&quot;].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template OS Linux by Prom:vfs.fs.total[node_exporter,&quot;{#FSNAME}&quot;].last()}-{Template OS Linux by Prom:vfs.fs.used[node_exporter,&quot;{#FSNAME}&quot;].last()})&lt;5G or {Template OS Linux by Prom:vfs.fs.pused[node_exporter,&quot;{#FSNAME}&quot;].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>AVERAGE</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 5G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template OS Linux by Prom:vfs.fs.pused[node_exporter,&quot;{#FSNAME}&quot;].last()}&gt;{$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;} and&#13;
(({Template OS Linux by Prom:vfs.fs.total[node_exporter,&quot;{#FSNAME}&quot;].last()}-{Template OS Linux by Prom:vfs.fs.used[node_exporter,&quot;{#FSNAME}&quot;].last()})&lt;10G or {Template OS Linux by Prom:vfs.fs.pused[node_exporter,&quot;{#FSNAME}&quot;].timeleft(1h,,100)}&lt;1d)</expression>
                            <name>{#FSNAME}: Disk space is low (used &gt; {$VFS.FS.PUSED.MAX.WARN:&quot;{#FSNAME}&quot;}%)</name>
                            <opdata>Space used: {ITEM.LASTVALUE3} of {ITEM.LASTVALUE2} ({ITEM.LASTVALUE1})</opdata>
                            <priority>WARNING</priority>
                            <description>Two conditions should match: First, space utilization should be above {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}.&#13;
 Second condition should be one of the following:&#13;
 - The disk free space is less than 10G.&#13;
 - The disk will be full in less than 24 hours.</description>
                            <manual_close>YES</manual_close>
                            <dependencies>
                                <dependency>
                                    <name>{#FSNAME}: Disk space is critically low (used &gt; {$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;}%)</name>
                                    <expression>{Template OS Linux by Prom:vfs.fs.pused[node_exporter,&quot;{#FSNAME}&quot;].last()}&gt;{$VFS.FS.PUSED.MAX.CRIT:&quot;{#FSNAME}&quot;} and&#13;
(({Template OS Linux by Prom:vfs.fs.total[node_exporter,&quot;{#FSNAME}&quot;].last()}-{Template OS Linux by Prom:vfs.fs.used[node_exporter,&quot;{#FSNAME}&quot;].last()})&lt;5G or {Template OS Linux by Prom:vfs.fs.pused[node_exporter,&quot;{#FSNAME}&quot;].timeleft(1h,,100)}&lt;1d)</expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>{#FSNAME}: Disk space usage</name>
                            <width>600</width>
                            <height>340</height>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>969696</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>vfs.fs.total[node_exporter,&quot;{#FSNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>C80000</color>
                                    <calc_fnc>LAST</calc_fnc>
                                    <item>
                                        <host>Template OS Linux by Prom</host>
                                        <key>vfs.fs.used[node_exporter,&quot;{#FSNAME}&quot;]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                    <master_item>
                        <key>node_exporter.get</key>
                    </master_item>
                    <lld_macro_paths>
                        <lld_macro_path>
                            <lld_macro>{#FSTYPE}</lld_macro>
                            <path>$.labels.fstype</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#FSNAME}</lld_macro>
                            <path>$.labels.mountpoint</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#FSDEVICE}</lld_macro>
                            <path>$.labels.device</path>
                        </lld_macro_path>
                        <lld_macro_path>
                            <lld_macro>{#HELP}</lld_macro>
                            <path>$.help</path>
                        </lld_macro_path>
                    </lld_macro_paths>
                    <preprocessing>
                        <step>
                            <type>PROMETHEUS_TO_JSON</type>
                            <params>{__name__=~&quot;^node_filesystem_size(?:_bytes)?$&quot;, mountpoint=~&quot;.+&quot;}</params>
                        </step>
                    </preprocessing>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$CPU.UTIL.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$IF.ERRORS.WARN}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$IF.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$IFCONTROL}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$KERNEL.MAXFILES.MIN}</macro>
                    <value>256</value>
                </macro>
                <macro>
                    <macro>{$LOAD_AVG_PER_CPU.MAX.WARN}</macro>
                    <value>1.5</value>
                    <description>Load per CPU considered sustainable. Tune if needed.</description>
                </macro>
                <macro>
                    <macro>{$MEMORY.AVAILABLE.MIN}</macro>
                    <value>20M</value>
                </macro>
                <macro>
                    <macro>{$MEMORY.UTIL.MAX}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFALIAS.NOT_MATCHES}</macro>
                    <value>CHANGE_IF_NEEDED</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFNAME.NOT_MATCHES}</macro>
                    <value>(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker[0-9]+|br-[a-z0-9]{12})</value>
                    <description>Filter out loopbacks, nulls, docker veth links and docker0 bridge by default</description>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.MATCHES}</macro>
                    <value>^.*$</value>
                </macro>
                <macro>
                    <macro>{$NET.IF.IFOPERSTATUS.NOT_MATCHES}</macro>
                    <value>^7$</value>
                    <description>Ignore notPresent(7)</description>
                </macro>
                <macro>
                    <macro>{$NODE_EXPORTER_PORT}</macro>
                    <value>9100</value>
                    <description>TCP Port node_exporter is listening on.</description>
                </macro>
                <macro>
                    <macro>{$SWAP.PFREE.MIN.WARN}</macro>
                    <value>50</value>
                </macro>
                <macro>
                    <macro>{$SYSTEM.FUZZYTIME.MAX}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.MATCHES}</macro>
                    <value>.+</value>
                    <description>This macro is used in block devices discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.DEVNAME.NOT_MATCHES}</macro>
                    <value>^(loop[0-9]*|sd[a-z][0-9]+|nbd[0-9]+|sr[0-9]+|fd[0-9]+|dm-[0-9]+|ram[0-9]+)</value>
                    <description>This macro is used in block devices discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.READ.AWAIT.WARN}</macro>
                    <value>20</value>
                    <description>Disk read average response time (in ms) before the trigger would fire</description>
                </macro>
                <macro>
                    <macro>{$VFS.DEV.WRITE.AWAIT.WARN}</macro>
                    <value>20</value>
                    <description>Disk write average response time (in ms) before the trigger would fire</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSDEVICE.MATCHES}</macro>
                    <value>^.+$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSDEVICE.NOT_MATCHES}</macro>
                    <value>^\s$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSNAME.MATCHES}</macro>
                    <value>.+</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSNAME.NOT_MATCHES}</macro>
                    <value>^(/dev|/sys|/run|/proc|.+/shm$)</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.MATCHES}</macro>
                    <value>^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.FSTYPE.NOT_MATCHES}</macro>
                    <value>^\s$</value>
                    <description>This macro is used in filesystems discovery. Can be overridden on the host or linked template level</description>
                </macro>
                <macro>
                    <macro>{$VFS.FS.INODE.PFREE.MIN.CRIT}</macro>
                    <value>10</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.INODE.PFREE.MIN.WARN}</macro>
                    <value>20</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.CRIT}</macro>
                    <value>90</value>
                </macro>
                <macro>
                    <macro>{$VFS.FS.PUSED.MAX.WARN}</macro>
                    <value>80</value>
                </macro>
            </macros>
            <screens>
                <screen>
                    <name>Network interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                                <host>Template OS Linux by Prom</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>7</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>System load</name>
                                <host>Template OS Linux by Prom</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU usage</name>
                                <host>Template OS Linux by Prom</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory usage</name>
                                <host>Template OS Linux by Prom</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Swap usage</name>
                                <host>Template OS Linux by Prom</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#FSNAME}: Disk space usage</name>
                                <host>Template OS Linux by Prom</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk read/write rates</name>
                                <host>Template OS Linux by Prom</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>3</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk average waiting time</name>
                                <host>Template OS Linux by Prom</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>4</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk utilization and queue</name>
                                <host>Template OS Linux by Prom</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>5</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                                <host>Template OS Linux by Prom</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>6</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS Linux by Zabbix agent</template>
            <name>Template OS Linux by Zabbix agent</name>
            <description>Official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: Network discovery. Zabbix agent as of 4.2 doesn't support items such as net.if.status, net.if.speed.&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Linux block devices by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Linux CPU by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Linux filesystems by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Linux generic by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Linux memory by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Linux network interfaces by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Zabbix agent</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>7</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>System load</name>
                                <host>Template OS Linux by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU usage</name>
                                <host>Template OS Linux by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory usage</name>
                                <host>Template OS Linux by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Swap usage</name>
                                <host>Template OS Linux by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#FSNAME}: Disk space usage</name>
                                <host>Template OS Linux by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk read/write rates</name>
                                <host>Template OS Linux by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>3</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk average waiting time</name>
                                <host>Template OS Linux by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>4</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk utilization and queue</name>
                                <host>Template OS Linux by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>5</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}: Network traffic</name>
                                <host>Template OS Linux by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>6</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS Linux by Zabbix agent active</template>
            <name>Template OS Linux by Zabbix agent active</name>
            <description>Official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: Network discovery. Zabbix agent as of 4.2 doesn't support items such as net.if.status, net.if.speed.&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Linux block devices by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Linux CPU by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Linux filesystems by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Linux generic by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Linux memory by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Linux network interfaces by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Zabbix agent active</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>7</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>System load</name>
                                <host>Template OS Linux by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU usage</name>
                                <host>Template OS Linux by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory usage</name>
                                <host>Template OS Linux by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Swap usage</name>
                                <host>Template OS Linux by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#FSNAME}: Disk space usage</name>
                                <host>Template OS Linux by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk read/write rates</name>
                                <host>Template OS Linux by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>3</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk average waiting time</name>
                                <host>Template OS Linux by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>4</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk utilization and queue</name>
                                <host>Template OS Linux by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>5</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}: Network traffic</name>
                                <host>Template OS Linux by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>6</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS Linux by Zabbix agent active for UCB</template>
            <name>UCB Template OS Linux by Zabbix agent active</name>
            <description>Official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: Network discovery. Zabbix agent as of 4.2 doesn't support items such as net.if.status, net.if.speed.&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Linux block devices by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Linux CPU by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Linux filesystems by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Linux generic by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Linux memory by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Linux network interfaces by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Zabbix agent active</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <screens>
                <screen>
                    <name>Network interfaces</name>
                    <hsize>1</hsize>
                    <vsize>1</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}: Network traffic</name>
                                <host>Template OS Linux by Zabbix agent active for UCB</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>7</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>System load</name>
                                <host>Template OS Linux by Zabbix agent active for UCB</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU usage</name>
                                <host>Template OS Linux by Zabbix agent active for UCB</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory usage</name>
                                <host>Template OS Linux by Zabbix agent active for UCB</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Swap usage</name>
                                <host>Template OS Linux by Zabbix agent active for UCB</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#FSNAME}: Disk space usage</name>
                                <host>Template OS Linux by Zabbix agent active for UCB</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk read/write rates</name>
                                <host>Template OS Linux by Zabbix agent active for UCB</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>3</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk average waiting time</name>
                                <host>Template OS Linux by Zabbix agent active for UCB</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>4</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk utilization and queue</name>
                                <host>Template OS Linux by Zabbix agent active for UCB</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>5</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}: Network traffic</name>
                                <host>Template OS Linux by Zabbix agent active for UCB</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>6</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS Linux SNMPv2</template>
            <name>Template OS Linux SNMPv2</name>
            <description>Template OS Linux&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux&#13;
&#13;
Template tooling version used: 0.32</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>
                <template>
                    <name>Template Module Linux block devices SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Linux CPU SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Linux filesystems SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Linux memory SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>6</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>System load</name>
                                <host>Template OS Linux SNMPv2</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU usage{#SINGLETON}</name>
                                <host>Template OS Linux SNMPv2</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory usage</name>
                                <host>Template OS Linux SNMPv2</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Swap usage</name>
                                <host>Template OS Linux SNMPv2</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#FSNAME}: Disk space usage</name>
                                <host>Template OS Linux SNMPv2</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk read/write rates</name>
                                <host>Template OS Linux SNMPv2</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>3</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>19</resourcetype>
                            <style>0</style>
                            <resource>
                                <key>vfs.dev.util[diskIOLA1.{#SNMPINDEX}]</key>
                                <host>Template OS Linux SNMPv2</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>4</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                                <host>Template OS Linux SNMPv2</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>5</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS Mac OS X</template>
            <name>Template OS Mac OS X</name>
            <templates>
                <template>
                    <name>Template Module Zabbix agent</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Filesystems</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Network interfaces</name>
                </application>
                <application>
                    <name>OS</name>
                </application>
                <application>
                    <name>Performance</name>
                </application>
                <application>
                    <name>Processes</name>
                </application>
                <application>
                    <name>Security</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Maximum number of opened files</name>
                    <key>kernel.maxfiles</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;1024</expression>
                            <name>Configured max number of opened files is too low on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Maximum number of processes</name>
                    <key>kernel.maxproc</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;256</expression>
                            <name>Configured max number of processes is too low on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Incoming network traffic on en0</name>
                    <key>net.if.in[en0]</key>
                    <history>1w</history>
                    <units>bps</units>
                    <applications>
                        <application>
                            <name>Network interfaces</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>8</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Outgoing network traffic on en0</name>
                    <key>net.if.out[en0]</key>
                    <history>1w</history>
                    <units>bps</units>
                    <applications>
                        <application>
                            <name>Network interfaces</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>8</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Host boot time</name>
                    <key>system.boottime</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Processor load (1 min average per core)</name>
                    <key>system.cpu.load[percpu,avg1]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;5</expression>
                            <name>Processor load is too high on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Processor load (5 min average per core)</name>
                    <key>system.cpu.load[percpu,avg5]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Processor load (15 min average per core)</name>
                    <key>system.cpu.load[percpu,avg15]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Host name</name>
                    <key>system.hostname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System host name.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Hostname was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Host local time</name>
                    <key>system.localtime</key>
                    <history>1w</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System information</name>
                    <key>system.uname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>The information as normally returned by 'uname -a'.</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Host information was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System uptime</name>
                    <key>system.uptime</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{change(0)}&lt;0</expression>
                            <name>{HOST.NAME} has just been restarted</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of logged in users</name>
                    <key>system.users.num</key>
                    <history>1w</history>
                    <description>Number of users who are currently logged in.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Checksum of /etc/passwd</name>
                    <key>vfs.file.cksum[/etc/passwd]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>/etc/passwd has been changed on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Available memory</name>
                    <key>vm.memory.size[available]</key>
                    <history>1w</history>
                    <units>B</units>
                    <description>Available memory is defined as free+cached+buffers memory.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;20M</expression>
                            <name>Lack of available memory on server {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total memory</name>
                    <key>vm.memory.size[total]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <key>vfs.fs.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>@File systems for discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of file systems of different types as defined in global regular expression &quot;File systems for discovery&quot;.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Free inodes on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.inode[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free inodes is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},free]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.size[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free disk space is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Total disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},total]</key>
                            <delay>1h</delay>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Used disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},used]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Disk space usage {#FSNAME}</name>
                            <width>600</width>
                            <height>340</height>
                            <show_work_period>NO</show_work_period>
                            <show_triggers>NO</show_triggers>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>C80000</color>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template OS Mac OS X</host>
                                        <key>vfs.fs.size[{#FSNAME},total]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>00C800</color>
                                    <item>
                                        <host>Template OS Mac OS X</host>
                                        <key>vfs.fs.size[{#FSNAME},free]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>1</hsize>
                    <vsize>2</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU load</name>
                                <host>Template OS Mac OS X</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory usage</name>
                                <host>Template OS Mac OS X</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS OpenBSD</template>
            <name>Template OS OpenBSD</name>
            <templates>
                <template>
                    <name>Template Module Zabbix agent</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Filesystems</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Network interfaces</name>
                </application>
                <application>
                    <name>OS</name>
                </application>
                <application>
                    <name>Performance</name>
                </application>
                <application>
                    <name>Processes</name>
                </application>
                <application>
                    <name>Security</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Maximum number of opened files</name>
                    <key>kernel.maxfiles</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;1024</expression>
                            <name>Configured max number of opened files is too low on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Maximum number of processes</name>
                    <key>kernel.maxproc</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;256</expression>
                            <name>Configured max number of processes is too low on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of running processes</name>
                    <key>proc.num[,,run]</key>
                    <history>1w</history>
                    <description>Number of processes in running state.</description>
                    <applications>
                        <application>
                            <name>Processes</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;30</expression>
                            <name>Too many processes running on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of processes</name>
                    <key>proc.num[]</key>
                    <history>1w</history>
                    <description>Total number of processes in any state.</description>
                    <applications>
                        <application>
                            <name>Processes</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;300</expression>
                            <name>Too many processes on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Host boot time</name>
                    <key>system.boottime</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Interrupts per second</name>
                    <key>system.cpu.intr</key>
                    <history>1w</history>
                    <units>ips</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Processor load (1 min average per core)</name>
                    <key>system.cpu.load[percpu,avg1]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;5</expression>
                            <name>Processor load is too high on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Processor load (5 min average per core)</name>
                    <key>system.cpu.load[percpu,avg5]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Processor load (15 min average per core)</name>
                    <key>system.cpu.load[percpu,avg15]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Context switches per second</name>
                    <key>system.cpu.switches</key>
                    <history>1w</history>
                    <units>sps</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>CPU idle time</name>
                    <key>system.cpu.util[,idle]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent doing nothing.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU interrupt time</name>
                    <key>system.cpu.util[,interrupt]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The amount of time the CPU has been servicing hardware interrupts.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU nice time</name>
                    <key>system.cpu.util[,nice]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that have been niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU system time</name>
                    <key>system.cpu.util[,system]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running the kernel and its processes.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU user time</name>
                    <key>system.cpu.util[,user]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that are not niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Host name</name>
                    <key>system.hostname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System host name.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Hostname was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Host local time</name>
                    <key>system.localtime</key>
                    <history>1w</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space</name>
                    <key>system.swap.size[,free]</key>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space in %</name>
                    <key>system.swap.size[,pfree]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;50</expression>
                            <name>Lack of free swap space on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                            <description>It probably means that the systems requires more physical memory.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total swap space</name>
                    <key>system.swap.size[,total]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System information</name>
                    <key>system.uname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>The information as normally returned by 'uname -a'.</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Host information was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System uptime</name>
                    <key>system.uptime</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{change(0)}&lt;0</expression>
                            <name>{HOST.NAME} has just been restarted</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of logged in users</name>
                    <key>system.users.num</key>
                    <history>1w</history>
                    <description>Number of users who are currently logged in.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Checksum of /etc/passwd</name>
                    <key>vfs.file.cksum[/etc/passwd]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>/etc/passwd has been changed on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Available memory</name>
                    <key>vm.memory.size[available]</key>
                    <history>1w</history>
                    <units>B</units>
                    <description>Available memory is defined as free+cached+buffers memory.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;20M</expression>
                            <name>Lack of available memory on server {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total memory</name>
                    <key>vm.memory.size[total]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interface discovery</name>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>@Network interfaces for discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of network interfaces as defined in global regular expression &quot;Network interfaces for discovery&quot;.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Incoming network traffic on {#IFNAME}</name>
                            <key>net.if.in[{#IFNAME}]</key>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Network interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Outgoing network traffic on {#IFNAME}</name>
                            <key>net.if.out[{#IFNAME}]</key>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Network interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Network traffic on {#IFNAME}</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>00AA00</color>
                                    <item>
                                        <host>Template OS OpenBSD</host>
                                        <key>net.if.in[{#IFNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>3333FF</color>
                                    <item>
                                        <host>Template OS OpenBSD</host>
                                        <key>net.if.out[{#IFNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <key>vfs.fs.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>@File systems for discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of file systems of different types as defined in global regular expression &quot;File systems for discovery&quot;.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Free inodes on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.inode[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free inodes is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},free]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.size[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free disk space is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Total disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},total]</key>
                            <delay>1h</delay>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Used disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},used]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Disk space usage {#FSNAME}</name>
                            <width>600</width>
                            <height>340</height>
                            <show_work_period>NO</show_work_period>
                            <show_triggers>NO</show_triggers>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>C80000</color>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template OS OpenBSD</host>
                                        <key>vfs.fs.size[{#FSNAME},total]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>00C800</color>
                                    <item>
                                        <host>Template OS OpenBSD</host>
                                        <key>vfs.fs.size[{#FSNAME},free]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>3</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU load</name>
                                <host>Template OS OpenBSD</host>
                            </resource>
                            <width>500</width>
                            <height>120</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU utilization</name>
                                <host>Template OS OpenBSD</host>
                            </resource>
                            <width>500</width>
                            <height>106</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory usage</name>
                                <host>Template OS OpenBSD</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Swap usage</name>
                                <host>Template OS OpenBSD</host>
                            </resource>
                            <width>500</width>
                            <height>300</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>1</resourcetype>
                            <style>0</style>
                            <resource>
                                <key>proc.num[]</key>
                                <host>Template OS OpenBSD</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>1</resourcetype>
                            <style>0</style>
                            <resource>
                                <key>proc.num[,,run]</key>
                                <host>Template OS OpenBSD</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS Solaris</template>
            <name>Template OS Solaris</name>
            <templates>
                <template>
                    <name>Template Module Zabbix agent</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Filesystems</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Network interfaces</name>
                </application>
                <application>
                    <name>OS</name>
                </application>
                <application>
                    <name>Performance</name>
                </application>
                <application>
                    <name>Processes</name>
                </application>
                <application>
                    <name>Security</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Maximum number of processes</name>
                    <key>kernel.maxproc</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <description>It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;256</expression>
                            <name>Configured max number of processes is too low on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of running processes</name>
                    <key>proc.num[,,run]</key>
                    <history>1w</history>
                    <description>Number of processes in running state.</description>
                    <applications>
                        <application>
                            <name>Processes</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;30</expression>
                            <name>Too many processes running on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of processes</name>
                    <key>proc.num[]</key>
                    <history>1w</history>
                    <description>Total number of processes in any state.</description>
                    <applications>
                        <application>
                            <name>Processes</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;300</expression>
                            <name>Too many processes on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Host boot time</name>
                    <key>system.boottime</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Interrupts per second</name>
                    <key>system.cpu.intr</key>
                    <history>1w</history>
                    <units>ips</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Processor load (1 min average per core)</name>
                    <key>system.cpu.load[percpu,avg1]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;5</expression>
                            <name>Processor load is too high on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Processor load (5 min average per core)</name>
                    <key>system.cpu.load[percpu,avg5]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Processor load (15 min average per core)</name>
                    <key>system.cpu.load[percpu,avg15]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <description>The processor load is calculated as system CPU load divided by number of CPU cores.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Context switches per second</name>
                    <key>system.cpu.switches</key>
                    <history>1w</history>
                    <units>sps</units>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>CHANGE_PER_SECOND</type>
                            <params/>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>CPU idle time</name>
                    <key>system.cpu.util[,idle]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent doing nothing.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU iowait time</name>
                    <key>system.cpu.util[,iowait]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>Amount of time the CPU has been waiting for I/O to complete.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{avg(5m)}&gt;20</expression>
                            <name>Disk I/O is overloaded on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                            <description>OS spends significant time waiting for I/O (input/output) operations. It could be indicator of performance issues with storage system.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU system time</name>
                    <key>system.cpu.util[,system]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running the kernel and its processes.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU user time</name>
                    <key>system.cpu.util[,user]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <description>The time the CPU has spent running users' processes that are not niced.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Performance</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Host name</name>
                    <key>system.hostname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>System host name.</description>
                    <inventory_link>NAME</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Hostname was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Host local time</name>
                    <key>system.localtime</key>
                    <history>1w</history>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space</name>
                    <key>system.swap.size[,free]</key>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free swap space in %</name>
                    <key>system.swap.size[,pfree]</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;50</expression>
                            <name>Lack of free swap space on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                            <description>It probably means that the systems requires more physical memory.</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total swap space</name>
                    <key>system.swap.size[,total]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System information</name>
                    <key>system.uname</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>The information as normally returned by 'uname -a'.</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>Host information was changed on {HOST.NAME}</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System uptime</name>
                    <key>system.uptime</key>
                    <delay>10m</delay>
                    <history>1w</history>
                    <units>uptime</units>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                        <application>
                            <name>OS</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{change(0)}&lt;0</expression>
                            <name>{HOST.NAME} has just been restarted</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Number of logged in users</name>
                    <key>system.users.num</key>
                    <history>1w</history>
                    <description>Number of users who are currently logged in.</description>
                    <applications>
                        <application>
                            <name>OS</name>
                        </application>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Checksum of /etc/passwd</name>
                    <key>vfs.file.cksum[/etc/passwd]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Security</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}&gt;0</expression>
                            <name>/etc/passwd has been changed on {HOST.NAME}</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Available memory</name>
                    <key>vm.memory.size[available]</key>
                    <history>1w</history>
                    <units>B</units>
                    <description>Available memory is defined as free+cached+buffers memory.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;20M</expression>
                            <name>Lack of available memory on server {HOST.NAME}</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total memory</name>
                    <key>vm.memory.size[total]</key>
                    <delay>1h</delay>
                    <history>1w</history>
                    <units>B</units>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Network interface discovery</name>
                    <key>net.if.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#IFNAME}</macro>
                                <value>@Network interfaces for discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of network interfaces as defined in global regular expression &quot;Network interfaces for discovery&quot;.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Incoming network traffic on {#IFNAME}</name>
                            <key>net.if.in[{#IFNAME}]</key>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Network interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Outgoing network traffic on {#IFNAME}</name>
                            <key>net.if.out[{#IFNAME}]</key>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Network interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Network traffic on {#IFNAME}</name>
                            <ymin_type_1>FIXED</ymin_type_1>
                            <graph_items>
                                <graph_item>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>00AA00</color>
                                    <item>
                                        <host>Template OS Solaris</host>
                                        <key>net.if.in[{#IFNAME}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <drawtype>GRADIENT_LINE</drawtype>
                                    <color>3333FF</color>
                                    <item>
                                        <host>Template OS Solaris</host>
                                        <key>net.if.out[{#IFNAME}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <key>vfs.fs.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#FSTYPE}</macro>
                                <value>@File systems for discovery</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Discovery of file systems of different types as defined in global regular expression &quot;File systems for discovery&quot;.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Free inodes on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.inode[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free inodes is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},free]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME} (percentage)</name>
                            <key>vfs.fs.size[{#FSNAME},pfree]</key>
                            <history>1w</history>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&lt;20</expression>
                                    <name>Free disk space is less than 20% on volume {#FSNAME}</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Total disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},total]</key>
                            <delay>1h</delay>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Used disk space on {#FSNAME}</name>
                            <key>vfs.fs.size[{#FSNAME},used]</key>
                            <history>1w</history>
                            <units>B</units>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Disk space usage {#FSNAME}</name>
                            <width>600</width>
                            <height>340</height>
                            <show_work_period>NO</show_work_period>
                            <show_triggers>NO</show_triggers>
                            <type>PIE</type>
                            <show_3d>YES</show_3d>
                            <graph_items>
                                <graph_item>
                                    <color>C80000</color>
                                    <type>GRAPH_SUM</type>
                                    <item>
                                        <host>Template OS Solaris</host>
                                        <key>vfs.fs.size[{#FSNAME},total]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>00C800</color>
                                    <item>
                                        <host>Template OS Solaris</host>
                                        <key>vfs.fs.size[{#FSNAME},free]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>3</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU load</name>
                                <host>Template OS Solaris</host>
                            </resource>
                            <width>500</width>
                            <height>114</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU utilization</name>
                                <host>Template OS Solaris</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>1</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory usage</name>
                                <host>Template OS Solaris</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Swap usage</name>
                                <host>Template OS Solaris</host>
                            </resource>
                            <width>500</width>
                            <height>300</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>1</resourcetype>
                            <style>0</style>
                            <resource>
                                <key>proc.num[]</key>
                                <host>Template OS Solaris</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>1</resourcetype>
                            <style>0</style>
                            <resource>
                                <key>proc.num[,,run]</key>
                                <host>Template OS Solaris</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>2</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>0</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS Windows by Zabbix agent</template>
            <name>Template OS Windows by Zabbix agent</name>
            <description>Official Windows template. Requires agent of Zabbix 4.4 and newer.&#13;
&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387224-discussion-thread-for-official-zabbix-template-for-windows&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Windows CPU by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Windows filesystems by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Windows generic by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Windows memory by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Windows network by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Windows physical disks by Zabbix agent</name>
                </template>
                <template>
                    <name>Template Module Zabbix agent</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>6</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU usage</name>
                                <host>Template OS Windows by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>1</resourcetype>
                            <style>0</style>
                            <resource>
                                <key>perf_counter_en[&quot;\System\Processor Queue Length&quot;]</key>
                                <host>Template OS Windows by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory utilization</name>
                                <host>Template OS Windows by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Swap usage</name>
                                <host>Template OS Windows by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#FSNAME}: Disk space usage</name>
                                <host>Template OS Windows by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk read/write rates</name>
                                <host>Template OS Windows by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>3</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk utilization and queue</name>
                                <host>Template OS Windows by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>4</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                                <host>Template OS Windows by Zabbix agent</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>5</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS Windows by Zabbix agent active</template>
            <name>Template OS Windows by Zabbix agent active</name>
            <description>Official Windows template. Requires agent of Zabbix 4.4 and newer.&#13;
&#13;
&#13;
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387224-discussion-thread-for-official-zabbix-template-for-windows&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Windows CPU by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Windows filesystems by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Windows generic by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Windows memory by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Windows network by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Windows physical disks by Zabbix agent active</name>
                </template>
                <template>
                    <name>Template Module Zabbix agent active</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
            <screens>
                <screen>
                    <name>System performance</name>
                    <hsize>2</hsize>
                    <vsize>6</vsize>
                    <screen_items>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>CPU usage</name>
                                <host>Template OS Windows by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>1</resourcetype>
                            <style>0</style>
                            <resource>
                                <key>perf_counter_en[&quot;\System\Processor Queue Length&quot;]</key>
                                <host>Template OS Windows by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>0</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Memory utilization</name>
                                <host>Template OS Windows by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>0</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Swap usage</name>
                                <host>Template OS Windows by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>1</x>
                            <y>1</y>
                            <colspan>1</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#FSNAME}: Disk space usage</name>
                                <host>Template OS Windows by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>2</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk read/write rates</name>
                                <host>Template OS Windows by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>3</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>{#DEVNAME}: Disk utilization and queue</name>
                                <host>Template OS Windows by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>4</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                        <screen_item>
                            <resourcetype>20</resourcetype>
                            <style>0</style>
                            <resource>
                                <name>Interface {#IFNAME}({#IFALIAS}): Network traffic</name>
                                <host>Template OS Windows by Zabbix agent active</host>
                            </resource>
                            <width>500</width>
                            <height>100</height>
                            <x>0</x>
                            <y>5</y>
                            <colspan>2</colspan>
                            <rowspan>1</rowspan>
                            <elements>25</elements>
                            <valign>0</valign>
                            <halign>0</halign>
                            <dynamic>0</dynamic>
                            <sort_triggers>0</sort_triggers>
                            <url/>
                            <application/>
                            <max_columns>3</max_columns>
                        </screen_item>
                    </screen_items>
                </screen>
            </screens>
        </template>
        <template>
            <template>Template OS Windows SNMPv2</template>
            <name>Template OS Windows SNMPv2</name>
            <description>Official Windows template. Requires server of Zabbix 4.0.14rc1, 4.2.8rc1, 4.4.0rc1 and newer.&#13;
&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: Doesn't support In/Out 64 bit counters even though IfxTable is present:&#13;
Currently, Windows gets it’s interface status from MIB-2. Since these 64bit SNMP counters (ifHCInOctets, ifHCOutOctets, etc.) are defined as an extension to IF-MIB, Microsoft has not implemented it.&#13;
https://social.technet.microsoft.com/Forums/windowsserver/en-US/07b62ff0-94f6-40ca-a99d-d129c1b33d70/windows-2008-r2-snmp-64bit-counters-support?forum=winservergen&#13;
&#13;
  Version: Win2008, Win2012R2.&#13;
&#13;
  Description: Doesn't support ifXTable at all&#13;
  Version: WindowsXP&#13;
&#13;
  Description: EtherLike MIB is not supported&#13;
  Version: *&#13;
  Device: *&#13;
&#13;
Template tooling version used: 0.33</description>
            <templates>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
                <template>
                    <name>Template Module HOST-RESOURCES-MIB SNMPv2</name>
                </template>
                <template>
                    <name>Template Module Interfaces Windows SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Operating systems</name>
                </group>
            </groups>
        </template>
        <template>
            <template>Template Server Cisco UCS SNMPv2</template>
            <name>Template Server Cisco UCS SNMPv2</name>
            <description>Template Server Cisco UCS&#13;
&#13;
MIBs used:&#13;
CISCO-UNIFIED-COMPUTING-COMPUTE-MIB&#13;
CISCO-UNIFIED-COMPUTING-PROCESSOR-MIB&#13;
CISCO-UNIFIED-COMPUTING-EQUIPMENT-MIB&#13;
CISCO-UNIFIED-COMPUTING-STORAGE-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Server hardware</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Disk arrays</name>
                </application>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Physical disks</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
                <application>
                    <name>Virtual disks</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>Array Controller Cache Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#DISKARRAY_CACHE_LOCATION},1.3.6.1.4.1.9.9.719.1.45.11.1.2]</snmp_oid>
                    <key>array.cache.discovery</key>
                    <delay>1h</delay>
                    <description>Scanning table of Array controllers: CISCO-UNIFIED-COMPUTING-STORAGE-MIB::cucsStorageControllerTable.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DISKARRAY_CACHE_LOCATION}: Disk array cache controller battery status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.45.11.1.9.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.diskarray.cache.battery.status[cucsStorageRaidBatteryOperability.{#SNMPINDEX}]</key>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-STORAGE-MIB</description>
                            <applications>
                                <application>
                                    <name>Disk arrays</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsEquipmentOperability</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#DISKARRAY_CACHE_LOCATION}: Disk array cache controller battery is in critical state!</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the device for faults</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CACHE_BATTERY_OK_STATUS},ne)}=1</expression>
                                    <name>{#DISKARRAY_CACHE_LOCATION}: Disk array cache controller battery is not in optimal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the device for faults</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#DISKARRAY_CACHE_LOCATION}: Disk array cache controller battery is in critical state!</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:system.hw.diskarray.cache.battery.status[cucsStorageRaidBatteryOperability.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Array Controller Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#DISKARRAY_LOCATION},1.3.6.1.4.1.9.9.719.1.45.1.1.2]</snmp_oid>
                    <key>array.discovery</key>
                    <delay>1h</delay>
                    <description>Scanning table of Array controllers: CISCO-UNIFIED-COMPUTING-STORAGE-MIB::cucsStorageControllerTable.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DISKARRAY_LOCATION}: Disk array controller model</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.45.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.diskarray.model[cucsStorageControllerModel.{#SNMPINDEX}]</key>
                            <delay>1d</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-STORAGE-MIB</description>
                            <applications>
                                <application>
                                    <name>Disk arrays</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISKARRAY_LOCATION}: Disk array controller status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.45.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.diskarray.status[cucsStorageControllerOperState.{#SNMPINDEX}]</key>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-STORAGE-MIB</description>
                            <applications>
                                <application>
                                    <name>Disk arrays</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsEquipmentOperability</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CRIT_STATUS:&quot;inoperable&quot;},eq)}=1</expression>
                                    <name>{#DISKARRAY_LOCATION}: Disk array controller is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>Please check the device for faults</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_WARN_STATUS:&quot;degraded&quot;},eq)}=1</expression>
                                    <name>{#DISKARRAY_LOCATION}: Disk array controller is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the device for faults</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#DISKARRAY_LOCATION}: Disk array controller is in critical state</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:system.hw.diskarray.status[cucsStorageControllerOperState.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CRIT_STATUS:&quot;inoperable&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_OK_STATUS:&quot;operable&quot;},ne)}=1</expression>
                                    <name>{#DISKARRAY_LOCATION}: Disk array controller is not in optimal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the device for faults</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#DISKARRAY_LOCATION}: Disk array controller is in critical state</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:system.hw.diskarray.status[cucsStorageControllerOperState.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CRIT_STATUS:&quot;inoperable&quot;},eq)}=1</expression>
                                        </dependency>
                                        <dependency>
                                            <name>{#DISKARRAY_LOCATION}: Disk array controller is in warning state</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:system.hw.diskarray.status[cucsStorageControllerOperState.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_WARN_STATUS:&quot;degraded&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#FAN_LOCATION},1.3.6.1.4.1.9.9.719.1.15.12.1.2]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#FAN_LOCATION}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.15.12.1.9.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[cucsEquipmentFanOperState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-EQUIPMENT-MIB&#13;
Cisco UCS equipment:Fan:operState managed object property</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsEquipmentOperability</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS:&quot;inoperable&quot;},eq)}=1</expression>
                                    <name>{#FAN_LOCATION}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_WARN_STATUS:&quot;degraded&quot;},eq)}=1</expression>
                                    <name>{#FAN_LOCATION}: Fan is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the fan unit</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#FAN_LOCATION}: Fan is in critical state</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:sensor.fan.status[cucsEquipmentFanOperState.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS:&quot;inoperable&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Physical Disk Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#DISK_LOCATION},1.3.6.1.4.1.9.9.719.1.45.4.1.2]</snmp_oid>
                    <key>physicalDisk.discovery</key>
                    <delay>1h</delay>
                    <description>Scanning table of physical drive entries CISCO-UNIFIED-COMPUTING-STORAGE-MIB::cucsStorageLocalDiskTable.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DISK_LOCATION}: Physical disk media type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.45.4.1.7.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.media_type[cucsStorageLocalDiskModel.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-STORAGE-MIB&#13;
Cisco UCS storage:LocalDisk:model managed object property. Actually returns 'HDD' or 'SSD'</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_LOCATION}: Physical disk model name</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.45.4.1.12.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.model[cucsStorageLocalDiskSerial.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-STORAGE-MIB&#13;
Cisco UCS storage:LocalDisk:serial managed object property. Actually returns part number code</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_LOCATION}: Disk size</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.45.4.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.size[cucsStorageLocalDiskSize.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <units>B</units>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-STORAGE-MIB&#13;
Cisco UCS storage:LocalDisk:size managed object property. In MB.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1048576</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_LOCATION}: Physical disk status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.45.4.1.18.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.status[cucsStorageLocalDiskDiskState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <trends>0d</trends>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-STORAGE-MIB&#13;
Cisco UCS storage:LocalDisk:diskState managed object property.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsStoragePDriveStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_CRIT_STATUS:&quot;bad&quot;},eq)}=1 or {count(#1,{$DISK_CRIT_STATUS:&quot;predictiveFailure&quot;},eq)}=1</expression>
                                    <name>{#DISK_LOCATION}: Physical disk error</name>
                                    <opdata>Current status: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check physical disk for warnings or errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#DISK_LOCATION}: Physical disk failed</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:system.hw.physicaldisk.status[cucsStorageLocalDiskDiskState.{#SNMPINDEX}].count(#1,{$DISK_FAIL_STATUS:&quot;failed&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_FAIL_STATUS:&quot;failed&quot;},eq)}=1</expression>
                                    <name>{#DISK_LOCATION}: Physical disk failed</name>
                                    <opdata>Current status: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>Please check physical disk for warnings or errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#PSU_LOCATION},1.3.6.1.4.1.9.9.719.1.15.56.1.2]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#PSU_LOCATION}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.15.56.1.7.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[cucsEquipmentPsuOperState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-EQUIPMENT-MIB&#13;
Cisco UCS equipment:Psu:operState managed object property</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsEquipmentOperability</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS:&quot;inoperable&quot;},eq)}=1</expression>
                                    <name>{#PSU_LOCATION}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_WARN_STATUS:&quot;degraded&quot;},eq)}=1</expression>
                                    <name>{#PSU_LOCATION}: Power supply is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the power supply unit for errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#PSU_LOCATION}: Power supply is in critical state</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:sensor.psu.status[cucsEquipmentPsuOperState.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS:&quot;inoperable&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature CPU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SENSOR_LOCATION},1.3.6.1.4.1.9.9.719.1.41.2.1.2]</snmp_oid>
                    <key>temp.cpu.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_LOCATION}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.41.2.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[cucsProcessorEnvStatsTemperature.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-PROCESSOR-MIB&#13;
Cisco UCS processor:EnvStats:temperature managed object property</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;CPU&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_LOCATION}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:sensor.temp.value[cucsProcessorEnvStatsTemperature.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}</expression>
                                            <recovery_expression>{Template Server Cisco UCS SNMPv2:sensor.temp.value[cucsProcessorEnvStatsTemperature.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}+3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SENSOR_LOCATION},1.3.6.1.4.1.9.9.719.1.9.44.1.2]</snmp_oid>
                    <key>temp.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_LOCATION}.IOH: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.9.44.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[cucsComputeRackUnitMbTempSltatsIoh1Temp.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-COMPUTE-MIB&#13;
Cisco UCS compute:RackUnitMbTempStats:ioh1Temp managed object property</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.IOH: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.IOH: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_LOCATION}.IOH: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:sensor.temp.value[cucsComputeRackUnitMbTempSltatsIoh1Temp.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                            <recovery_expression>{Template Server Cisco UCS SNMPv2:sensor.temp.value[cucsComputeRackUnitMbTempSltatsIoh1Temp.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}+3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.IOH: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SENSOR_LOCATION}.Ambient: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.9.44.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[cucsComputeRackUnitMbTempStatsAmbientTemp.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-COMPUTE-MIB&#13;
Temperature readings of testpoint: {#SENSOR_LOCATION}.Ambient</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.Ambient: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.Ambient: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_LOCATION}.Ambient: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:sensor.temp.value[cucsComputeRackUnitMbTempStatsAmbientTemp.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                            <recovery_expression>{Template Server Cisco UCS SNMPv2:sensor.temp.value[cucsComputeRackUnitMbTempStatsAmbientTemp.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}+3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.Ambient: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SENSOR_LOCATION}.Front: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.9.44.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[cucsComputeRackUnitMbTempStatsFrontTemp.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-COMPUTE-MIB&#13;
Cisco UCS compute:RackUnitMbTempStats:frontTemp managed object property</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.Front: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.Front: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_LOCATION}.Front: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:sensor.temp.value[cucsComputeRackUnitMbTempStatsFrontTemp.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                            <recovery_expression>{Template Server Cisco UCS SNMPv2:sensor.temp.value[cucsComputeRackUnitMbTempStatsFrontTemp.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}+3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.Front: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SENSOR_LOCATION}.Rear: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.9.44.1.21.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[cucsComputeRackUnitMbTempStatsRearTemp.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-COMPUTE-MIB&#13;
Cisco UCS compute:RackUnitMbTempStats:rearTemp managed object property</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.Rear: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.Rear: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_LOCATION}.Rear: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:sensor.temp.value[cucsComputeRackUnitMbTempStatsRearTemp.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                            <recovery_expression>{Template Server Cisco UCS SNMPv2:sensor.temp.value[cucsComputeRackUnitMbTempStatsRearTemp.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}+3</recovery_expression>
                                    <name>{#SENSOR_LOCATION}.Rear: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Unit Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#UNIT_LOCATION},1.3.6.1.4.1.9.9.719.1.9.35.1.2]</snmp_oid>
                    <key>unit.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#UNIT_LOCATION}: Hardware model name</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.9.35.1.32.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.model[cucsComputeRackUnitModel.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-COMPUTE-MIB&#13;
Cisco UCS compute:RackUnit:model managed object property</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#UNIT_LOCATION}: Hardware serial number</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.9.35.1.47.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.serialnumber[cucsComputeRackUnitSerial.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-COMPUTE-MIB&#13;
Cisco UCS compute:RackUnit:serial managed object property</description>
                            <applications>
                                <application>
                                    <name>Inventory</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                                    <params>1d</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                                    <recovery_mode>NONE</recovery_mode>
                                    <name>{#UNIT_LOCATION}: Device has been replaced (new serial number received)</name>
                                    <priority>INFO</priority>
                                    <description>Device serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#UNIT_LOCATION}: Overall system health status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.9.35.1.42.{#SNMPINDEX}</snmp_oid>
                            <key>system.status[cucsComputeRackUnitOperState.{#SNMPINDEX}]</key>
                            <delay>30s</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-COMPUTE-MIB&#13;
Cisco UCS compute:RackUnit:operState managed object property</description>
                            <applications>
                                <application>
                                    <name>Status</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsLsOperState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$HEALTH_CRIT_STATUS:&quot;computeFailed&quot;},eq)}=1 or {count(#1,{$HEALTH_CRIT_STATUS:&quot;configFailure&quot;},eq)}=1 or {count(#1,{$HEALTH_CRIT_STATUS:&quot;unconfigFailure&quot;},eq)}=1 or {count(#1,{$HEALTH_CRIT_STATUS:&quot;inoperable&quot;},eq)}=1</expression>
                                    <name>{#UNIT_LOCATION}: System status is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>Please check the device for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$HEALTH_WARN_STATUS:&quot;testFailed&quot;},eq)}=1 or {count(#1,{$HEALTH_WARN_STATUS:&quot;thermalProblem&quot;},eq)}=1 or {count(#1,{$HEALTH_WARN_STATUS:&quot;powerProblem&quot;},eq)}=1 or {count(#1,{$HEALTH_WARN_STATUS:&quot;voltageProblem&quot;},eq)}=1 or {count(#1,{$HEALTH_WARN_STATUS:&quot;diagnosticsFailed&quot;},eq)}=1</expression>
                                    <name>{#UNIT_LOCATION}: System status is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the device for warnings</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#UNIT_LOCATION}: System status is in critical state</name>
                                            <expression>{Template Server Cisco UCS SNMPv2:system.status[cucsComputeRackUnitOperState.{#SNMPINDEX}].count(#1,{$HEALTH_CRIT_STATUS:&quot;computeFailed&quot;},eq)}=1 or {Template Server Cisco UCS SNMPv2:system.status[cucsComputeRackUnitOperState.{#SNMPINDEX}].count(#1,{$HEALTH_CRIT_STATUS:&quot;configFailure&quot;},eq)}=1 or {Template Server Cisco UCS SNMPv2:system.status[cucsComputeRackUnitOperState.{#SNMPINDEX}].count(#1,{$HEALTH_CRIT_STATUS:&quot;unconfigFailure&quot;},eq)}=1 or {Template Server Cisco UCS SNMPv2:system.status[cucsComputeRackUnitOperState.{#SNMPINDEX}].count(#1,{$HEALTH_CRIT_STATUS:&quot;inoperable&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Virtual Disk Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#VDISK_LOCATION},1.3.6.1.4.1.9.9.719.1.45.8.1.2]</snmp_oid>
                    <key>virtualdisk.discovery</key>
                    <delay>1h</delay>
                    <description>CISCO-UNIFIED-COMPUTING-STORAGE-MIB::cucsStorageLocalLunTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#VDISK_LOCATION}: Layout type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.45.8.1.14.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.layout[cucsStorageLocalLunType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-STORAGE-MIB&#13;
Cisco UCS storage:LocalLun:type managed object property</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsStorageLunType</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>{#VDISK_LOCATION}: Disk size</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.45.8.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.size[cucsStorageLocalLunSize.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <units>B</units>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-STORAGE-MIB&#13;
Cisco UCS storage:LocalLun:size managed object property in MB.</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsStorageLunType</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1048576</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#VDISK_LOCATION}: Status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.9.9.719.1.45.8.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.status[cucsStorageLocalLunPresence.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <description>MIB: CISCO-UNIFIED-COMPUTING-STORAGE-MIB&#13;
Cisco UCS storage:LocalLun:presence managed object property</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsEquipmentPresence</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$VDISK_OK_STATUS:&quot;equipped&quot;},ne)}=1</expression>
                                    <name>{#VDISK_LOCATION}: Virtual disk is not in OK state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check virtual disk for warnings or errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_BATTERY_OK_STATUS}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CRIT_STATUS:&quot;inoperable&quot;}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_OK_STATUS:&quot;operable&quot;}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_WARN_STATUS:&quot;degraded&quot;}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$DISK_CRIT_STATUS:&quot;bad&quot;}</macro>
                    <value>16</value>
                </macro>
                <macro>
                    <macro>{$DISK_CRIT_STATUS:&quot;predictiveFailure&quot;}</macro>
                    <value>11</value>
                </macro>
                <macro>
                    <macro>{$DISK_FAIL_STATUS:&quot;failed&quot;}</macro>
                    <value>9</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;inoperable&quot;}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$FAN_WARN_STATUS:&quot;degraded&quot;}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_CRIT_STATUS:&quot;computeFailed&quot;}</macro>
                    <value>30</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_CRIT_STATUS:&quot;configFailure&quot;}</macro>
                    <value>33</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_CRIT_STATUS:&quot;inoperable&quot;}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_CRIT_STATUS:&quot;unconfigFailure&quot;}</macro>
                    <value>34</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_WARN_STATUS:&quot;diagnosticsFailed&quot;}</macro>
                    <value>204</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_WARN_STATUS:&quot;powerProblem&quot;}</macro>
                    <value>62</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_WARN_STATUS:&quot;testFailed&quot;}</macro>
                    <value>35</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_WARN_STATUS:&quot;thermalProblem&quot;}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_WARN_STATUS:&quot;voltageProblem&quot;}</macro>
                    <value>62</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS:&quot;inoperable&quot;}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$PSU_WARN_STATUS:&quot;degraded&quot;}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT:&quot;Ambient&quot;}</macro>
                    <value>35</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:&quot;Ambient&quot;}</macro>
                    <value>30</value>
                </macro>
                <macro>
                    <macro>{$VDISK_OK_STATUS:&quot;equipped&quot;}</macro>
                    <value>10</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Server Dell iDRAC SNMPv2</template>
            <name>Template Server Dell iDRAC SNMPv2</name>
            <description>Template Server iDRAC&#13;
&#13;
MIBs used:&#13;
IDRAC-MIB-SMIv2&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Server hardware</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Disk arrays</name>
                </application>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Physical disks</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
                <application>
                    <name>Virtual disks</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Firmware version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.674.10892.5.1.1.8.0</snmp_oid>
                    <key>system.hw.firmware</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: IDRAC-MIB-SMIv2&#13;
This attribute defines the firmware version of a remote access card.</description>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Firmware has changed</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>INFO</priority>
                            <description>Firmware version has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.674.10892.5.1.3.12.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: IDRAC-MIB-SMIv2&#13;
This attribute defines the model name of the system.</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.674.10892.5.1.3.2.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: IDRAC-MIB-SMIv2&#13;
This attribute defines the service tag of the system.</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Overall system health status</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.674.10892.5.2.1.0</snmp_oid>
                    <key>system.status[globalSystemStatus.0]</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <description>MIB: IDRAC-MIB-SMIv2&#13;
This attribute defines the overall rollup status of all components in the system being monitored by the remote access card. Includes system, storage, IO devices, iDRAC, CPU, memory, etc.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>IDRAC-MIB-SMIv2::ObjectStatusEnum</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_DISASTER_STATUS},eq)}=1</expression>
                            <name>System is in unrecoverable state!</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>Please check the device for faults</description>
                        </trigger>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_CRIT_STATUS},eq)}=1</expression>
                            <name>System status is in critical state</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>Please check the device for errors</description>
                            <dependencies>
                                <dependency>
                                    <name>System is in unrecoverable state!</name>
                                    <expression>{Template Server Dell iDRAC SNMPv2:system.status[globalSystemStatus.0].count(#1,{$HEALTH_DISASTER_STATUS},eq)}=1</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_WARN_STATUS},eq)}=1</expression>
                            <name>System status is in warning state</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>Please check the device for warnings</description>
                            <dependencies>
                                <dependency>
                                    <name>System is in unrecoverable state!</name>
                                    <expression>{Template Server Dell iDRAC SNMPv2:system.status[globalSystemStatus.0].count(#1,{$HEALTH_DISASTER_STATUS},eq)}=1</expression>
                                </dependency>
                                <dependency>
                                    <name>System status is in critical state</name>
                                    <expression>{Template Server Dell iDRAC SNMPv2:system.status[globalSystemStatus.0].count(#1,{$HEALTH_CRIT_STATUS},eq)}=1</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Operating system</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.674.10892.5.1.3.6.0</snmp_oid>
                    <key>system.sw.os[systemOSName]</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: IDRAC-MIB-SMIv2&#13;
This attribute defines the name of the operating system that the hostis running.</description>
                    <inventory_link>OS</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Operating system description has changed</name>
                            <priority>INFO</priority>
                            <description>Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Array Controller Cache Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#BATTERY_NUM},1.3.6.1.4.1.674.10892.5.5.1.20.130.15.1.1]</snmp_oid>
                    <key>array.cache.discovery</key>
                    <delay>1h</delay>
                    <description>IDRAC-MIB-SMIv2::batteryTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Battery {#BATTERY_NUM}: Disk array cache controller battery status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.130.15.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.diskarray.cache.battery.status[batteryState.{#SNMPINDEX}]</key>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
Current state of battery.&#13;
Possible values:&#13;
1: The current state could not be determined.&#13;
2: The battery is operating normally.&#13;
3: The battery has failed and needs to be replaced.&#13;
4: The battery temperature is high or charge level is depleting.&#13;
5: The battery is missing or not detected.&#13;
6: The battery is undergoing the re-charge phase.&#13;
7: The battery voltage or charge level is below the threshold.</description>
                            <applications>
                                <application>
                                    <name>Disk arrays</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::batteryState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS},eq)}=1</expression>
                                    <name>Battery {#BATTERY_NUM}: Disk array cache controller battery is in critical state!</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the device for faults</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CACHE_BATTERY_WARN_STATUS},eq)}=1</expression>
                                    <name>Battery {#BATTERY_NUM}: Disk array cache controller battery is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the device for faults</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Battery {#BATTERY_NUM}: Disk array cache controller battery is in critical state!</name>
                                            <expression>{Template Server Dell iDRAC SNMPv2:system.hw.diskarray.cache.battery.status[batteryState.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CACHE_BATTERY_OK_STATUS},ne)}=1</expression>
                                    <name>Battery {#BATTERY_NUM}: Disk array cache controller battery is not in optimal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the device for faults</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Battery {#BATTERY_NUM}: Disk array cache controller battery is in critical state!</name>
                                            <expression>{Template Server Dell iDRAC SNMPv2:system.hw.diskarray.cache.battery.status[batteryState.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                        <dependency>
                                            <name>Battery {#BATTERY_NUM}: Disk array cache controller battery is in warning state</name>
                                            <expression>{Template Server Dell iDRAC SNMPv2:system.hw.diskarray.cache.battery.status[batteryState.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_BATTERY_WARN_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.674.10892.5.4.700.12.1.5,{#FAN_DESCR},1.3.6.1.4.1.674.10892.5.4.700.12.1.8,{#TYPE},1.3.6.1.4.1.674.10892.5.4.700.12.1.7]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#TYPE}</macro>
                                <value>3</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>IDRAC-MIB-SMIv2::coolingDeviceTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#FAN_DESCR}: Fan speed</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.4.700.12.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.speed[coolingDeviceReading.{#SNMPINDEX}]</key>
                            <units>rpm</units>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
0700.0012.0001.0006 This attribute defines the reading for a cooling device&#13;
of subtype other than coolingDeviceSubTypeIsDiscrete.  When the value&#13;
for coolingDeviceSubType is other than coolingDeviceSubTypeIsDiscrete, the&#13;
value returned for this attribute is the speed in RPM or the OFF/ON value&#13;
of the cooling device.  When the value for coolingDeviceSubType is&#13;
coolingDeviceSubTypeIsDiscrete, a value is not returned for this attribute.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FAN_DESCR}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.4.700.12.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[coolingDeviceStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
0700.0012.0001.0005 This attribute defines the probe status of the cooling device.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::StatusProbeEnum</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS:&quot;criticalUpper&quot;},eq)}=1 or {count(#1,{$FAN_CRIT_STATUS:&quot;nonRecoverableUpper&quot;},eq)}=1 or {count(#1,{$FAN_CRIT_STATUS:&quot;criticalLower&quot;},eq)}=1 or {count(#1,{$FAN_CRIT_STATUS:&quot;nonRecoverableLower&quot;},eq)}=1 or {count(#1,{$FAN_CRIT_STATUS:&quot;failed&quot;},eq)}=1</expression>
                                    <name>{#FAN_DESCR}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_WARN_STATUS:&quot;nonCriticalUpper&quot;},eq)}=1 or {count(#1,{$FAN_WARN_STATUS:&quot;nonCriticalLower&quot;},eq)}=1</expression>
                                    <name>{#FAN_DESCR}: Fan is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the fan unit</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#FAN_DESCR}: Fan is in critical state</name>
                                            <expression>{Template Server Dell iDRAC SNMPv2:sensor.fan.status[coolingDeviceStatus.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS:&quot;criticalUpper&quot;},eq)}=1 or {Template Server Dell iDRAC SNMPv2:sensor.fan.status[coolingDeviceStatus.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS:&quot;nonRecoverableUpper&quot;},eq)}=1 or {Template Server Dell iDRAC SNMPv2:sensor.fan.status[coolingDeviceStatus.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS:&quot;criticalLower&quot;},eq)}=1 or {Template Server Dell iDRAC SNMPv2:sensor.fan.status[coolingDeviceStatus.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS:&quot;nonRecoverableLower&quot;},eq)}=1 or {Template Server Dell iDRAC SNMPv2:sensor.fan.status[coolingDeviceStatus.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS:&quot;failed&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Array Controller Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.674.10892.5.5.1.20.130.1.1.38,{#CNTLR_NAME},1.3.6.1.4.1.674.10892.5.5.1.20.130.1.1.79]</snmp_oid>
                    <key>physicaldisk.arr.discovery</key>
                    <delay>1h</delay>
                    <description>IDRAC-MIB-SMIv2::controllerTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#CNTLR_NAME}: Disk array controller model</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.130.1.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.diskarray.model[controllerName.{#SNMPINDEX}]</key>
                            <delay>1d</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The controller's name as represented in Storage Management.</description>
                            <applications>
                                <application>
                                    <name>Disk arrays</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#CNTLR_NAME}: Disk array controller status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.130.1.1.38.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.diskarray.status[controllerComponentStatus.{#SNMPINDEX}]</key>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The status of the controller itself without the propagation of any contained component status.&#13;
Possible values:&#13;
1: Other&#13;
2: Unknown&#13;
3: OK&#13;
4: Non-critical&#13;
5: Critical&#13;
6: Non-recoverable</description>
                            <applications>
                                <application>
                                    <name>Disk arrays</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::ObjectStatusEnum</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CRIT_STATUS:&quot;critical&quot;},eq)}=1</expression>
                                    <name>{#CNTLR_NAME}: Disk array controller is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>Please check the device for faults</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#CNTLR_NAME}: Disk array controller is in unrecoverable state!</name>
                                            <expression>{Template Server Dell iDRAC SNMPv2:system.hw.diskarray.status[controllerComponentStatus.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_FAIL_STATUS:&quot;nonRecoverable&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_FAIL_STATUS:&quot;nonRecoverable&quot;},eq)}=1</expression>
                                    <name>{#CNTLR_NAME}: Disk array controller is in unrecoverable state!</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>DISASTER</priority>
                                    <description>Please check the device for faults</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_WARN_STATUS:&quot;nonCritical&quot;},eq)}=1</expression>
                                    <name>{#CNTLR_NAME}: Disk array controller is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the device for faults</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#CNTLR_NAME}: Disk array controller is in critical state</name>
                                            <expression>{Template Server Dell iDRAC SNMPv2:system.hw.diskarray.status[controllerComponentStatus.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CRIT_STATUS:&quot;critical&quot;},eq)}=1</expression>
                                        </dependency>
                                        <dependency>
                                            <name>{#CNTLR_NAME}: Disk array controller is in unrecoverable state!</name>
                                            <expression>{Template Server Dell iDRAC SNMPv2:system.hw.diskarray.status[controllerComponentStatus.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_FAIL_STATUS:&quot;nonRecoverable&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Physical Disk Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.1,{#DISK_NAME},1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.2]</snmp_oid>
                    <key>physicaldisk.discovery</key>
                    <delay>1h</delay>
                    <description>IDRAC-MIB-SMIv2::physicalDiskTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DISK_NAME}: Physical disk media type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.35.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.media_type[physicalDiskMediaType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The media type of the physical disk. Possible Values:&#13;
1: The media type could not be determined.&#13;
2: Hard Disk Drive (HDD).&#13;
3: Solid State Drive (SSD).</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::physicalDiskMediaType</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_NAME}: Physical disk model name</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.model[physicalDiskProductID.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The model number of the physical disk.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_NAME}: Physical disk part number</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.27.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.part_number[physicalDiskPartNumber.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The part number of the disk.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_NAME}: Physical disk serial number</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.7.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.serialnumber[physicalDiskSerialNo.{#SNMPINDEX}]</key>
                            <delay>1d</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The physical disk's unique identification number from the manufacturer.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                                    <recovery_mode>NONE</recovery_mode>
                                    <name>{#DISK_NAME}: Disk has been replaced (new serial number received)</name>
                                    <priority>INFO</priority>
                                    <description>Disk serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_NAME}: Disk size</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.11.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.size[physicalDiskCapacityInMB.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <units>B</units>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The size of the physical disk in megabytes.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1048576</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_NAME}: Physical disk S.M.A.R.T. status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.31.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.smart_status[physicalDiskSmartAlertIndication.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <trends>0d</trends>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
Indicates whether the physical disk has received a predictive failure alert.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::BooleanType</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_SMART_FAIL_STATUS},eq)}=1</expression>
                                    <name>{#DISK_NAME}: Physical disk S.M.A.R.T. failed</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>Disk probably requires replacement.</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#DISK_NAME}: Physical disk failed</name>
                                            <expression>{Template Server Dell iDRAC SNMPv2:system.hw.physicaldisk.status[physicalDiskComponentStatus.{#SNMPINDEX}].count(#1,{$DISK_FAIL_STATUS:&quot;critical&quot;},eq)}=1 or {Template Server Dell iDRAC SNMPv2:system.hw.physicaldisk.status[physicalDiskComponentStatus.{#SNMPINDEX}].count(#1,{$DISK_FAIL_STATUS:&quot;nonRecoverable&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_NAME}: Physical disk status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.130.4.1.24.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.status[physicalDiskComponentStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <trends>0d</trends>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The status of the physical disk itself without the propagation of any contained component status.&#13;
Possible values:&#13;
1: Other&#13;
2: Unknown&#13;
3: OK&#13;
4: Non-critical&#13;
5: Critical&#13;
6: Non-recoverable</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::physicalDiskComponentStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_FAIL_STATUS:&quot;critical&quot;},eq)}=1 or {count(#1,{$DISK_FAIL_STATUS:&quot;nonRecoverable&quot;},eq)}=1</expression>
                                    <name>{#DISK_NAME}: Physical disk failed</name>
                                    <opdata>Current status: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>Please check physical disk for warnings or errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_WARN_STATUS:&quot;nonCritical&quot;},eq)}=1</expression>
                                    <name>{#DISK_NAME}: Physical disk is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check physical disk for warnings or errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#DISK_NAME}: Physical disk failed</name>
                                            <expression>{Template Server Dell iDRAC SNMPv2:system.hw.physicaldisk.status[physicalDiskComponentStatus.{#SNMPINDEX}].count(#1,{$DISK_FAIL_STATUS:&quot;critical&quot;},eq)}=1 or {Template Server Dell iDRAC SNMPv2:system.hw.physicaldisk.status[physicalDiskComponentStatus.{#SNMPINDEX}].count(#1,{$DISK_FAIL_STATUS:&quot;nonRecoverable&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.674.10892.5.4.600.12.1.5,{#PSU_DESCR},1.3.6.1.4.1.674.10892.5.4.600.12.1.8]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <description>IDRAC-MIB-SMIv2::powerSupplyTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#PSU_DESCR}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.4.600.12.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[powerSupplyStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
0600.0012.0001.0005 This attribute defines the status of the power supply.</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::ObjectStatusEnum</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS:&quot;critical&quot;},eq)}=1 or {count(#1,{$PSU_CRIT_STATUS:&quot;nonRecoverable&quot;},eq)}=1</expression>
                                    <name>{#PSU_DESCR}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_WARN_STATUS:&quot;nonCritical&quot;},eq)}=1</expression>
                                    <name>{#PSU_DESCR}: Power supply is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the power supply unit for errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#PSU_DESCR}: Power supply is in critical state</name>
                                            <expression>{Template Server Dell iDRAC SNMPv2:sensor.psu.status[powerSupplyStatus.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS:&quot;critical&quot;},eq)}=1 or {Template Server Dell iDRAC SNMPv2:sensor.psu.status[powerSupplyStatus.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS:&quot;nonRecoverable&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Ambient Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.674.10892.5.4.700.20.1.1,{#SENSOR_LOCALE},1.3.6.1.4.1.674.10892.5.4.700.20.1.8]</snmp_oid>
                    <key>temp.ambient.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_LOCALE}</macro>
                                <value>.*Inlet Temp.*</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning table of Temperature Probe Table IDRAC-MIB-SMIv2::temperatureProbeTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_LOCALE}: Temperature status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.4.700.20.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.status[temperatureProbeStatus.Ambient.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
0700.0020.0001.0005 This attribute defines the probe status of the temperature probe.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::StatusProbeEnum</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SENSOR_LOCALE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.4.700.20.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[temperatureProbeReading.Ambient.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
0700.0020.0001.0006 This attribute defines the reading for a temperature probe of type other than temperatureProbeTypeIsDiscrete.  When the value for temperatureProbeType is other than temperatureProbeTypeIsDiscrete,the value returned for this attribute is the temperature that the probeis reading in tenths of degrees Centigrade. When the value for temperatureProbeType is temperatureProbeTypeIsDiscrete, a value is not returned for this attribute.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::StatusProbeEnum</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.1</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}+3</recovery_expression>
                                    <name>{#SENSOR_LOCALE}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.Ambient.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}&#13;
or&#13;
{Template Server Dell iDRAC SNMPv2:sensor.temp.status[temperatureProbeStatus.Ambient.{#SNMPINDEX}].last(0)}={$TEMP_CRIT_STATUS}&#13;
or&#13;
{Template Server Dell iDRAC SNMPv2:sensor.temp.status[temperatureProbeStatus.Ambient.{#SNMPINDEX}].last(0)}={$TEMP_DISASTER_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.Ambient.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                            <name>{#SENSOR_LOCALE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.Ambient.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_WARN:&quot;Ambient&quot;}&#13;
or&#13;
{Template Server Dell iDRAC SNMPv2:sensor.temp.status[temperatureProbeStatus.Ambient.{#SNMPINDEX}].last(0)}={$TEMP_WARN_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.Ambient.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_WARN:&quot;Ambient&quot;}-3</recovery_expression>
                            <name>{#SENSOR_LOCALE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Ambient&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                            <dependencies>
                                <dependency>
                                    <name>{#SENSOR_LOCALE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                    <expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.Ambient.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}&#13;
or&#13;
{Template Server Dell iDRAC SNMPv2:sensor.temp.status[temperatureProbeStatus.Ambient.{#SNMPINDEX}].last(0)}={$TEMP_CRIT_STATUS}&#13;
or&#13;
{Template Server Dell iDRAC SNMPv2:sensor.temp.status[temperatureProbeStatus.Ambient.{#SNMPINDEX}].last(0)}={$TEMP_DISASTER_STATUS}</expression>
                                    <recovery_expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.Ambient.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature CPU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.674.10892.5.4.700.20.1.1,{#SENSOR_LOCALE},1.3.6.1.4.1.674.10892.5.4.700.20.1.8]</snmp_oid>
                    <key>temp.cpu.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_LOCALE}</macro>
                                <value>.*CPU.*</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning table of Temperature Probe Table IDRAC-MIB-SMIv2::temperatureProbeTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_LOCALE}: Temperature status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.4.700.20.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.status[temperatureProbeStatus.CPU.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
0700.0020.0001.0005 This attribute defines the probe status of the temperature probe.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::StatusProbeEnum</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SENSOR_LOCALE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.4.700.20.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[temperatureProbeReading.CPU.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
0700.0020.0001.0006 This attribute defines the reading for a temperature probe of type other than temperatureProbeTypeIsDiscrete.  When the value for temperatureProbeType is other than temperatureProbeTypeIsDiscrete,the value returned for this attribute is the temperature that the probeis reading in tenths of degrees Centigrade. When the value for temperatureProbeType is temperatureProbeTypeIsDiscrete, a value is not returned for this attribute.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::StatusProbeEnum</name>
                            </valuemap>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.1</params>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}+3</recovery_expression>
                                    <name>{#SENSOR_LOCALE}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.CPU.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}&#13;
or&#13;
{Template Server Dell iDRAC SNMPv2:sensor.temp.status[temperatureProbeStatus.CPU.{#SNMPINDEX}].last(0)}={$TEMP_CRIT_STATUS}&#13;
or&#13;
{Template Server Dell iDRAC SNMPv2:sensor.temp.status[temperatureProbeStatus.CPU.{#SNMPINDEX}].last(0)}={$TEMP_DISASTER_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.CPU.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                            <name>{#SENSOR_LOCALE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                        </trigger_prototype>
                        <trigger_prototype>
                            <expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.CPU.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_WARN:&quot;CPU&quot;}&#13;
or&#13;
{Template Server Dell iDRAC SNMPv2:sensor.temp.status[temperatureProbeStatus.CPU.{#SNMPINDEX}].last(0)}={$TEMP_WARN_STATUS}</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.CPU.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_WARN:&quot;CPU&quot;}-3</recovery_expression>
                            <name>{#SENSOR_LOCALE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;CPU&quot;}</name>
                            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                            <dependencies>
                                <dependency>
                                    <name>{#SENSOR_LOCALE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                                    <expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.CPU.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}&#13;
or&#13;
{Template Server Dell iDRAC SNMPv2:sensor.temp.status[temperatureProbeStatus.CPU.{#SNMPINDEX}].last(0)}={$TEMP_CRIT_STATUS}&#13;
or&#13;
{Template Server Dell iDRAC SNMPv2:sensor.temp.status[temperatureProbeStatus.CPU.{#SNMPINDEX}].last(0)}={$TEMP_DISASTER_STATUS}</expression>
                                    <recovery_expression>{Template Server Dell iDRAC SNMPv2:sensor.temp.value[temperatureProbeReading.CPU.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                                </dependency>
                            </dependencies>
                        </trigger_prototype>
                    </trigger_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Virtual Disk Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.674.10892.5.5.1.20.140.1.1.1,{#DISK_NAME},1.3.6.1.4.1.674.10892.5.5.1.20.140.1.1.2]</snmp_oid>
                    <key>virtualdisk.discovery</key>
                    <delay>1h</delay>
                    <description>IDRAC-MIB-SMIv2::virtualDiskTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Disk {#SNMPVALUE}({#DISK_NAME}): Layout type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.140.1.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.layout[virtualDiskLayout.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The virtual disk's RAID type.&#13;
Possible values:&#13;
1: Not one of the following&#13;
2: RAID-0&#13;
3: RAID-1&#13;
4: RAID-5&#13;
5: RAID-6&#13;
6: RAID-10&#13;
7: RAID-50&#13;
8: RAID-60&#13;
9: Concatenated RAID 1&#13;
10: Concatenated RAID 5</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::virtualDiskLayout</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>Disk {#SNMPVALUE}({#DISK_NAME}): Read policy</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.140.1.1.11.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.readpolicy[virtualDiskReadPolicy.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The read policy used by the controller for read operations on this virtual disk.&#13;
Possible values:&#13;
1: No Read Ahead.&#13;
2: Read Ahead.&#13;
3: Adaptive Read Ahead.</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Disk {#SNMPVALUE}({#DISK_NAME}): Disk size</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.140.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.size[virtualDiskSizeInMB.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <units>B</units>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The size of the virtual disk in megabytes.</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1048576</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Disk {#SNMPVALUE}({#DISK_NAME}): Current state</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.140.1.1.30.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.state[virtualDiskOperationalState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The state of the virtual disk when there are progressive operations ongoing.&#13;
Possible values:&#13;
1: There is no active operation running.&#13;
2: The virtual disk configuration has changed. The physical disks included in the virtual disk are being modified to support the new configuration.&#13;
3: A Consistency Check (CC) is being performed on the virtual disk.&#13;
4: The virtual disk is being initialized.&#13;
5: BackGround Initialization (BGI) is being performed on the virtual disk.</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::virtualDiskOperationalState</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>Disk {#SNMPVALUE}({#DISK_NAME}): Status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.140.1.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.status[virtualDiskState.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The current state of this virtual disk (which includes any member physical disks.)&#13;
Possible states:&#13;
1: The current state could not be determined.&#13;
2: The virtual disk is operating normally or optimally.&#13;
3: The virtual disk has encountered a failure. The data on disk is lost or is about to be lost.&#13;
4: The virtual disk encounterd a failure with one or all of the constituent redundant physical disks.&#13;
The data on the virtual disk might no longer be fault tolerant.</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::virtualDiskState</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$VDISK_CRIT_STATUS:&quot;failed&quot;},eq)}=1</expression>
                                    <name>Disk {#SNMPVALUE}({#DISK_NAME}): Virtual disk failed</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>Please check virtual disk for warnings or errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$VDISK_WARN_STATUS:&quot;degraded&quot;},eq)}=1</expression>
                                    <name>Disk {#SNMPVALUE}({#DISK_NAME}): Virtual disk is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check virtual disk for warnings or errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Disk {#SNMPVALUE}({#DISK_NAME}): Virtual disk failed</name>
                                            <expression>{Template Server Dell iDRAC SNMPv2:system.hw.virtualdisk.status[virtualDiskState.{#SNMPINDEX}].count(#1,{$VDISK_CRIT_STATUS:&quot;failed&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Disk {#SNMPVALUE}({#DISK_NAME}): Write policy</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.674.10892.5.5.1.20.140.1.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.writepolicy[virtualDiskWritePolicy.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <description>MIB: IDRAC-MIB-SMIv2&#13;
The write policy used by the controller for write operations on this virtual disk.&#13;
Possible values:&#13;
1: Write Through.&#13;
2: Write Back.&#13;
3: Force Write Back.</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>IDRAC-MIB-SMIv2::virtualDiskWritePolicy</name>
                            </valuemap>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_BATTERY_OK_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_BATTERY_WARN_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CRIT_STATUS:&quot;critical&quot;}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_FAIL_STATUS:&quot;nonRecoverable&quot;}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_WARN_STATUS:&quot;nonCritical&quot;}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$DISK_FAIL_STATUS:&quot;critical&quot;}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$DISK_FAIL_STATUS:&quot;nonRecoverable&quot;}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$DISK_SMART_FAIL_STATUS}</macro>
                    <value>1</value>
                </macro>
                <macro>
                    <macro>{$DISK_WARN_STATUS:&quot;nonCritical&quot;}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;criticalLower&quot;}</macro>
                    <value>8</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;criticalUpper&quot;}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;failed&quot;}</macro>
                    <value>10</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;nonRecoverableLower&quot;}</macro>
                    <value>9</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS:&quot;nonRecoverableUpper&quot;}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$FAN_WARN_STATUS:&quot;nonCriticalLower&quot;}</macro>
                    <value>7</value>
                </macro>
                <macro>
                    <macro>{$FAN_WARN_STATUS:&quot;nonCriticalUpper&quot;}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_CRIT_STATUS}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_DISASTER_STATUS}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_WARN_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS:&quot;critical&quot;}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS:&quot;nonRecoverable&quot;}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$PSU_WARN_STATUS:&quot;nonCritical&quot;}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT:&quot;Ambient&quot;}</macro>
                    <value>35</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT:&quot;CPU&quot;}</macro>
                    <value>75</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_LOW}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT_STATUS}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$TEMP_DISASTER_STATUS}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN}</macro>
                    <value>50</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN:&quot;Ambient&quot;}</macro>
                    <value>30</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN:&quot;CPU&quot;}</macro>
                    <value>70</value>
                </macro>
                <macro>
                    <macro>{$TEMP_WARN_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$VDISK_CRIT_STATUS:&quot;failed&quot;}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$VDISK_WARN_STATUS:&quot;degraded&quot;}</macro>
                    <value>4</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Server HP iLO SNMPv2</template>
            <name>Template Server HP iLO SNMPv2</name>
            <description>Template Server HP iLO&#13;
&#13;
MIBs used:&#13;
CPQSINFO-MIB&#13;
CPQHLTH-MIB&#13;
CPQIDA-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Server hardware</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Disk arrays</name>
                </application>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Physical disks</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
                <application>
                    <name>Virtual disks</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>System: Temperature status</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.232.6.2.6.1.0</snmp_oid>
                    <key>sensor.temp.status[cpqHeThermalCondition.0]</key>
                    <delay>3m</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <description>MIB: CPQHLTH-MIB&#13;
This value specifies the overall condition of the system's thermal environment.&#13;
This value will be one of the following:&#13;
other(1)  Temperature could not be determined.&#13;
ok(2)  The temperature sensor is within normal operating range.&#13;
degraded(3)  The temperature sensor is outside of normal operating range.&#13;
failed(4)  The temperature sensor detects a condition that could  permanently damage the system.</description>
                    <applications>
                        <application>
                            <name>Temperature</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>CPQSINFO-MIB::status</name>
                    </valuemap>
                </item>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.232.2.2.4.2.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: CPQSINFO-MIB&#13;
The machine product name.The name of the machine used in this system.</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.232.2.2.2.1.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: CPQSINFO-MIB&#13;
The serial number of the physical system unit. The string will be empty if the system does not report the serial number function.</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Overall system health status</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.232.6.1.3.0</snmp_oid>
                    <key>system.status[cpqHeMibCondition.0]</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <description>MIB: CPQHLTH-MIB&#13;
The overall condition. This object represents the overall status of the server information represented by this MIB.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>CPQSINFO-MIB::status</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_CRIT_STATUS},eq)}=1</expression>
                            <name>System status is in critical state</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>Please check the device for errors</description>
                        </trigger>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_WARN_STATUS},eq)}=1</expression>
                            <name>System status is in warning state</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>Please check the device for warnings</description>
                            <dependencies>
                                <dependency>
                                    <name>System status is in critical state</name>
                                    <expression>{Template Server HP iLO SNMPv2:system.status[cpqHeMibCondition.0].count(#1,{$HEALTH_CRIT_STATUS},eq)}=1</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Array Controller Cache Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#CACHE_STATUS},1.3.6.1.4.1.232.3.2.2.2.1.2,{#CACHE_CNTRL_INDEX},1.3.6.1.4.1.232.3.2.2.2.1.1]</snmp_oid>
                    <key>array.cache.discovery</key>
                    <delay>1h</delay>
                    <description>Scanning table of Array controllers: CPQIDA-MIB::cpqDaAccelTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>#{#CACHE_CNTRL_INDEX}: Disk array cache controller battery status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.2.2.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.diskarray.cache.battery.status[cpqDaAccelBattery.{#SNMPINDEX}]</key>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: CPQIDA-MIB&#13;
Cache Module Board Backup Power Status. This monitors the status of each backup power source on the board.&#13;
The backup power source can only recharge when the system has power applied. The type of backup power source used is indicated by cpqDaAccelBackupPowerSource.&#13;
The following values are valid:&#13;
Other (1)  Indicates that the instrument agent does not recognize  backup power status.  You may need to update your software.&#13;
&#13;
Ok (2)  The backup power source is fully charged.&#13;
&#13;
Recharging (3)  The array controller has one or more cache module backup power  sources that are recharging.&#13;
Cache module operations such as Battery/Flash Backed Write Cache, Expansion, Extension and Migration are temporarily suspended until the backup power source is fully charged.&#13;
Cache module operations will automatically resume  when charging is complete.&#13;
&#13;
Failed (4)  The battery pack is below the sufficient voltage level and  has not recharged in 36 hours.&#13;
Your Cache Module board  needs to be serviced.&#13;
&#13;
Degraded (5)  The battery is still operating, however, one of the batteries  in the pack has failed to recharge properly.&#13;
Your Cache  Module board should be serviced as soon as possible.&#13;
&#13;
NotPresent (6)  A backup power source is not present on the cache module board. Some controllers do not have backup power sources.&#13;
&#13;
Capacitor Failed (7)  The flash backed cache module capacitor is below the sufficient voltage level and has not recharged in 10 minutes.  Your Cache Module board needs to be serviced.</description>
                            <applications>
                                <application>
                                    <name>Disk arrays</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQIDA-MIB::cpqDaAccelBattery</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS:&quot;failed&quot;},eq)}=1 or {count(#1,{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS:&quot;capacitorFailed&quot;},eq)}=1</expression>
                                    <name>#{#CACHE_CNTRL_INDEX}: Disk array cache controller battery is in critical state!</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the device for faults</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CACHE_BATTERY_WARN_STATUS:&quot;degraded&quot;},eq)}=1 or {count(#1,{$DISK_ARRAY_CACHE_BATTERY_WARN_STATUS:&quot;notPresent&quot;},eq)}=1</expression>
                                    <name>#{#CACHE_CNTRL_INDEX}: Disk array cache controller battery is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the device for faults</description>
                                    <dependencies>
                                        <dependency>
                                            <name>#{#CACHE_CNTRL_INDEX}: Disk array cache controller battery is in critical state!</name>
                                            <expression>{Template Server HP iLO SNMPv2:system.hw.diskarray.cache.battery.status[cpqDaAccelBattery.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS:&quot;failed&quot;},eq)}=1 or {Template Server HP iLO SNMPv2:system.hw.diskarray.cache.battery.status[cpqDaAccelBattery.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS:&quot;capacitorFailed&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>#{#CACHE_CNTRL_INDEX}: Disk array cache controller status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.2.2.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.diskarray.cache.status[cpqDaAccelStatus.{#SNMPINDEX}]</key>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: CPQIDA-MIB&#13;
Cache Module/Operations Status. This describes the status of the cache module and/or cache operations.&#13;
Note that for some controller models, a cache module board that physically attaches to the controller or chipset may not be an available option.</description>
                            <applications>
                                <application>
                                    <name>Disk arrays</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQIDA-MIB::cpqDaAccelStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CACHE_CRIT_STATUS:&quot;cacheModCriticalFailure&quot;},eq)}=1</expression>
                                    <name>#{#CACHE_CNTRL_INDEX}: Disk array cache controller is in critical state!</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the device for faults</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;invalid&quot;},eq)}=1 or {count(#1,{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;cacheModDegradedFailsafeSpeed&quot;},eq)}=1 or {count(#1,{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;cacheReadCacheNotMapped&quot;},eq)}=1 or {count(#1,{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;cacheModFlashMemNotAttached&quot;},eq)}=1</expression>
                                    <name>#{#CACHE_CNTRL_INDEX}: Disk array cache controller is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the device for faults</description>
                                    <dependencies>
                                        <dependency>
                                            <name>#{#CACHE_CNTRL_INDEX}: Disk array cache controller is in critical state!</name>
                                            <expression>{Template Server HP iLO SNMPv2:system.hw.diskarray.cache.status[cpqDaAccelStatus.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_CRIT_STATUS:&quot;cacheModCriticalFailure&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CACHE_OK_STATUS:&quot;enabled&quot;},ne)}=1</expression>
                                    <name>#{#CACHE_CNTRL_INDEX}: Disk array cache controller is not in optimal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the device for faults</description>
                                    <dependencies>
                                        <dependency>
                                            <name>#{#CACHE_CNTRL_INDEX}: Disk array cache controller is in critical state!</name>
                                            <expression>{Template Server HP iLO SNMPv2:system.hw.diskarray.cache.status[cpqDaAccelStatus.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_CRIT_STATUS:&quot;cacheModCriticalFailure&quot;},eq)}=1</expression>
                                        </dependency>
                                        <dependency>
                                            <name>#{#CACHE_CNTRL_INDEX}: Disk array cache controller is in warning state</name>
                                            <expression>{Template Server HP iLO SNMPv2:system.hw.diskarray.cache.status[cpqDaAccelStatus.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;invalid&quot;},eq)}=1 or {Template Server HP iLO SNMPv2:system.hw.diskarray.cache.status[cpqDaAccelStatus.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;cacheModDegradedFailsafeSpeed&quot;},eq)}=1 or {Template Server HP iLO SNMPv2:system.hw.diskarray.cache.status[cpqDaAccelStatus.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;cacheReadCacheNotMapped&quot;},eq)}=1 or {Template Server HP iLO SNMPv2:system.hw.diskarray.cache.status[cpqDaAccelStatus.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;cacheModFlashMemNotAttached&quot;},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Array Controller Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.232.3.2.2.1.1.1,{#CNTLR_SLOT},1.3.6.1.4.1.232.3.2.2.1.1.5,{#CNTLR_LOCATION},1.3.6.1.4.1.232.3.2.2.1.1.20]</snmp_oid>
                    <key>array.discovery</key>
                    <delay>1h</delay>
                    <description>Scanning table of Array controllers: CPQIDA-MIB::cpqDaCntlrTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#CNTLR_LOCATION}: Disk array controller model</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.2.1.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.diskarray.model[cpqDaCntlrModel.{#SNMPINDEX}]</key>
                            <delay>1d</delay>
                            <trends>0d</trends>
                            <description>MIB: CPQIDA-MIB&#13;
Array Controller Model. The type of controller card.</description>
                            <applications>
                                <application>
                                    <name>Disk arrays</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQIDA-MIB::cpqDaCntlrModel</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>{#CNTLR_LOCATION}: Disk array controller status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.2.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.diskarray.status[cpqDaCntlrCondition.{#SNMPINDEX}]</key>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: CPQIDA-MIB&#13;
This value represents the overall condition of this controller,&#13;
and any associated logical drives,physical drives, and array accelerators.</description>
                            <applications>
                                <application>
                                    <name>Disk arrays</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQSINFO-MIB::status</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_CRIT_STATUS},eq)}=1</expression>
                                    <name>{#CNTLR_LOCATION}: Disk array controller is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>Please check the device for faults</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_ARRAY_WARN_STATUS},eq)}=1</expression>
                                    <name>{#CNTLR_LOCATION}: Disk array controller is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the device for faults</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#CNTLR_LOCATION}: Disk array controller is in critical state</name>
                                            <expression>{Template Server HP iLO SNMPv2:system.hw.diskarray.status[cpqDaCntlrCondition.{#SNMPINDEX}].count(#1,{$DISK_ARRAY_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.232.6.2.6.7.1.9]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <description>CPQHLTH-MIB::cpqHeFltTolFanCondition</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Fan {#SNMPINDEX}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.6.2.6.7.1.9.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[cpqHeFltTolFanCondition.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: CPQHLTH-MIB&#13;
The condition of the fan.&#13;
This value will be one of the following:&#13;
other(1)  Fan status detection is not supported by this system or driver.&#13;
ok(2)  The fan is operating properly.&#13;
degraded(2)  A redundant fan is not operating properly.&#13;
failed(4)  A non-redundant fan is not operating properly.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQSINFO-MIB::status</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                    <name>Fan {#SNMPINDEX}: Fan is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_WARN_STATUS},eq)}=1</expression>
                                    <name>Fan {#SNMPINDEX}: Fan is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the fan unit</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Fan {#SNMPINDEX}: Fan is in critical state</name>
                                            <expression>{Template Server HP iLO SNMPv2:sensor.fan.status[cpqHeFltTolFanCondition.{#SNMPINDEX}].count(#1,{$FAN_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Physical Disk Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.232.3.2.5.1.1.5,{#DISK_LOCATION},1.3.6.1.4.1.232.3.2.5.1.1.64]</snmp_oid>
                    <key>physicalDisk.discovery</key>
                    <delay>1h</delay>
                    <description>Scanning  table of physical drive entries CPQIDA-MIB::cpqDaPhyDrvTable.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#DISK_LOCATION}: Physical disk media type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.5.1.1.69.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.media_type[cpqDaPhyDrvMediaType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: CPQIDA-MIB&#13;
Drive Array Physical Drive Media Type.The following values are defined:&#13;
other(1)  The instrument agent is unable to determine the physical drive’s media type.&#13;
rotatingPlatters(2)  The physical drive media is composed of rotating platters.&#13;
solidState(3)  The physical drive media is composed of solid state electronics.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQIDA-MIB::cpqDaPhyDrvMediaType</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_LOCATION}: Physical disk model name</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.5.1.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.model[cpqDaPhyDrvModel.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: CPQIDA-MIB&#13;
Physical Drive Model.This is a text description of the physical drive.&#13;
The text that appears depends upon who manufactured the drive and the drive type.&#13;
If a drive fails, note the model to identify the type of drive necessary for replacement.&#13;
If a model number is not present, you may not have properly initialized the drive array to which the physical drive is attached for monitoring.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_LOCATION}: Physical disk serial number</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.5.1.1.51.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.serialnumber[cpqDaPhyDrvSerialNum.{#SNMPINDEX}]</key>
                            <delay>1d</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: CPQIDA-MIB&#13;
Physical Drive Serial Number.&#13;
This is the serial number assigned to the physical drive.&#13;
This value is based upon the serial number as returned by the SCSI inquiry command&#13;
but may have been modified due to space limitations.  This can be used for identification purposes.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                                    <recovery_mode>NONE</recovery_mode>
                                    <name>{#DISK_LOCATION}: Disk has been replaced (new serial number received)</name>
                                    <priority>INFO</priority>
                                    <description>Disk serial number has changed. Ack to close</description>
                                    <manual_close>YES</manual_close>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_LOCATION}: Disk size</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.5.1.1.45.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.size[cpqDaPhyDrvMediaType.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <units>B</units>
                            <description>MIB: CPQIDA-MIB&#13;
Physical Drive Size in MB.&#13;
This is the size of the physical drive in megabytes.&#13;
This value is calculated using the value 1,048,576 (2^20) as a megabyte.&#13;
Drive manufacturers sometimes use the number 1,000,000 as a megabyte when giving drive capacities so this value may differ&#13;
from the advertised size of a drive. This field is only applicable for controllers which support SCSI drives,&#13;
and therefore is not supported by the IDA or IDA-2 controllers. The field will contain 0xFFFFFFFF if the drive capacity cannot be calculated&#13;
or if the controller does not support SCSI drives.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1048576</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_LOCATION}: Physical disk S.M.A.R.T. status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.5.1.1.57.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.smart_status[cpqDaPhyDrvSmartStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <trends>0d</trends>
                            <description>MIB: CPQIDA-MIB&#13;
Physical Drive S.M.A.R.T Status.The following values are defined:&#13;
other(1)  The agent is unable to determine if the status of S.M.A.R.T  predictive failure monitoring for this drive.&#13;
ok(2)  Indicates the drive is functioning properly.&#13;
replaceDrive(3)  Indicates that the drive has a S.M.A.R.T predictive failure  error and should be replaced.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQIDA-MIB::cpqDaPhyDrvSmartStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_SMART_FAIL_STATUS:&quot;replaceDrive&quot;},eq)}=1 or {count(#1,{$DISK_SMART_FAIL_STATUS:&quot;replaceDriveSSDWearOut&quot;},eq)}=1</expression>
                                    <name>{#DISK_LOCATION}: Physical disk S.M.A.R.T. failed</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>Disk probably requires replacement.</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#DISK_LOCATION}: Physical disk failed</name>
                                            <expression>{Template Server HP iLO SNMPv2:system.hw.physicaldisk.status[cpqDaPhyDrvStatus.{#SNMPINDEX}].count(#1,{$DISK_FAIL_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>{#DISK_LOCATION}: Physical disk status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.5.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.status[cpqDaPhyDrvStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <trends>0d</trends>
                            <description>MIB: CPQIDA-MIB&#13;
Physical Drive Status. This shows the status of the physical drive. The following values are valid for the physical drive status:&#13;
other (1)  Indicates that the instrument agent does not recognize  the drive.&#13;
You may need to upgrade your instrument agent  and/or driver software.&#13;
ok (2)  Indicates the drive is functioning properly.&#13;
failed (3)  Indicates that the drive is no longer operating and  should be replaced.&#13;
predictiveFailure(4)  Indicates that the drive has a predictive failure error and  should be replaced.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQIDA-MIB::cpqDaPhyDrvStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_FAIL_STATUS},eq)}=1</expression>
                                    <name>{#DISK_LOCATION}: Physical disk failed</name>
                                    <opdata>Current status: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>Please check physical disk for warnings or errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_WARN_STATUS},eq)}=1</expression>
                                    <name>{#DISK_LOCATION}: Physical disk is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check physical disk for warnings or errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#DISK_LOCATION}: Physical disk failed</name>
                                            <expression>{Template Server HP iLO SNMPv2:system.hw.physicaldisk.status[cpqDaPhyDrvStatus.{#SNMPINDEX}].count(#1,{$DISK_FAIL_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.232.6.2.9.3.1.5,{#CHASSIS_NUM},1.3.6.1.4.1.232.6.2.9.3.1.1,{#BAY_NUM},1.3.6.1.4.1.232.6.2.9.3.1.2]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <description>CPQHLTH-MIB::cpqHeFltTolPowerSupplyStatus</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Chassis {#CHASSIS_NUM}, bay {#BAY_NUM}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.6.2.9.3.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[cpqHeFltTolPowerSupplyCondition.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <description>MIB: CPQHLTH-MIB&#13;
The condition of the power supply. This value will be one of the following:&#13;
other(1)  The status could not be determined or not present.&#13;
ok(2)  The power supply is operating normally.&#13;
degraded(3)  A temperature sensor, fan or other power supply component is  outside of normal operating range.&#13;
failed(4)  A power supply component detects a condition that could  permanently damage the system.</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQSINFO-MIB::status</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                    <name>Chassis {#CHASSIS_NUM}, bay {#BAY_NUM}: Power supply is in critical state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_WARN_STATUS},eq)}=1</expression>
                                    <name>Chassis {#CHASSIS_NUM}, bay {#BAY_NUM}: Power supply is in warning state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check the power supply unit for errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Chassis {#CHASSIS_NUM}, bay {#BAY_NUM}: Power supply is in critical state</name>
                                            <expression>{Template Server HP iLO SNMPv2:sensor.psu.status[cpqHeFltTolPowerSupplyCondition.{#SNMPINDEX}].count(#1,{$PSU_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.232.6.2.6.8.1.1,{#SENSOR_LOCALE},1.3.6.1.4.1.232.6.2.6.8.1.3]</snmp_oid>
                    <key>tempDescr.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_LOCALE}</macro>
                                <value>(4|8|9|12|13)</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning table of Temperature Sensor Entries: CPQHLTH-MIB::cpqHeTemperatureTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPINDEX}: Temperature sensor location</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.6.2.6.8.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.locale[cpqHeTemperatureLocale.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>1w</history>
                            <trends>0d</trends>
                            <description>MIB: CPQHLTH-MIB&#13;
This specifies the location of the temperature sensor present in the system.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQHLTH-MIB::cpqHeTemperatureLocale</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPINDEX}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.6.2.6.8.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[cpqHeTemperatureCelsius.{#SNMPINDEX}]</key>
                            <delay>6m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CPQHLTH-MIB&#13;
Temperature readings of testpoint: {#SNMPINDEX}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;{#SNMPINDEX}&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;{#SNMPINDEX}&quot;}-3</recovery_expression>
                                    <name>{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;{#SNMPINDEX}&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;{#SNMPINDEX}&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;{#SNMPINDEX}&quot;}-3</recovery_expression>
                                    <name>{#SNMPINDEX}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;{#SNMPINDEX}&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;{#SNMPINDEX}&quot;}</name>
                                            <expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;{#SNMPINDEX}&quot;}</expression>
                                            <recovery_expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;{#SNMPINDEX}&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;{#SNMPINDEX}&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;{#SNMPINDEX}&quot;}+3</recovery_expression>
                                    <name>{#SNMPINDEX}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;{#SNMPINDEX}&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery Ambient</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.232.6.2.6.8.1.1,{#SENSOR_LOCALE},1.3.6.1.4.1.232.6.2.6.8.1.3]</snmp_oid>
                    <key>tempDescr.discovery.ambient</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPINDEX}</macro>
                                <value>0\.1</value>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#SENSOR_LOCALE}</macro>
                                <value>11</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning table of Temperature Sensor Entries: CPQHLTH-MIB::cpqHeTemperatureTable with ambient(11) and 0.1 index filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Ambient: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.6.2.6.8.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[cpqHeTemperatureCelsius.Ambient.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CPQHLTH-MIB&#13;
Temperature readings of testpoint: Ambient</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>Ambient: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>Ambient: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Ambient: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                            <expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.Ambient.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                            <recovery_expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.Ambient.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}+3</recovery_expression>
                                    <name>Ambient: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery CPU</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.232.6.2.6.8.1.1,{#SENSOR_LOCALE},1.3.6.1.4.1.232.6.2.6.8.1.3]</snmp_oid>
                    <key>tempDescr.discovery.cpu</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_LOCALE}</macro>
                                <value>6</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning table of Temperature Sensor Entries: CPQHLTH-MIB::cpqHeTemperatureTable with cpu(6) filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>CPU-{#SNMPINDEX}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.6.2.6.8.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[cpqHeTemperatureCelsius.CPU.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CPQHLTH-MIB&#13;
Temperature readings of testpoint: CPU-{#SNMPINDEX}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                                    <name>CPU-{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;CPU&quot;}-3</recovery_expression>
                                    <name>CPU-{#SNMPINDEX}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>CPU-{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                                            <expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.CPU.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}</expression>
                                            <recovery_expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.CPU.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}+3</recovery_expression>
                                    <name>CPU-{#SNMPINDEX}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery System</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.232.6.2.6.8.1.1,{#SENSOR_LOCALE},1.3.6.1.4.1.232.6.2.6.8.1.3]</snmp_oid>
                    <key>tempDescr.discovery.io</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_LOCALE}</macro>
                                <value>3</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning table of Temperature Sensor Entries: CPQHLTH-MIB::cpqHeTemperatureTable with system(3) filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>System-{#SNMPINDEX}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.6.2.6.8.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[cpqHeTemperatureCelsius.System.{#SNMPINDEX}]</key>
                            <delay>6m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CPQHLTH-MIB&#13;
Temperature readings of testpoint: System-{#SNMPINDEX}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;Device&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;Device&quot;}-3</recovery_expression>
                                    <name>System-{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Device&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;Device&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;Device&quot;}-3</recovery_expression>
                                    <name>System-{#SNMPINDEX}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Device&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>System-{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Device&quot;}</name>
                                            <expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.System.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Device&quot;}</expression>
                                            <recovery_expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.System.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Device&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Device&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Device&quot;}+3</recovery_expression>
                                    <name>System-{#SNMPINDEX}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Device&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery Memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.232.6.2.6.8.1.1,{#SENSOR_LOCALE},1.3.6.1.4.1.232.6.2.6.8.1.3]</snmp_oid>
                    <key>tempDescr.discovery.memory</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_LOCALE}</macro>
                                <value>7</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning table of Temperature Sensor Entries: CPQHLTH-MIB::cpqHeTemperatureTable with memory(7) filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Memory-{#SNMPINDEX}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.6.2.6.8.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[cpqHeTemperatureCelsius.Memory.{#SNMPINDEX}]</key>
                            <delay>6m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CPQHLTH-MIB&#13;
Temperature readings of testpoint: Memory-{#SNMPINDEX}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;Memory&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;Memory&quot;}-3</recovery_expression>
                                    <name>Memory-{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Memory&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;Memory&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;Memory&quot;}-3</recovery_expression>
                                    <name>Memory-{#SNMPINDEX}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Memory&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Memory-{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Memory&quot;}</name>
                                            <expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.Memory.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Memory&quot;}</expression>
                                            <recovery_expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.Memory.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Memory&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Memory&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Memory&quot;}+3</recovery_expression>
                                    <name>Memory-{#SNMPINDEX}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Memory&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery PSU</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.232.6.2.6.8.1.1,{#SENSOR_LOCALE},1.3.6.1.4.1.232.6.2.6.8.1.3]</snmp_oid>
                    <key>tempDescr.discovery.psu</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SENSOR_LOCALE}</macro>
                                <value>10</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning table of Temperature Sensor Entries: CPQHLTH-MIB::cpqHeTemperatureTable with powerSupply(10) filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>PSU-{#SNMPINDEX}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.6.2.6.8.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[cpqHeTemperatureCelsius.PSU.{#SNMPINDEX}]</key>
                            <delay>6m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: CPQHLTH-MIB&#13;
Temperature readings of testpoint: PSU-{#SNMPINDEX}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;PSU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;PSU&quot;}-3</recovery_expression>
                                    <name>PSU-{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;PSU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;PSU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;PSU&quot;}-3</recovery_expression>
                                    <name>PSU-{#SNMPINDEX}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;PSU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>PSU-{#SNMPINDEX}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;PSU&quot;}</name>
                                            <expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.PSU.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;PSU&quot;}</expression>
                                            <recovery_expression>{Template Server HP iLO SNMPv2:sensor.temp.value[cpqHeTemperatureCelsius.PSU.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;PSU&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;PSU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;PSU&quot;}+3</recovery_expression>
                                    <name>PSU-{#SNMPINDEX}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;PSU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Virtual Disk Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.232.3.2.3.1.1.2,{#DISK_NAME},1.3.6.1.4.1.232.3.2.3.1.1.14]</snmp_oid>
                    <key>virtualdisk.discovery</key>
                    <delay>1h</delay>
                    <description>CPQIDA-MIB::cpqDaLogDrvTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Disk {#SNMPINDEX}({#DISK_NAME}): Layout type</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.3.1.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.layout[cpqDaLogDrvFaultTol.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <description>Logical Drive Fault Tolerance.&#13;
This shows the fault tolerance mode of the logical drive.</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQIDA-MIB::cpqDaLogDrvFaultTol</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>Disk {#SNMPINDEX}({#DISK_NAME}): Disk size</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.3.1.1.9.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.size[cpqDaLogDrvSize.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0d</trends>
                            <units>B</units>
                            <description>Logical Drive Size.&#13;
This is the size of the logical drive in megabytes.  This value&#13;
is calculated using the value 1,048,576 (2^20) as a megabyte.&#13;
Drive manufacturers sometimes use the number 1,000,000 as a&#13;
megabyte when giving drive capacities so this value may&#13;
differ from the advertised size of a drive.</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>1048576</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Disk {#SNMPINDEX}({#DISK_NAME}): Status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.232.3.2.3.1.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.virtualdisk.status[cpqDaLogDrvStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <description>Logical Drive Status.</description>
                            <applications>
                                <application>
                                    <name>Virtual disks</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>CPQIDA-MIB::cpqDaLogDrvStatus</name>
                            </valuemap>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$VDISK_CRIT_STATUS},eq)}=1</expression>
                                    <name>Disk {#SNMPINDEX}({#DISK_NAME}): Virtual disk failed</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>Please check virtual disk for warnings or errors</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{count(#1,{$VDISK_OK_STATUS},ne)}=1</expression>
                                    <name>Disk {#SNMPINDEX}({#DISK_NAME}): Virtual disk is not in OK state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check virtual disk for warnings or errors</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Disk {#SNMPINDEX}({#DISK_NAME}): Virtual disk failed</name>
                                            <expression>{Template Server HP iLO SNMPv2:system.hw.virtualdisk.status[cpqDaLogDrvStatus.{#SNMPINDEX}].count(#1,{$VDISK_CRIT_STATUS},eq)}=1</expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS:&quot;capacitorFailed&quot;}</macro>
                    <value>7</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_BATTERY_CRIT_STATUS:&quot;failed&quot;}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_BATTERY_WARN_STATUS:&quot;degraded&quot;}</macro>
                    <value>5</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_BATTERY_WARN_STATUS:&quot;notPresent&quot;}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_CRIT_STATUS:&quot;cacheModCriticalFailure&quot;}</macro>
                    <value>8</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_OK_STATUS:&quot;enabled&quot;}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;cacheModDegradedFailsafeSpeed&quot;}</macro>
                    <value>7</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;cacheModFlashMemNotAttached&quot;}</macro>
                    <value>6</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;cacheReadCacheNotMapped&quot;}</macro>
                    <value>9</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CACHE_WARN_STATUS:&quot;invalid&quot;}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_CRIT_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$DISK_ARRAY_WARN_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$DISK_FAIL_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$DISK_SMART_FAIL_STATUS:&quot;replaceDrive&quot;}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$DISK_SMART_FAIL_STATUS:&quot;replaceDriveSSDWearOut&quot;}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$DISK_WARN_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$FAN_CRIT_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$FAN_WARN_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_CRIT_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_WARN_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$PSU_CRIT_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$PSU_WARN_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT:&quot;Ambient&quot;}</macro>
                    <value>35</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:&quot;Ambient&quot;}</macro>
                    <value>30</value>
                </macro>
                <macro>
                    <macro>{$VDISK_CRIT_STATUS}</macro>
                    <value>3</value>
                </macro>
                <macro>
                    <macro>{$VDISK_OK_STATUS}</macro>
                    <value>2</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Server IBM IMM SNMPv1</template>
            <name>Template Server IBM IMM SNMPv1</name>
            <description>Template Server IBM IMM&#13;
&#13;
MIBs used:&#13;
IMM-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: Some IMMs (IMM1) do not return disks&#13;
  Version: IMM1&#13;
  Device: IBM x3250M3&#13;
&#13;
  Description: Some IMMs (IMM1) do not return fan status: fanHealthStatus&#13;
  Version: IMM1&#13;
  Device: IBM x3250M3&#13;
&#13;
  Description: IMM1 servers (M2, M3 generations) sysObjectID is NET-SNMP-MIB::netSnmpAgentOIDs.10&#13;
  Version: IMM1&#13;
  Device: IMM1 servers (M2,M3 generations)&#13;
&#13;
  Description: IMM1 servers (M2, M3 generations) only Ambient temperature sensor available&#13;
  Version: IMM1&#13;
  Device: IMM1 servers (M2,M3 generations)&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Generic SNMPv1</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Server hardware</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Physical disks</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.5.2.1.5.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: IMM-MIB</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.5.2.1.3.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: IMM-MIB&#13;
Machine serial number VPD information</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Overall system health status</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.4.1.0</snmp_oid>
                    <key>system.status[systemHealthStat.0]</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <description>MIB: IMM-MIB&#13;
Indicates status of system health for the system in which the IMM resides. Value of 'nonRecoverable' indicates a severe error has occurred and the system may not be functioning. A value of 'critical' indicates that a error has occurred but the system is currently functioning properly. A value of 'nonCritical' indicates that a condition has occurred that may change the state of the system in the future but currently the system is working properly. A value of 'normal' indicates that the system is operating normally.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>IMM-MIB::systemHealthStat</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_DISASTER_STATUS},eq)}=1</expression>
                            <name>System is in unrecoverable state!</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>Please check the device for faults</description>
                        </trigger>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_CRIT_STATUS},eq)}=1</expression>
                            <name>System status is in critical state</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>Please check the device for errors</description>
                            <dependencies>
                                <dependency>
                                    <name>System is in unrecoverable state!</name>
                                    <expression>{Template Server IBM IMM SNMPv1:system.status[systemHealthStat.0].count(#1,{$HEALTH_DISASTER_STATUS},eq)}=1</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_WARN_STATUS},eq)}=1</expression>
                            <name>System status is in warning state</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>Please check the device for warnings</description>
                            <dependencies>
                                <dependency>
                                    <name>System is in unrecoverable state!</name>
                                    <expression>{Template Server IBM IMM SNMPv1:system.status[systemHealthStat.0].count(#1,{$HEALTH_DISASTER_STATUS},eq)}=1</expression>
                                </dependency>
                                <dependency>
                                    <name>System status is in critical state</name>
                                    <expression>{Template Server IBM IMM SNMPv1:system.status[systemHealthStat.0].count(#1,{$HEALTH_CRIT_STATUS},eq)}=1</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#FAN_DESCR},1.3.6.1.4.1.2.3.51.3.1.3.2.1.2]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <description>IMM-MIB::fanDescr</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#FAN_DESCR}: Fan speed, %</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.3.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.speed.percentage[fanSpeed.{#SNMPINDEX}]</key>
                            <units>%</units>
                            <description>MIB: IMM-MIB&#13;
Fan speed expressed in percent(%) of maximum RPM.&#13;
An octet string expressed as 'ddd% of maximum' where:d is a decimal digit or blank space for a leading zero.&#13;
If the fan is determined not to be running or the fan speed cannot be determined, the string will indicate 'Offline'.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>REGEX</type>
                                    <params>(\d{1,3}) *%( of maximum)?
\1</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FAN_DESCR}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.3.2.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[fanHealthStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IMM-MIB&#13;
A description of the fan component status.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_OK_STATUS},ne)}=1</expression>
                                    <name>{#FAN_DESCR}: Fan is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Physical Disk Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2.3.51.3.1.12.2.1.1]</snmp_oid>
                    <key>physicalDisk.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPINDEX}: Physical disk part number</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.12.2.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.part_number[diskFruName.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IMM-MIB&#13;
disk module FRU name.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPINDEX}: Physical disk status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.12.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IMM-MIB</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_OK_STATUS},ne)}=1</expression>
                                    <name>{#SNMPINDEX}: Physical disk is not in OK state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check physical disk for warnings or errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#PSU_DESCR},1.3.6.1.4.1.2.3.51.3.1.11.2.1.2]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <description>IMM-MIB::powerFruName</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#PSU_DESCR}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.11.2.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[powerHealthStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IMM-MIB&#13;
A description of the power module status.</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_OK_STATUS},ne)}=1</expression>
                                    <name>{#PSU_DESCR}: Power supply is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2.3.51.3.1.1.2.1.2]</snmp_oid>
                    <key>tempDescr.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>(DIMM|PSU|PCH|RAID|RR|PCI).*</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning IMM-MIB::tempTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.1.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[tempReading.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: IMM-MIB&#13;
Temperature readings of testpoint: {#SNMPVALUE}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>{#SNMPVALUE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                            <expression>{Template Server IBM IMM SNMPv1:sensor.temp.value[tempReading.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Server IBM IMM SNMPv1:sensor.temp.value[tempReading.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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>{#SNMPVALUE}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery Ambient</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2.3.51.3.1.1.2.1.2]</snmp_oid>
                    <key>tempDescr.discovery.ambient</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>Ambient.*</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning IMM-MIB::tempTable with Ambient filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Ambient: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.1.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: IMM-MIB&#13;
Temperature readings of testpoint: Ambient</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>Ambient: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>Ambient: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Ambient: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                            <expression>{Template Server IBM IMM SNMPv1:sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                            <recovery_expression>{Template Server IBM IMM SNMPv1:sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}+3</recovery_expression>
                                    <name>Ambient: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery CPU</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2.3.51.3.1.1.2.1.2]</snmp_oid>
                    <key>tempDescr.discovery.cpu</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>CPU [0-9]* Temp</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning IMM-MIB::tempTable with CPU filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>CPU: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.1.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[tempReading.CPU.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: IMM-MIB&#13;
Temperature readings of testpoint: CPU</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                                    <name>CPU: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;CPU&quot;}-3</recovery_expression>
                                    <name>CPU: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>CPU: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                                            <expression>{Template Server IBM IMM SNMPv1:sensor.temp.value[tempReading.CPU.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}</expression>
                                            <recovery_expression>{Template Server IBM IMM SNMPv1:sensor.temp.value[tempReading.CPU.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}+3</recovery_expression>
                                    <name>CPU: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$DISK_OK_STATUS}</macro>
                    <value>Normal</value>
                </macro>
                <macro>
                    <macro>{$FAN_OK_STATUS}</macro>
                    <value>Normal</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_CRIT_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_DISASTER_STATUS}</macro>
                    <value>0</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_WARN_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$PSU_OK_STATUS}</macro>
                    <value>Normal</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT:&quot;Ambient&quot;}</macro>
                    <value>35</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:&quot;Ambient&quot;}</macro>
                    <value>30</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Server IBM IMM SNMPv2</template>
            <name>Template Server IBM IMM SNMPv2</name>
            <description>Template Server IBM IMM&#13;
&#13;
MIBs used:&#13;
IMM-MIB&#13;
&#13;
Known Issues:&#13;
&#13;
  Description: Some IMMs (IMM1) do not return disks&#13;
  Version: IMM1&#13;
  Device: IBM x3250M3&#13;
&#13;
  Description: Some IMMs (IMM1) do not return fan status: fanHealthStatus&#13;
  Version: IMM1&#13;
  Device: IBM x3250M3&#13;
&#13;
  Description: IMM1 servers (M2, M3 generations) sysObjectID is NET-SNMP-MIB::netSnmpAgentOIDs.10&#13;
  Version: IMM1&#13;
  Device: IMM1 servers (M2,M3 generations)&#13;
&#13;
  Description: IMM1 servers (M2, M3 generations) only Ambient temperature sensor available&#13;
  Version: IMM1&#13;
  Device: IMM1 servers (M2,M3 generations)&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Server hardware</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Inventory</name>
                </application>
                <application>
                    <name>Physical disks</name>
                </application>
                <application>
                    <name>Power supply</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Hardware model name</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.5.2.1.5.0</snmp_oid>
                    <key>system.hw.model</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: IMM-MIB</description>
                    <inventory_link>MODEL</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Hardware serial number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.5.2.1.3.0</snmp_oid>
                    <key>system.hw.serialnumber</key>
                    <delay>1h</delay>
                    <history>2w</history>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>MIB: IMM-MIB&#13;
Machine serial number VPD information</description>
                    <inventory_link>SERIALNO_A</inventory_link>
                    <applications>
                        <application>
                            <name>Inventory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>DISCARD_UNCHANGED_HEARTBEAT</type>
                            <params>1d</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff()}=1 and {strlen()}&gt;0</expression>
                            <recovery_mode>NONE</recovery_mode>
                            <name>Device has been replaced (new serial number received)</name>
                            <priority>INFO</priority>
                            <description>Device serial number has changed. Ack to close</description>
                            <manual_close>YES</manual_close>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Overall system health status</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.4.1.0</snmp_oid>
                    <key>system.status[systemHealthStat.0]</key>
                    <delay>30s</delay>
                    <history>2w</history>
                    <trends>0d</trends>
                    <description>MIB: IMM-MIB&#13;
Indicates status of system health for the system in which the IMM resides. Value of 'nonRecoverable' indicates a severe error has occurred and the system may not be functioning. A value of 'critical' indicates that a error has occurred but the system is currently functioning properly. A value of 'nonCritical' indicates that a condition has occurred that may change the state of the system in the future but currently the system is working properly. A value of 'normal' indicates that the system is operating normally.</description>
                    <applications>
                        <application>
                            <name>Status</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>IMM-MIB::systemHealthStat</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_DISASTER_STATUS},eq)}=1</expression>
                            <name>System is in unrecoverable state!</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>Please check the device for faults</description>
                        </trigger>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_CRIT_STATUS},eq)}=1</expression>
                            <name>System status is in critical state</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>HIGH</priority>
                            <description>Please check the device for errors</description>
                            <dependencies>
                                <dependency>
                                    <name>System is in unrecoverable state!</name>
                                    <expression>{Template Server IBM IMM SNMPv2:system.status[systemHealthStat.0].count(#1,{$HEALTH_DISASTER_STATUS},eq)}=1</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{count(#1,{$HEALTH_WARN_STATUS},eq)}=1</expression>
                            <name>System status is in warning state</name>
                            <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                            <priority>WARNING</priority>
                            <description>Please check the device for warnings</description>
                            <dependencies>
                                <dependency>
                                    <name>System is in unrecoverable state!</name>
                                    <expression>{Template Server IBM IMM SNMPv2:system.status[systemHealthStat.0].count(#1,{$HEALTH_DISASTER_STATUS},eq)}=1</expression>
                                </dependency>
                                <dependency>
                                    <name>System status is in critical state</name>
                                    <expression>{Template Server IBM IMM SNMPv2:system.status[systemHealthStat.0].count(#1,{$HEALTH_CRIT_STATUS},eq)}=1</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#FAN_DESCR},1.3.6.1.4.1.2.3.51.3.1.3.2.1.2]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <description>IMM-MIB::fanDescr</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#FAN_DESCR}: Fan speed, %</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.3.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.speed.percentage[fanSpeed.{#SNMPINDEX}]</key>
                            <units>%</units>
                            <description>MIB: IMM-MIB&#13;
Fan speed expressed in percent(%) of maximum RPM.&#13;
An octet string expressed as 'ddd% of maximum' where:d is a decimal digit or blank space for a leading zero.&#13;
If the fan is determined not to be running or the fan speed cannot be determined, the string will indicate 'Offline'.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>REGEX</type>
                                    <params>(\d{1,3}) *%( of maximum)?
\1</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>{#FAN_DESCR}: Fan status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.3.2.1.10.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.status[fanHealthStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IMM-MIB&#13;
A description of the fan component status.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$FAN_OK_STATUS},ne)}=1</expression>
                                    <name>{#FAN_DESCR}: Fan is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the fan unit</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Physical Disk Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2.3.51.3.1.12.2.1.1]</snmp_oid>
                    <key>physicalDisk.discovery</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPINDEX}: Physical disk part number</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.12.2.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.part_number[diskFruName.{#SNMPINDEX}]</key>
                            <delay>1h</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IMM-MIB&#13;
disk module FRU name.</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>{#SNMPINDEX}: Physical disk status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.12.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>system.hw.physicaldisk.status[diskHealthStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IMM-MIB</description>
                            <applications>
                                <application>
                                    <name>Physical disks</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$DISK_OK_STATUS},ne)}=1</expression>
                                    <name>{#SNMPINDEX}: Physical disk is not in OK state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>Please check physical disk for warnings or errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>PSU Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#PSU_DESCR},1.3.6.1.4.1.2.3.51.3.1.11.2.1.2]</snmp_oid>
                    <key>psu.discovery</key>
                    <delay>1h</delay>
                    <description>IMM-MIB::powerFruName</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#PSU_DESCR}: Power supply status</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.11.2.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.psu.status[powerHealthStatus.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <history>2w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>MIB: IMM-MIB&#13;
A description of the power module status.</description>
                            <applications>
                                <application>
                                    <name>Power supply</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{count(#1,{$PSU_OK_STATUS},ne)}=1</expression>
                                    <name>{#PSU_DESCR}: Power supply is not in normal state</name>
                                    <opdata>Current state: {ITEM.LASTVALUE1}</opdata>
                                    <priority>INFO</priority>
                                    <description>Please check the power supply unit for errors</description>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2.3.51.3.1.1.2.1.2]</snmp_oid>
                    <key>tempDescr.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>(DIMM|PSU|PCH|RAID|RR|PCI).*</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning IMM-MIB::tempTable</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SNMPVALUE}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.1.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[tempReading.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: IMM-MIB&#13;
Temperature readings of testpoint: {#SNMPVALUE}</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>{#SNMPVALUE}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SNMPVALUE}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                            <expression>{Template Server IBM IMM SNMPv2:sensor.temp.value[tempReading.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Server IBM IMM SNMPv2:sensor.temp.value[tempReading.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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>{#SNMPVALUE}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery Ambient</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2.3.51.3.1.1.2.1.2]</snmp_oid>
                    <key>tempDescr.discovery.ambient</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>Ambient.*</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning IMM-MIB::tempTable with Ambient filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Ambient: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.1.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: IMM-MIB&#13;
Temperature readings of testpoint: Ambient</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>Ambient: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;Ambient&quot;}-3</recovery_expression>
                                    <name>Ambient: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>Ambient: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;Ambient&quot;}</name>
                                            <expression>{Template Server IBM IMM SNMPv2:sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;Ambient&quot;}</expression>
                                            <recovery_expression>{Template Server IBM IMM SNMPv2:sensor.temp.value[tempReading.Ambient.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;Ambient&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}+3</recovery_expression>
                                    <name>Ambient: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;Ambient&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery CPU</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.2.3.51.3.1.1.2.1.2]</snmp_oid>
                    <key>tempDescr.discovery.cpu</key>
                    <delay>1h</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>CPU [0-9]* Temp</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning IMM-MIB::tempTable with CPU filter</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>CPU: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.2.3.51.3.1.1.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[tempReading.CPU.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: IMM-MIB&#13;
Temperature readings of testpoint: CPU</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                                    <name>CPU: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;CPU&quot;}-3</recovery_expression>
                                    <name>CPU: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>CPU: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;CPU&quot;}</name>
                                            <expression>{Template Server IBM IMM SNMPv2:sensor.temp.value[tempReading.CPU.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;CPU&quot;}</expression>
                                            <recovery_expression>{Template Server IBM IMM SNMPv2:sensor.temp.value[tempReading.CPU.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;CPU&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{min(5m)}&gt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}+3</recovery_expression>
                                    <name>CPU: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;CPU&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$DISK_OK_STATUS}</macro>
                    <value>Normal</value>
                </macro>
                <macro>
                    <macro>{$FAN_OK_STATUS}</macro>
                    <value>Normal</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_CRIT_STATUS}</macro>
                    <value>2</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_DISASTER_STATUS}</macro>
                    <value>0</value>
                </macro>
                <macro>
                    <macro>{$HEALTH_WARN_STATUS}</macro>
                    <value>4</value>
                </macro>
                <macro>
                    <macro>{$PSU_OK_STATUS}</macro>
                    <value>Normal</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT}</macro>
                    <value>60</value>
                </macro>
                <macro>
                    <macro>{$TEMP_CRIT:&quot;Ambient&quot;}</macro>
                    <value>35</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:&quot;Ambient&quot;}</macro>
                    <value>30</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template Server Intel SR1530 IPMI</template>
            <name>Template Server Intel SR1530 IPMI</name>
            <groups>
                <group>
                    <name>Templates/Server hardware</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
                <application>
                    <name>Voltage</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>BB +1.8V SM</name>
                    <type>IPMI</type>
                    <key>bb_1.8v_sm</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>V</units>
                    <ipmi_sensor>BB +1.8V SM</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;1.597 or {last(0)}&gt;2.019</expression>
                            <name>BB +1.8V SM Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1530 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;1.646 or {last(0)}&gt;1.960</expression>
                            <name>BB +1.8V SM Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>BB +1.8V SM Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1530 IPMI:bb_1.8v_sm.last(0)}&lt;1.597 or {Template Server Intel SR1530 IPMI:bb_1.8v_sm.last(0)}&gt;2.019</expression>
                                </dependency>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1530 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>BB +3.3V</name>
                    <type>IPMI</type>
                    <key>bb_3.3v</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>V</units>
                    <ipmi_sensor>BB +3.3V</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;2.876 or {last(0)}&gt;3.729</expression>
                            <name>BB +3.3V Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1530 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;2.970 or {last(0)}&gt;3.618</expression>
                            <name>BB +3.3V Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>BB +3.3V Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1530 IPMI:bb_3.3v.last(0)}&lt;2.876 or {Template Server Intel SR1530 IPMI:bb_3.3v.last(0)}&gt;3.729</expression>
                                </dependency>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1530 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>BB +3.3V STBY</name>
                    <type>IPMI</type>
                    <key>bb_3.3v_stby</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>V</units>
                    <ipmi_sensor>BB +3.3V STBY</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;2.876 or {last(0)}&gt;3.729</expression>
                            <name>BB +3.3V STBY Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;2.970 or {last(0)}&gt;3.618</expression>
                            <name>BB +3.3V STBY Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>BB +3.3V STBY Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1530 IPMI:bb_3.3v_stby.last(0)}&lt;2.876 or {Template Server Intel SR1530 IPMI:bb_3.3v_stby.last(0)}&gt;3.729</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>BB +5.0V</name>
                    <type>IPMI</type>
                    <key>bb_5.0v</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>V</units>
                    <ipmi_sensor>BB +5.0V</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;4.362 or {last(0)}&gt;5.663</expression>
                            <name>BB +5.0V Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1530 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;4.483 or {last(0)}&gt;5.495</expression>
                            <name>BB +5.0V Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>BB +5.0V Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1530 IPMI:bb_5.0v.last(0)}&lt;4.362 or {Template Server Intel SR1530 IPMI:bb_5.0v.last(0)}&gt;5.663</expression>
                                </dependency>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1530 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>BB Ambient Temp</name>
                    <type>IPMI</type>
                    <key>bb_ambient_temp</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>C</units>
                    <ipmi_sensor>BB Ambient Temp</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Temperature</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;5 or {last(0)}&gt;66</expression>
                            <name>BB Ambient Temp Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;10 or {last(0)}&gt;61</expression>
                            <name>BB Ambient Temp Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>BB Ambient Temp Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1530 IPMI:bb_ambient_temp.last(0)}&lt;5 or {Template Server Intel SR1530 IPMI:bb_ambient_temp.last(0)}&gt;66</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Power</name>
                    <type>IPMI</type>
                    <key>power</key>
                    <history>1w</history>
                    <ipmi_sensor>power</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}=0</expression>
                            <name>Power</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Processor Vcc</name>
                    <type>IPMI</type>
                    <key>processor_vcc</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>V</units>
                    <ipmi_sensor>Processor Vcc</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System Fan 3</name>
                    <type>IPMI</type>
                    <key>system_fan_3</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>RPM</units>
                    <ipmi_sensor>System Fan 3</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Fans</name>
                        </application>
                    </applications>
                </item>
            </items>
        </template>
        <template>
            <template>Template Server Intel SR1630 IPMI</template>
            <name>Template Server Intel SR1630 IPMI</name>
            <groups>
                <group>
                    <name>Templates/Server hardware</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
                <application>
                    <name>Voltage</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Baseboard Temp</name>
                    <type>IPMI</type>
                    <key>baseboard_temp</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>C</units>
                    <ipmi_sensor>Baseboard Temp</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Temperature</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;5 or {last(0)}&gt;90</expression>
                            <name>Baseboard Temp Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;10 or {last(0)}&gt;83</expression>
                            <name>Baseboard Temp Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>Baseboard Temp Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1630 IPMI:baseboard_temp.last(0)}&lt;5 or {Template Server Intel SR1630 IPMI:baseboard_temp.last(0)}&gt;90</expression>
                                </dependency>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>BB +1.05V PCH</name>
                    <type>IPMI</type>
                    <key>bb_1.05v_pch</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>V</units>
                    <ipmi_sensor>BB +1.05V PCH</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;0.953 or {last(0)}&gt;1.149</expression>
                            <name>BB +1.05V PCH Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;0.985 or {last(0)}&gt;1.117</expression>
                            <name>BB +1.05V PCH Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>BB +1.05V PCH Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1630 IPMI:bb_1.05v_pch.last(0)}&lt;0.953 or {Template Server Intel SR1630 IPMI:bb_1.05v_pch.last(0)}&gt;1.149</expression>
                                </dependency>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>BB +1.1V P1 Vccp</name>
                    <type>IPMI</type>
                    <key>bb_1.1v_p1_vccp</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>V</units>
                    <ipmi_sensor>BB +1.1V P1 Vccp</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;0.683 or {last(0)}&gt;1.543</expression>
                            <name>BB +1.1V P1 Vccp Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;0.708 or {last(0)}&gt;1.501</expression>
                            <name>BB +1.1V P1 Vccp Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>BB +1.1V P1 Vccp Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1630 IPMI:bb_1.1v_p1_vccp.last(0)}&lt;0.683 or {Template Server Intel SR1630 IPMI:bb_1.1v_p1_vccp.last(0)}&gt;1.543</expression>
                                </dependency>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>BB +1.5V P1 DDR3</name>
                    <type>IPMI</type>
                    <key>bb_1.5v_p1_ddr3</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>V</units>
                    <ipmi_sensor>BB +1.5V P1 DDR3</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;1.362 or {last(0)}&gt;1.635</expression>
                            <name>BB +1.5V P1 DDR3 Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;1.401 or {last(0)}&gt;1.589</expression>
                            <name>BB +1.5V P1 DDR3 Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>BB +1.5V P1 DDR3 Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1630 IPMI:bb_1.5v_p1_ddr3.last(0)}&lt;1.362 or {Template Server Intel SR1630 IPMI:bb_1.5v_p1_ddr3.last(0)}&gt;1.635</expression>
                                </dependency>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>BB +3.3V</name>
                    <type>IPMI</type>
                    <key>bb_3.3v</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>V</units>
                    <ipmi_sensor>BB +3.3V</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;2.982 or {last(0)}&gt;3.625</expression>
                            <name>BB +3.3V Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;3.067 or {last(0)}&gt;3.525</expression>
                            <name>BB +3.3V Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>BB +3.3V Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1630 IPMI:bb_3.3v.last(0)}&lt;2.982 or {Template Server Intel SR1630 IPMI:bb_3.3v.last(0)}&gt;3.625</expression>
                                </dependency>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>BB +3.3V STBY</name>
                    <type>IPMI</type>
                    <key>bb_3.3v_stby</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>V</units>
                    <ipmi_sensor>BB +3.3V STBY</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;2.982 or {last(0)}&gt;3.625</expression>
                            <name>BB +3.3V STBY Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;3.067 or {last(0)}&gt;3.525</expression>
                            <name>BB +3.3V STBY Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>BB +3.3V STBY Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1630 IPMI:bb_3.3v_stby.last(0)}&lt;2.982 or {Template Server Intel SR1630 IPMI:bb_3.3v_stby.last(0)}&gt;3.625</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>BB +5.0V</name>
                    <type>IPMI</type>
                    <key>bb_5.0v</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>V</units>
                    <ipmi_sensor>BB +5.0V</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;4.471 or {last(0)}&gt;5.538</expression>
                            <name>BB +5.0V Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;4.630 or {last(0)}&gt;5.380</expression>
                            <name>BB +5.0V Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>BB +5.0V Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1630 IPMI:bb_5.0v.last(0)}&lt;4.471 or {Template Server Intel SR1630 IPMI:bb_5.0v.last(0)}&gt;5.538</expression>
                                </dependency>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Front Panel Temp</name>
                    <type>IPMI</type>
                    <key>front_panel_temp</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>C</units>
                    <ipmi_sensor>Front Panel Temp</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Temperature</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;0 or {last(0)}&gt;48</expression>
                            <name>Front Panel Temp Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;5 or {last(0)}&gt;44</expression>
                            <name>Front Panel Temp Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>Front Panel Temp Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1630 IPMI:front_panel_temp.last(0)}&lt;0 or {Template Server Intel SR1630 IPMI:front_panel_temp.last(0)}&gt;48</expression>
                                </dependency>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Power</name>
                    <type>IPMI</type>
                    <key>power</key>
                    <history>1w</history>
                    <ipmi_sensor>power</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Voltage</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}=0</expression>
                            <name>Power</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System Fan 2</name>
                    <type>IPMI</type>
                    <key>system_fan_2</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>RPM</units>
                    <ipmi_sensor>System Fan 2</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Fans</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;324</expression>
                            <name>System Fan 2 Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;378</expression>
                            <name>System Fan 2 Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                                <dependency>
                                    <name>System Fan 2 Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1630 IPMI:system_fan_2.last(0)}&lt;324</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>System Fan 3</name>
                    <type>IPMI</type>
                    <key>system_fan_3</key>
                    <history>1w</history>
                    <value_type>FLOAT</value_type>
                    <units>RPM</units>
                    <ipmi_sensor>System Fan 3</ipmi_sensor>
                    <applications>
                        <application>
                            <name>Fans</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;324</expression>
                            <name>System Fan 3 Critical [{ITEM.VALUE}]</name>
                            <priority>DISASTER</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                        <trigger>
                            <expression>{last(0)}&lt;378</expression>
                            <name>System Fan 3 Non-Critical [{ITEM.VALUE}]</name>
                            <priority>HIGH</priority>
                            <dependencies>
                                <dependency>
                                    <name>Power</name>
                                    <expression>{Template Server Intel SR1630 IPMI:power.last(0)}=0</expression>
                                </dependency>
                                <dependency>
                                    <name>System Fan 3 Critical [{ITEM.VALUE}]</name>
                                    <expression>{Template Server Intel SR1630 IPMI:system_fan_3.last(0)}&lt;324</expression>
                                </dependency>
                            </dependencies>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
        <template>
            <template>Template Server Supermicro Aten SNMPv2</template>
            <name>Template Server Supermicro Aten SNMPv2</name>
            <description>Template Server Supermicro Aten&#13;
&#13;
MIBs used:&#13;
ATEN-IPMI-MIB&#13;
&#13;
Template tooling version used: 0.32</description>
            <templates>
                <template>
                    <name>Template Module Generic SNMPv2</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates/Server hardware</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Fans</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
            </applications>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.21317.1.3.1.2,{#SENSOR_DESCR},1.3.6.1.4.1.21317.1.3.1.13]</snmp_oid>
                    <key>fan.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>[1-9]+</value>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#SENSOR_DESCR}</macro>
                                <value>FAN.*</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning ATEN-IPMI-MIB::sensorTable with filter: not connected FAN sensors (Value = 0)</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_DESCR}: Fan speed, %</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.21317.1.3.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.fan.speed.percentage[sensorReading.{#SNMPINDEX}]</key>
                            <units>%</units>
                            <description>MIB: ATEN-IPMI-MIB&#13;
A textual string containing information about the interface.&#13;
This string should include the name of the manufacturer, the product name and the version of the interface hardware/software.</description>
                            <applications>
                                <application>
                                    <name>Fans</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Temperature Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},1.3.6.1.4.1.21317.1.3.1.2,{#SENSOR_DESCR},1.3.6.1.4.1.21317.1.3.1.13]</snmp_oid>
                    <key>tempDescr.discovery</key>
                    <delay>1h</delay>
                    <filter>
                        <evaltype>AND</evaltype>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>[1-9]+</value>
                                <formulaid>B</formulaid>
                            </condition>
                            <condition>
                                <macro>{#SENSOR_DESCR}</macro>
                                <value>.*Temp.*</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <description>Scanning ATEN-IPMI-MIB::sensorTable with filter: not connected temp sensors (Value = 0)</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>{#SENSOR_DESCR}: Temperature</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>1.3.6.1.4.1.21317.1.3.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>sensor.temp.value[sensorReading.{#SNMPINDEX}]</key>
                            <delay>3m</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>MIB: ATEN-IPMI-MIB&#13;
A textual string containing information about the interface.&#13;
This string should include the name of the manufacturer, the product name and the version of the interface hardware/software.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <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_DESCR}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>HIGH</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{avg(5m)}&gt;{$TEMP_WARN:&quot;&quot;}</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{max(5m)}&lt;{$TEMP_WARN:&quot;&quot;}-3</recovery_expression>
                                    <name>{#SENSOR_DESCR}: Temperature is above warning threshold: &gt;{$TEMP_WARN:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>WARNING</priority>
                                    <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
                                    <dependencies>
                                        <dependency>
                                            <name>{#SENSOR_DESCR}: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
                                            <expression>{Template Server Supermicro Aten SNMPv2:sensor.temp.value[sensorReading.{#SNMPINDEX}].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}</expression>
                                            <recovery_expression>{Template Server Supermicro Aten SNMPv2:sensor.temp.value[sensorReading.{#SNMPINDEX}].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
                                        </dependency>
                                    </dependencies>
                                </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_DESCR}: Temperature is too low: &lt;{$TEMP_CRIT_LOW:&quot;&quot;}</name>
                                    <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <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>
            </macros>
        </template>
        <template>
            <template>Template SNMPv3 AES - EN</template>
            <name>Template SNMPv3 AES - EN</name>
            <description>Template for LLD SNMPv3 Cisco network devices (switches and routers) with authentication and AES encryption.</description>
            <groups>
                <group>
                    <name>Templates</name>
                </group>
                <group>
                    <name>Templates/Network devices</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Interfaces</name>
                </application>
                <application>
                    <name>Monitoring</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Temperature</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>1.3.6.1.4.1.9.5.1.2.13</snmp_oid>
                    <key>1.3.6.1.4.1.9.5.1.2.13</key>
                    <delay>5m</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Monitoring</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;&gt;1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(0)}=1</recovery_expression>
                            <name>Temperature very high {HOST.NAME}</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Monitoring</name>
                    <type>EXTERNAL</type>
                    <key>getSnmpPrivAes.sh[&quot;{$SNMP_V3_AUTHPASSPHRASE}&quot;,&quot;{$SNMP_V3_SECURITYNAME}&quot;,&quot;{$SNMP_V3_PRIVPASSPHRASE}&quot;,&quot;{HOST.IP}&quot;]</key>
                    <delay>5m</delay>
                    <history>1w</history>
                    <trends>0</trends>
                    <status>DISABLED</status>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Monitoring</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Free memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>iso.3.6.1.4.1.9.2.1.8.0</snmp_oid>
                    <key>iso.3.6.1.4.1.9.2.1.8.0</key>
                    <delay>5m</delay>
                    <history>1w</history>
                    <applications>
                        <application>
                            <name>Monitoring</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&lt;1000000</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(0)}&gt;=1000000</recovery_expression>
                            <name>Memory high load {HOST.NAME}</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU average load (5 min)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>iso.3.6.1.4.1.9.2.1.58.0</snmp_oid>
                    <key>iso.3.6.1.4.1.9.2.1.58.0</key>
                    <delay>5m</delay>
                    <history>1w</history>
                    <units>%</units>
                    <applications>
                        <application>
                            <name>Monitoring</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last(0)}&gt;=80</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{last(0)}&lt;80</recovery_expression>
                            <name>CPU high load {HOST.NAME}</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>SNMPv3 search</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#IFDESCR},IF-MIB::ifDescr]</snmp_oid>
                    <key>ifDescr</key>
                    <delay>1h</delay>
                    <item_prototypes>
                        <item_prototype>
                            <name>Admin status of interface $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>IF-MIB::ifAdminStatus.{#SNMPINDEX}</snmp_oid>
                            <key>ifAdminStatus[{#IFDESCR}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>SNMP interface status (ifAdminStatus)</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>Alias of interface $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>IF-MIB::ifAlias.{#SNMPINDEX}</snmp_oid>
                            <key>ifAlias[{#IFDESCR}]</key>
                            <delay>1h</delay>
                            <history>1w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Description of interface $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>IF-MIB::ifDescr.{#SNMPINDEX}</snmp_oid>
                            <key>ifDescr[{#IFDESCR}]</key>
                            <delay>1h</delay>
                            <history>1w</history>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Inbound errors on interface $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>IF-MIB::ifInErrors.{#SNMPINDEX}</snmp_oid>
                            <key>ifInErrors[{#IFDESCR}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <units>%</units>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&gt;0</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last(0)}=0</recovery_expression>
                                    <name>Inbound errors {HOST.NAME} on interface {#IFDESCR}</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Incoming traffic on interafce $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>IF-MIB::ifInOctets.{#SNMPINDEX}</snmp_oid>
                            <key>ifInOctets[{#IFDESCR}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                        <item_prototype>
                            <name>Operational status of interface $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>IF-MIB::ifOperStatus.{#SNMPINDEX}</snmp_oid>
                            <key>ifOperStatus[{#IFDESCR}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>SNMP interface status (ifOperStatus)</name>
                            </valuemap>
                        </item_prototype>
                        <item_prototype>
                            <name>Outbound errors on interface $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>IF-MIB::ifOutErrors.{#SNMPINDEX}</snmp_oid>
                            <key>ifOutErrors[{#IFDESCR}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                            </preprocessing>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last(0)}&gt;0</expression>
                                    <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                                    <recovery_expression>{last(0)}=0</recovery_expression>
                                    <name>Outbound errors {HOST.NAME} on interface {#IFDESCR}</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Outgoing traffic on interface $1</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>IF-MIB::ifOutOctets.{#SNMPINDEX}</snmp_oid>
                            <key>ifOutOctets[{#IFDESCR}]</key>
                            <delay>5m</delay>
                            <history>1w</history>
                            <units>bps</units>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>CHANGE_PER_SECOND</type>
                                    <params/>
                                </step>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>8</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>Traffic of interface {#IFDESCR}</name>
                            <graph_items>
                                <graph_item>
                                    <color>00AA00</color>
                                    <item>
                                        <host>Template SNMPv3 AES - EN</host>
                                        <key>ifInOctets[{#IFDESCR}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>3333FF</color>
                                    <item>
                                        <host>Template SNMPv3 AES - EN</host>
                                        <key>ifOutOctets[{#IFDESCR}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>2</sortorder>
                                    <color>FF0000</color>
                                    <item>
                                        <host>Template SNMPv3 AES - EN</host>
                                        <key>ifInErrors[{#IFDESCR}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>3</sortorder>
                                    <color>FF8000</color>
                                    <item>
                                        <host>Template SNMPv3 AES - EN</host>
                                        <key>ifOutErrors[{#IFDESCR}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$SNMP_V3_AUTHPASSPHRASE}</macro>
                    <value>Type_You_AUTH_Pass_Here</value>
                </macro>
                <macro>
                    <macro>{$SNMP_V3_CONTEXTNAME}</macro>
                    <value>Type_You_SNMP_CNTX_Here</value>
                </macro>
                <macro>
                    <macro>{$SNMP_V3_PRIVPASSPHRASE}</macro>
                    <value>Type_You_PRIV_Pass_Here</value>
                </macro>
                <macro>
                    <macro>{$SNMP_V3_SECURITYNAME}</macro>
                    <value>Type_You_SNMP_User_Here</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template VM VMware</template>
            <name>Template VM VMware</name>
            <groups>
                <group>
                    <name>Templates/Virtualization</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Clusters</name>
                </application>
                <application>
                    <name>Datastore</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Log</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Event log</name>
                    <type>SIMPLE</type>
                    <key>vmware.eventlog[{$URL},skip]</key>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <applications>
                        <application>
                            <name>Log</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Full name</name>
                    <type>SIMPLE</type>
                    <key>vmware.fullname[{$URL}]</key>
                    <delay>1h</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Version</name>
                    <type>SIMPLE</type>
                    <key>vmware.version[{$URL}]</key>
                    <delay>1h</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Discover VMware clusters</name>
                    <type>SIMPLE</type>
                    <key>vmware.cluster.discovery[{$URL}]</key>
                    <delay>1h</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Discovery of clusters</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Status of &quot;{#CLUSTER.NAME}&quot; cluster</name>
                            <type>SIMPLE</type>
                            <key>vmware.cluster.status[{$URL},{#CLUSTER.NAME}]</key>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Clusters</name>
                                </application>
                            </applications>
                            <valuemap>
                                <name>VMware status</name>
                            </valuemap>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Discover VMware datastores</name>
                    <type>SIMPLE</type>
                    <key>vmware.datastore.discovery[{$URL}]</key>
                    <delay>1h</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <item_prototypes>
                        <item_prototype>
                            <name>Average read latency of the datastore {#DATASTORE}</name>
                            <type>SIMPLE</type>
                            <key>vmware.datastore.read[{$URL},{#DATASTORE},latency]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Datastore</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Free space on datastore {#DATASTORE} (percentage)</name>
                            <type>SIMPLE</type>
                            <key>vmware.datastore.size[{$URL},{#DATASTORE},pfree]</key>
                            <delay>{$VMWARE_PERF_INTERVAL:datastore}</delay>
                            <units>%</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Datastore</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Total size of datastore {#DATASTORE}</name>
                            <type>SIMPLE</type>
                            <key>vmware.datastore.size[{$URL},{#DATASTORE}]</key>
                            <delay>{$VMWARE_PERF_INTERVAL:datastore}</delay>
                            <units>B</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Datastore</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Average write latency of the datastore {#DATASTORE}</name>
                            <type>SIMPLE</type>
                            <key>vmware.datastore.write[{$URL},{#DATASTORE},latency]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Datastore</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Discover VMware hypervisors</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.discovery[{$URL}]</key>
                    <delay>1h</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Discovery of hypervisors.</description>
                    <host_prototypes>
                        <host_prototype>
                            <host>{#HV.UUID}</host>
                            <name>{#HV.NAME}</name>
                            <group_links>
                                <group_link>
                                    <group>
                                        <name>Hypervisors</name>
                                    </group>
                                </group_link>
                            </group_links>
                            <group_prototypes>
                                <group_prototype>
                                    <name>{#CLUSTER.NAME}</name>
                                </group_prototype>
                                <group_prototype>
                                    <name>{#DATACENTER.NAME}</name>
                                </group_prototype>
                            </group_prototypes>
                            <templates>
                                <template>
                                    <name>Template VM VMware Hypervisor</name>
                                </template>
                            </templates>
                        </host_prototype>
                    </host_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Discover VMware VMs</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.discovery[{$URL}]</key>
                    <delay>1h</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Discovery of guest virtual machines.</description>
                    <host_prototypes>
                        <host_prototype>
                            <host>{#VM.UUID}</host>
                            <name>{#VM.NAME}</name>
                            <group_links>
                                <group_link>
                                    <group>
                                        <name>Virtual machines</name>
                                    </group>
                                </group_link>
                            </group_links>
                            <group_prototypes>
                                <group_prototype>
                                    <name>{#CLUSTER.NAME} (vm)</name>
                                </group_prototype>
                                <group_prototype>
                                    <name>{#DATACENTER.NAME} (vm)</name>
                                </group_prototype>
                                <group_prototype>
                                    <name>{#HV.NAME}</name>
                                </group_prototype>
                            </group_prototypes>
                            <templates>
                                <template>
                                    <name>Template VM VMware Guest</name>
                                </template>
                            </templates>
                        </host_prototype>
                    </host_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VMWARE_PERF_INTERVAL}</macro>
                    <value>1m</value>
                </macro>
                <macro>
                    <macro>{$VMWARE_PERF_INTERVAL:datastore}</macro>
                    <value>5m</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template VM VMware Guest</template>
            <name>Template VM VMware Guest</name>
            <groups>
                <group>
                    <name>Templates/Virtualization</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Disks</name>
                </application>
                <application>
                    <name>Filesystems</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Interfaces</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Network</name>
                </application>
                <application>
                    <name>Storage</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Cluster name</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.cluster.name[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Cluster name of the guest VM.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of virtual CPUs</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.cpu.num[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Number of virtual CPUs assigned to the guest.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU ready</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.cpu.ready[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_PERF_INTERVAL}</delay>
                    <units>ms</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Time that the virtual machine was ready, but could not get scheduled to run on the physical CPU during last measurement interval (VMware vCenter/ESXi Server performance counter sampling interval - 20 seconds)</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU usage</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.cpu.usage[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>Hz</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Current upper-bound on CPU usage. The upper-bound is based on the host the virtual machine is current running on, as well as limits configured on the virtual machine itself or any parent resource pool. Valid while the virtual machine is running.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Datacenter name</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.datacenter.name[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Datacenter name of the guest VM.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Hypervisor name</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.hv.name[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Hypervisor name of the guest VM.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Ballooned memory</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.memory.size.ballooned[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The amount of guest physical memory that is currently reclaimed through the balloon driver.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Compressed memory</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.memory.size.compressed[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The amount of memory currently in the compression cache for this VM.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Private memory</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.memory.size.private[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Amount of memory backed by host memory and not being shared.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Shared memory</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.memory.size.shared[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The amount of guest physical memory shared through transparent page sharing.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Swapped memory</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.memory.size.swapped[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The amount of guest physical memory swapped out to the VM's swap device by ESX.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Guest memory usage</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.memory.size.usage.guest[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The amount of guest physical memory that is being used by the VM.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Host memory usage</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.memory.size.usage.host[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The amount of host physical memory allocated to the VM, accounting for saving from memory sharing with other VMs.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Memory size</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.memory.size[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Total size of configured memory.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Power state</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.powerstate[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The current power state of the virtual machine.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>VMware VirtualMachinePowerState</name>
                    </valuemap>
                </item>
                <item>
                    <name>Committed storage space</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.storage.committed[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Total storage space, in bytes, committed to this virtual machine across all datastores.</description>
                    <applications>
                        <application>
                            <name>Storage</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Uncommitted storage space</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.storage.uncommitted[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Additional storage space, in bytes, potentially used by this virtual machine on all datastores.</description>
                    <applications>
                        <application>
                            <name>Storage</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Unshared storage space</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.storage.unshared[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Total storage space, in bytes, occupied by the virtual machine across all datastores, that is not shared with any other virtual machine.</description>
                    <applications>
                        <application>
                            <name>Storage</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Uptime</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.uptime[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>uptime</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>System uptime.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Network device discovery</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.net.if.discovery[{$URL},{HOST.HOST}]</key>
                    <delay>1h</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Discovery of all network devices.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Number of bytes received on interface {#IFDESC}</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.net.if.in[{$URL},{HOST.HOST},{#IFNAME},bps]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <units>Bps</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Number of packets received on interface {#IFDESC}</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.net.if.in[{$URL},{HOST.HOST},{#IFNAME},pps]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Number of bytes transmitted on interface {#IFDESC}</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.net.if.out[{$URL},{HOST.HOST},{#IFNAME},bps]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <units>Bps</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Number of packets transmitted on interface {#IFDESC}</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.net.if.out[{$URL},{HOST.HOST},{#IFNAME},pps]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Interfaces</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Disk device discovery</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.vfs.dev.discovery[{$URL},{HOST.HOST}]</key>
                    <delay>1h</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Discovery of all disk devices.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Average number of bytes read from the disk {#DISKDESC}</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.vfs.dev.read[{$URL},{HOST.HOST},{#DISKNAME},bps]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <units>Bps</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Average number of reads from the disk {#DISKDESC}</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.vfs.dev.read[{$URL},{HOST.HOST},{#DISKNAME},ops]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Average number of bytes written to the disk {#DISKDESC}</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.vfs.dev.write[{$URL},{HOST.HOST},{#DISKNAME},bps]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <units>Bps</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Average number of writes to the disk {#DISKDESC}</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.vfs.dev.write[{$URL},{HOST.HOST},{#DISKNAME},ops]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Disks</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Mounted filesystem discovery</name>
                    <type>SIMPLE</type>
                    <key>vmware.vm.vfs.fs.discovery[{$URL},{HOST.HOST}]</key>
                    <delay>1h</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Discovery of all guest file systems.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME}</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.vfs.fs.size[{$URL},{HOST.HOST},{#FSNAME},free]</key>
                            <delay>{$VMWARE_INTERVAL}</delay>
                            <units>B</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Free disk space on {#FSNAME} (percentage)</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.vfs.fs.size[{$URL},{HOST.HOST},{#FSNAME},pfree]</key>
                            <delay>{$VMWARE_INTERVAL}</delay>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Total disk space on {#FSNAME}</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.vfs.fs.size[{$URL},{HOST.HOST},{#FSNAME},total]</key>
                            <delay>{$VMWARE_INTERVAL:conf}</delay>
                            <units>B</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Used disk space on {#FSNAME}</name>
                            <type>SIMPLE</type>
                            <key>vmware.vm.vfs.fs.size[{$URL},{HOST.HOST},{#FSNAME},used]</key>
                            <delay>{$VMWARE_INTERVAL}</delay>
                            <units>B</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Filesystems</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VMWARE_INTERVAL}</macro>
                    <value>1m</value>
                </macro>
                <macro>
                    <macro>{$VMWARE_INTERVAL:conf}</macro>
                    <value>1h</value>
                </macro>
                <macro>
                    <macro>{$VMWARE_PERF_INTERVAL}</macro>
                    <value>1m</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template VM VMware Hypervisor</template>
            <name>Template VM VMware Hypervisor</name>
            <groups>
                <group>
                    <name>Templates/Virtualization</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Datastore</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Hardware</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Network</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Cluster name</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.cluster.name[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Cluster name of the guest VM.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU usage</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.cpu.usage[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>Hz</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Aggregated CPU usage across all cores on the host in Hz. This is only available if the host is connected.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Datacenter name</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.datacenter.name[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Datacenter name of the hypervisor.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Full name</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.fullname[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The complete product name, including the version information.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU frequency</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.hw.cpu.freq[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <units>Hz</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The speed of the CPU cores. This is an average value if there are multiple speeds. The product of CPU frequency and number of cores is approximately equal to the sum of the MHz for all the individual cores on the host.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Hardware</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU model</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.hw.cpu.model[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The CPU model.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Hardware</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU cores</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.hw.cpu.num[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Number of physical CPU cores on the host. Physical CPU cores are the processors contained by a CPU package.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Hardware</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>CPU threads</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.hw.cpu.threads[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Number of physical CPU threads on the host.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                        <application>
                            <name>Hardware</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Total memory</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.hw.memory[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The physical memory size.</description>
                    <applications>
                        <application>
                            <name>Hardware</name>
                        </application>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Model</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.hw.model[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The system model identification.</description>
                    <applications>
                        <application>
                            <name>Hardware</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Bios UUID</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.hw.uuid[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The hardware BIOS identification.</description>
                    <applications>
                        <application>
                            <name>Hardware</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Vendor</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.hw.vendor[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The hardware vendor identification.</description>
                    <applications>
                        <application>
                            <name>Hardware</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Ballooned memory</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.memory.size.ballooned[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The amount of guest physical memory that is currently reclaimed through the balloon driver. Sum of all guest VMs.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Used memory</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.memory.used[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <units>B</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Physical memory usage on the host.</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of bytes received</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.network.in[{$URL},{HOST.HOST},bps]</key>
                    <delay>{$VMWARE_PERF_INTERVAL}</delay>
                    <units>Bps</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <applications>
                        <application>
                            <name>Network</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of bytes transmitted</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.network.out[{$URL},{HOST.HOST},bps]</key>
                    <delay>{$VMWARE_PERF_INTERVAL}</delay>
                    <units>Bps</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <applications>
                        <application>
                            <name>Network</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Health state rollup</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.sensor.health.state[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The host health state rollup sensor value: gray - unknown, ok, red - it has a problem, yellow - it might have a problem.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>VMware status</name>
                    </valuemap>
                </item>
                <item>
                    <name>Overall status</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.status[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL}</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>The overall alarm status of the host: gray - unknown, ok, red - it has a problem, yellow - it might have a problem.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>VMware status</name>
                    </valuemap>
                </item>
                <item>
                    <name>Uptime</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.uptime[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <units>uptime</units>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>System uptime.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Version</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.version[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Dot-separated version string.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Number of guest VMs</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.vm.num[{$URL},{HOST.HOST}]</key>
                    <delay>{$VMWARE_INTERVAL:conf}</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <description>Number of guest virtual machines.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Datastore discovery</name>
                    <type>SIMPLE</type>
                    <key>vmware.hv.datastore.discovery[{$URL},{HOST.HOST}]</key>
                    <delay>1h</delay>
                    <username>{$USERNAME}</username>
                    <password>{$PASSWORD}</password>
                    <item_prototypes>
                        <item_prototype>
                            <name>Average read latency of the datastore {#DATASTORE}</name>
                            <type>SIMPLE</type>
                            <key>vmware.hv.datastore.read[{$URL},{HOST.HOST},{#DATASTORE},latency]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Datastore</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Free space on datastore {#DATASTORE} (percentage)</name>
                            <type>SIMPLE</type>
                            <key>vmware.hv.datastore.size[{$URL},{HOST.HOST},{#DATASTORE},pfree]</key>
                            <delay>{$VMWARE_PERF_INTERVAL:datastore}</delay>
                            <value_type>FLOAT</value_type>
                            <units>%</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Datastore</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Total size of datastore {#DATASTORE}</name>
                            <type>SIMPLE</type>
                            <key>vmware.hv.datastore.size[{$URL},{HOST.HOST},{#DATASTORE}]</key>
                            <delay>{$VMWARE_PERF_INTERVAL:datastore}</delay>
                            <units>B</units>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Datastore</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Average write latency of the datastore {#DATASTORE}</name>
                            <type>SIMPLE</type>
                            <key>vmware.hv.datastore.write[{$URL},{HOST.HOST},{#DATASTORE},latency]</key>
                            <delay>{$VMWARE_PERF_INTERVAL}</delay>
                            <username>{$USERNAME}</username>
                            <password>{$PASSWORD}</password>
                            <applications>
                                <application>
                                    <name>Datastore</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
            <macros>
                <macro>
                    <macro>{$VMWARE_INTERVAL}</macro>
                    <value>1m</value>
                </macro>
                <macro>
                    <macro>{$VMWARE_INTERVAL:conf}</macro>
                    <value>1h</value>
                </macro>
                <macro>
                    <macro>{$VMWARE_PERF_INTERVAL}</macro>
                    <value>1m</value>
                </macro>
                <macro>
                    <macro>{$VMWARE_PERF_INTERVAL:datastore}</macro>
                    <value>5m</value>
                </macro>
            </macros>
        </template>
        <template>
            <template>Template_A10_AX_Series</template>
            <name>Template_A10_AX_Series</name>
            <groups>
                <group>
                    <name>Templates/Network devices</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>Disk</name>
                </application>
                <application>
                    <name>FAN</name>
                </application>
                <application>
                    <name>General</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Power Supplies</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
                <application>
                    <name>Voltage</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Control CPU Usage (5 sec)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.3.4.0</snmp_oid>
                    <key>axSysAverageControlCpuUsage</key>
                    <delay>60</delay>
                    <units>%</units>
                    <description>A10-AX-MIB::axSysAverageControlCpuUsage&#13;
&#13;
The average control CPU usage in last 5 seconds.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;90</expression>
                            <name>High Control CPU Usage [{ITEM.LASTVALUE1}]</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>CPU Usage (5 sec)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.3.3.0</snmp_oid>
                    <key>axSysAverageCpuUsage</key>
                    <delay>60</delay>
                    <units>%</units>
                    <description>A10-AX-MIB::axSysAverageCpuUsage&#13;
&#13;
The average CPU usage in last 5 seconds.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;90</expression>
                            <name>High CPU Usage [{ITEM.LASTVALUE1}]</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Data CPU Usage (5 sec)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.3.5.0</snmp_oid>
                    <key>axSysAverageDataCpuUsage</key>
                    <delay>60</delay>
                    <units>%</units>
                    <description>A10-AX-MIB::axSysAverageDataCpuUsage&#13;
&#13;
The average data CPU usage  in last 5 seconds.</description>
                    <applications>
                        <application>
                            <name>CPU</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{min(5m)}&gt;90</expression>
                            <name>High Data CPU Usage [{ITEM.LASTVALUE1}]</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Free Disk Space</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.4.2.0</snmp_oid>
                    <key>axSysDiskFreeSpace</key>
                    <delay>300</delay>
                    <units>B</units>
                    <description>A10-AX-MIB::axSysDiskFreeSpace&#13;
&#13;
The free space of the disk in MB.</description>
                    <applications>
                        <application>
                            <name>Disk</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1048576</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Total Disk Space</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.4.1.0</snmp_oid>
                    <key>axSysDiskTotalSpace</key>
                    <delay>3600</delay>
                    <units>B</units>
                    <description>A10-AX-MIB::axSysDiskTotalSpace&#13;
&#13;
The total space of the disk in MB.</description>
                    <applications>
                        <application>
                            <name>Disk</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1048576</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Firmware Version</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.6.3.0</snmp_oid>
                    <key>axSysFirmwareVersion</key>
                    <delay>86400</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>A10-AX-MIB::axSysFirmwareVersion&#13;
&#13;
The system firmware version.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Speed of FAN #1</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.5.2.0</snmp_oid>
                    <key>axSysHwFan1Speed</key>
                    <delay>300</delay>
                    <units>RPM</units>
                    <description>A10-AX-MIB::axSysHwFan1Speed&#13;
&#13;
The fan1's speed.</description>
                    <applications>
                        <application>
                            <name>FAN</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Speed of FAN #2</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.5.3.0</snmp_oid>
                    <key>axSysHwFan2Speed</key>
                    <delay>300</delay>
                    <units>RPM</units>
                    <description>A10-AX-MIB::axSysHwFan2Speed&#13;
&#13;
The fan2's speed.</description>
                    <applications>
                        <application>
                            <name>FAN</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Speed of FAN #3</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.5.4.0</snmp_oid>
                    <key>axSysHwFan3Speed</key>
                    <delay>300</delay>
                    <units>RPM</units>
                    <description>A10-AX-MIB::axSysHwFan3Speed&#13;
&#13;
The fan3's speed</description>
                    <applications>
                        <application>
                            <name>FAN</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>System Temperature</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.5.1.0</snmp_oid>
                    <key>axSysHwPhySystemTemp</key>
                    <delay>60</delay>
                    <units>°C</units>
                    <description>A10-AX-MIB::axSysHwPhySystemTemp&#13;
&#13;
The physical system temperature in Celsius.</description>
                    <applications>
                        <application>
                            <name>Temperature</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Status of Left or Lower Power Supply</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.5.7.0</snmp_oid>
                    <key>axSysLowerOrLeftPowerSupplyStatus</key>
                    <delay>60</delay>
                    <description>A10-AX-MIB::axSysLowerOrLeftPowerSupplyStatus&#13;
&#13;
The lower/left power supply status.</description>
                    <applications>
                        <application>
                            <name>Power Supplies</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>Lower/Left Power Supply is off</name>
                            <priority>AVERAGE</priority>
                            <type>MULTIPLE</type>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Total memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.2.1.0</snmp_oid>
                    <key>axSysMemoryTotal</key>
                    <delay>3600</delay>
                    <units>B</units>
                    <description>A10-AX-MIB::axSysMemoryTotal&#13;
&#13;
The total memory(KB).</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Used memory</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.2.2.0</snmp_oid>
                    <key>axSysMemoryUsage</key>
                    <delay>300</delay>
                    <units>B</units>
                    <description>A10-AX-MIB::axSysMemoryUsage&#13;
&#13;
The usage memory(KB).</description>
                    <applications>
                        <application>
                            <name>Memory</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>MULTIPLIER</type>
                            <params>1024</params>
                        </step>
                    </preprocessing>
                </item>
                <item>
                    <name>Serial Number</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.6.2.0</snmp_oid>
                    <key>axSysSerialNumber</key>
                    <delay>86400</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>A10-AX-MIB::axSysSerialNumber&#13;
&#13;
The system serial number.</description>
                    <applications>
                        <application>
                            <name>General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Status of Right or Upper Power Supply</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.5.8.0</snmp_oid>
                    <key>axSysUpperOrRightPowerSupplyStatus</key>
                    <delay>60</delay>
                    <description>A10-AX-MIB::axSysUpperOrRightPowerSupplyStatus&#13;
&#13;
The upper/right power supply status.</description>
                    <applications>
                        <application>
                            <name>Power Supplies</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}=0</expression>
                            <name>Upper/Right Power Supply is off</name>
                            <priority>AVERAGE</priority>
                            <type>MULTIPLE</type>
                        </trigger>
                    </triggers>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>FAN Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.4.1.22610.2.4.1.5.9.1.2]</snmp_oid>
                    <key>axFanName</key>
                    <delay>300</delay>
                    <description>A10-AX-MIB::axFanName&#13;
&#13;
The system fan name.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Speed of FAN &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.5.9.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>axFanSpeed[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>300</delay>
                            <units>RPM</units>
                            <description>A10-AX-MIB::axFanSpeed&#13;
&#13;
The fan speed.</description>
                            <applications>
                                <application>
                                    <name>FAN</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Status of &quot;$1&quot; FAN</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.5.9.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>axFanStatus[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>60</delay>
                            <value_type>FLOAT</value_type>
                            <description>A10-AX-MIB::axFanStatus&#13;
&#13;
Fan status: &#13;
0: Failed,&#13;
4: OK-fixed/high,&#13;
5: OK-low/med,&#13;
6: OK-med/med,&#13;
7: OK-med/high, &#13;
-2: not ready,&#13;
-1: unknown.</description>
                            <applications>
                                <application>
                                    <name>FAN</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=0</expression>
                                    <name>FAN &quot;{#SNMPVALUE}&quot; is failed</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Power Supply Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.4.1.22610.2.4.1.5.12.1.2]</snmp_oid>
                    <key>axPowerSupplyName</key>
                    <delay>300</delay>
                    <description>A10-AX-MIB::axPowerSupplyName&#13;
&#13;
The pwer supply name.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Status of Power Supply &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.5.12.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>axPowerSupplyStatus[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>30</delay>
                            <status>DISABLED</status>
                            <value_type>FLOAT</value_type>
                            <description>A10-AX-MIB::axPowerSupplyStatus&#13;
&#13;
The power supply status.</description>
                            <applications>
                                <application>
                                    <name>Power Supplies</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>Power Supply &quot;{#SNMPVALUE}&quot; is absent</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=0</expression>
                                    <name>Power Supply &quot;{#SNMPVALUE}&quot; is off</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Power Supply Voltage Discovery</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.4.1.22610.2.4.1.5.11.1.3]</snmp_oid>
                    <key>axPowerSupplyVoltageDescription</key>
                    <delay>300</delay>
                    <description>A10-AX-MIB::axPowerSupplyVoltageDescription&#13;
&#13;
The description of the system power supply voltage.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Status of Power Supply Voltage &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.22610.2.4.1.5.11.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>axPowerSupplyVoltageStatus[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>60</delay>
                            <description>A10-AX-MIB::axPowerSupplyVoltageStatus&#13;
&#13;
The status of the indexed system power supply voltage.&#13;
This is only supported for the platform where the sensor data is available.</description>
                            <applications>
                                <application>
                                    <name>Voltage</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=0</expression>
                                    <name>Power Supply Voltage &quot;{#SNMPVALUE}&quot; is invalid</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
        </template>
        <template>
            <template>Template_App_Symantec_Endpoint_Protection_Client_Windows</template>
            <name>Template App Symantec Endpoint Protection Client - Windows</name>
            <groups>
                <group>
                    <name>Templates</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Symantec Endpoint Protection - General</name>
                </application>
                <application>
                    <name>Symantec Endpoint Protection - Services</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Quarantine Size</name>
                    <key>FileCount[&quot;C:/ProgramData/Symantec/Symantec Endpoint Protection/CurrentVersion/Data/Quarantine&quot;]</key>
                    <delay>30</delay>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&gt;0</expression>
                            <name>Symantec has items in Quarantine</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Symantec Endpoint Protection</name>
                    <key>service_state[SepMasterService]</key>
                    <delay>60</delay>
                    <description>Provides malware and threat protection for Symantec Endpoint Protection</description>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - Services</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Windows service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{last()}=4</expression>
                            <name>Symantec Endpoint Protection Service - Continue Pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>Symantec Endpoint Protection Service - Paused</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=3</expression>
                            <name>Symantec Endpoint Protection Service - Pause Pending</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=2</expression>
                            <name>Symantec Endpoint Protection Service - Start Pending</name>
                            <priority>INFO</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=6</expression>
                            <name>Symantec Endpoint Protection Service - Stopped</name>
                            <priority>HIGH</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=5</expression>
                            <name>Symantec Endpoint Protection Service - Stop Pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=7</expression>
                            <name>Symantec Endpoint Protection Service - Unknown</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Symantec Network Access Control</name>
                    <key>service_state[SNAC]</key>
                    <delay>60</delay>
                    <description>Checks that the computer complies with the defined security policy and communicates with the Symantec Enforcers to allow your computer to access the corporate network.</description>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - Services</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Windows service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{last()}=4</expression>
                            <name>Symantec Network Access Control Service - Continue Pending</name>
                            <status>DISABLED</status>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>Symantec Network Access Control Service - Paused</name>
                            <status>DISABLED</status>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=3</expression>
                            <name>Symantec Network Access Control Service - Pause Pending</name>
                            <status>DISABLED</status>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=2</expression>
                            <name>Symantec Network Access Control Service - Start Pending</name>
                            <status>DISABLED</status>
                            <priority>INFO</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=6</expression>
                            <name>Symantec Network Access Control Service - Stopped</name>
                            <status>DISABLED</status>
                            <priority>HIGH</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=5</expression>
                            <name>Symantec Network Access Control Service - Stop Pending</name>
                            <status>DISABLED</status>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=7</expression>
                            <name>Symantec Network Access Control Service - Unknown</name>
                            <status>DISABLED</status>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>SCD Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\ccSubSDK_SCD_Defs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>EFA Signatures Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\EfaVTDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Revocation List Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\IronRevocationDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Reputation Settings Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\IronSettingsDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Whitelist Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\IronWhitelistDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Power Eraser Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\SMRDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Portal List Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\SRTSPSettingsDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Virus &amp; Spyware Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\VirusDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
            </items>
        </template>
        <template>
            <template>Template_App_Symantec_Endpoint_Protection_Server_Windows</template>
            <name>Template App Symantec Endpoint Protection Server - Windows</name>
            <groups>
                <group>
                    <name>Templates</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Symantec Endpoint Protection - General</name>
                </application>
                <application>
                    <name>Symantec Endpoint Protection - Services</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Quarantine Size</name>
                    <key>FileCount[&quot;C:/ProgramData/Symantec/Symantec Endpoint Protection/CurrentVersion/Data/Quarantine&quot;]</key>
                    <delay>30</delay>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{last()}&gt;0</expression>
                            <name>Symantec has items in Quarantine</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Symantec Endpoint Protection Launcher</name>
                    <key>service_state[semlaunchsrv]</key>
                    <delay>60</delay>
                    <description>Launch service which can invoke special processes for Symantec Endpoint Protection Manager.</description>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - Services</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Windows service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{last()}=4</expression>
                            <name>Symantec Endpoint Protection Launcher Service - Continue Pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>Symantec Endpoint Protection Launcher Service - Paused</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=3</expression>
                            <name>Symantec Endpoint Protection Launcher Service - Pause Pending</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=2</expression>
                            <name>Symantec Endpoint Protection Launcher Service - Start Pending</name>
                            <priority>INFO</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=6</expression>
                            <name>Symantec Endpoint Protection Launcher Service - Stopped</name>
                            <priority>HIGH</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=5</expression>
                            <name>Symantec Endpoint Protection Launcher Service - Stop Pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=7</expression>
                            <name>Symantec Endpoint Protection Launcher Service - Unknown</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Symantec Endpoint Protection Manager</name>
                    <key>service_state[semsrv]</key>
                    <delay>60</delay>
                    <description>Application server which communicates with Symantec Endpoint Protection Manager, Symantec Protection clients, and a database.</description>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - Services</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Windows service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{last()}=4</expression>
                            <name>Symantec Endpoint Protection Manager Service - Continue Pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>Symantec Endpoint Protection Manager Service - Paused</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=3</expression>
                            <name>Symantec Endpoint Protection Manager Service - Pause Pending</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=2</expression>
                            <name>Symantec Endpoint Protection Manager Service - Start Pending</name>
                            <priority>INFO</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=6</expression>
                            <name>Symantec Endpoint Protection Manager Service - Stopped</name>
                            <priority>HIGH</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=5</expression>
                            <name>Symantec Endpoint Protection Manager Service - Stop Pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=7</expression>
                            <name>Symantec Endpoint Protection Manager Service - Unknown</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Symantec Endpoint Protection Manager Webserver</name>
                    <key>service_state[semwebsrv]</key>
                    <delay>60</delay>
                    <description>Web server which communicates with Symantec Endpoint Protection Manager, Symantec Endpoint Protection clients, and a database.</description>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - Services</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Windows service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{last()}=4</expression>
                            <name>Symantec Endpoint Protection Manager Webserver Service - Continue Pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>Symantec Endpoint Protection Manager Webserver Service - Paused</name>
                            <priority>INFO</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=3</expression>
                            <name>Symantec Endpoint Protection Manager Webserver Service - Pause Pending</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=2</expression>
                            <name>Symantec Endpoint Protection Manager Webserver Service - Start Pending</name>
                            <priority>INFO</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=6</expression>
                            <name>Symantec Endpoint Protection Manager Webserver Service - Stopped</name>
                            <priority>HIGH</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=5</expression>
                            <name>Symantec Endpoint Protection Manager Webserver Service - Stop Pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=7</expression>
                            <name>Symantec Endpoint Protection Manager Webserver Service - Unknown</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Symantec Endpoint Protection</name>
                    <key>service_state[SepMasterService]</key>
                    <delay>60</delay>
                    <description>Provides malware and threat protection for Symantec Endpoint Protection</description>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - Services</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Windows service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{last()}=4</expression>
                            <name>Symantec Endpoint Protection Service - Continue Pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>Symantec Endpoint Protection Service - Paused</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=3</expression>
                            <name>Symantec Endpoint Protection Service - Pause Pending</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=2</expression>
                            <name>Symantec Endpoint Protection Service - Start Pending</name>
                            <priority>INFO</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=6</expression>
                            <name>Symantec Endpoint Protection Service - Stopped</name>
                            <priority>HIGH</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=5</expression>
                            <name>Symantec Endpoint Protection Service - Stop Pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=7</expression>
                            <name>Symantec Endpoint Protection Service - Unknown</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Symantec Network Access Control</name>
                    <key>service_state[SNAC]</key>
                    <delay>60</delay>
                    <description>Checks that the computer complies with the defined security policy and communicates with the Symantec Enforcers to allow your computer to access the corporate network.</description>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - Services</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Windows service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{last()}=4</expression>
                            <name>Symantec Network Access Control Service - Continue Pending</name>
                            <status>DISABLED</status>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>Symantec Network Access Control Service - Paused</name>
                            <status>DISABLED</status>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=3</expression>
                            <name>Symantec Network Access Control Service - Pause Pending</name>
                            <status>DISABLED</status>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=2</expression>
                            <name>Symantec Network Access Control Service - Start Pending</name>
                            <status>DISABLED</status>
                            <priority>INFO</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=6</expression>
                            <name>Symantec Network Access Control Service - Stopped</name>
                            <status>DISABLED</status>
                            <priority>HIGH</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=5</expression>
                            <name>Symantec Network Access Control Service - Stop Pending</name>
                            <status>DISABLED</status>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=7</expression>
                            <name>Symantec Network Access Control Service - Unknown</name>
                            <status>DISABLED</status>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Symantec Embedded Database</name>
                    <key>service_state[SQLANYs_sem5]</key>
                    <delay>60</delay>
                    <description>Embedded database used by Symantec Endpoint Protection Manager.</description>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - Services</name>
                        </application>
                    </applications>
                    <valuemap>
                        <name>Windows service state</name>
                    </valuemap>
                    <triggers>
                        <trigger>
                            <expression>{last()}=4</expression>
                            <name>Symantec Embedded Database Service - Continue pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=1</expression>
                            <name>Symantec Embedded Database Service - Paused</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=3</expression>
                            <name>Symantec Embedded Database Service - Pause pending</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=2</expression>
                            <name>Symantec Embedded Database Service - Start pending</name>
                            <priority>INFO</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=6</expression>
                            <name>Symantec Embedded Database Service - Stopped</name>
                            <priority>HIGH</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=5</expression>
                            <name>Symantec Embedded Database Service - Stop Pending</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                        <trigger>
                            <expression>{last()}=7</expression>
                            <name>Symantec Embedded Database Service - Unknown</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>SCD Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\ccSubSDK_SCD_Defs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>EFA Signatures Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\EfaVTDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Revocation List Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\IronRevocationDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Reputation Settings Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\IronSettingsDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Whitelist Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\IronWhitelistDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Power Eraser Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\SMRDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Portal List Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\SRTSPSettingsDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Virus &amp; Spyware Definitions Version</name>
                    <key>vfs.file.regexp[&quot;C:\ProgramData\Symantec\Symantec Endpoint Protection\CurrentVersion\Data\Definitions\VirusDefs\definfo.dat&quot;,&quot;([0-9]{8})&quot;,,,,\1]</key>
                    <delay>43200</delay>
                    <history>7d</history>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Symantec Endpoint Protection - General</name>
                        </application>
                    </applications>
                </item>
            </items>
        </template>
        <template>
            <template>Template_Cisco_ASR_1006</template>
            <name>Template_Cisco_ASR_1006</name>
            <templates>
                <template>
                    <name>Template Cisco General</name>
                </template>
                <template>
                    <name>Template_Cisco_Traps</name>
                </template>
            </templates>
            <groups>
                <group>
                    <name>Templates SNMP Devices</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Amperage Sensors</name>
                </application>
                <application>
                    <name>CPU</name>
                </application>
                <application>
                    <name>FAN Sensors</name>
                </application>
                <application>
                    <name>Fan Trays</name>
                </application>
                <application>
                    <name>Flash Devices</name>
                </application>
                <application>
                    <name>Memory</name>
                </application>
                <application>
                    <name>Modules</name>
                </application>
                <application>
                    <name>Optic Power Sensors</name>
                </application>
                <application>
                    <name>Power Supplies</name>
                </application>
                <application>
                    <name>Temperature</name>
                </application>
                <application>
                    <name>Voltage</name>
                </application>
                <application>
                    <name>Voltage Sensors</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>snmptrap (IF Down)</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[.1.3.6.1.6.3.1.1.5.3]</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                </item>
                <item>
                    <name>snmptrap (IF Up)</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[.1.3.6.1.6.3.1.1.5.4]</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                </item>
                <item>
                    <name>snmptrap (OSPF Neighbor Up/Down)</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[1.3.6.1.2.1.14.16.2.2]</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                </item>
                <item>
                    <name>snmptrap (BGP Neighbor Up/Down)</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[1.3.6.1.2.1.15.3.1.2|1.3.6.1.4.1.9.9.187.1.2.5.1.3]</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                </item>
            </items>
            <discovery_rules>
                <discovery_rule>
                    <name>Flash Devices</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.4.1.9.9.10.1.1.2.1.8]</snmp_oid>
                    <key>ciscoFlashDeviceDescr</key>
                    <delay>300</delay>
                    <lifetime>0</lifetime>
                    <description>CISCO-FLASH-MIB::ciscoFlashDeviceDescr&#13;
&#13;
Description of a Flash device. The description is meant to explain what the Flash device and its purpose is. Current values are:&#13;
System flash - for the primary Flash used to store full system images.&#13;
Boot flash - for the secondary Flash used to store bootstrap images.&#13;
&#13;
The device description will always be available for a removable device, even when the device has been removed.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Size of Flash Device &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.10.1.1.2.1.16.{#SNMPINDEX}</snmp_oid>
                            <key>ciscoFlashDeviceSizeExtended[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>3600</delay>
                            <units>B</units>
                            <description>CISCO-FLASH-MIB::ciscoFlashDeviceSizeExtended&#13;
&#13;
Total size of the Flash device. For a removable device, the size will be zero if the device has been removed.&#13;
This object is a 64-bit version of ciscoFlashDeviceSize.</description>
                            <applications>
                                <application>
                                    <name>Flash Devices</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>Memory Pool</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.4.1.9.9.48.1.1.1.2]</snmp_oid>
                    <key>ciscoMemoryPoolName</key>
                    <delay>300</delay>
                    <lifetime>0</lifetime>
                    <description>CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolName&#13;
&#13;
A textual name assigned to the memory pool.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Free memory on Memory Pool &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.48.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>ciscoMemoryPoolFree[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>60</delay>
                            <units>B</units>
                            <description>CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolFree&#13;
&#13;
Indicates the number of bytes from the memory pool that are currently unused on the managed device.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Name of Memory Pool &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.48.1.1.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>ciscoMemoryPoolName[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>3600</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolName&#13;
&#13;
A textual name assigned to the memory pool.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Used memory on Memory Pool &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.48.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>ciscoMemoryPoolUsed[&quot;{#SNMPVALUE}&quot;]</key>
                            <delay>300</delay>
                            <units>B</units>
                            <description>CISCO-MEMORY-POOL-MIB::ciscoMemoryPoolUsed&#13;
&#13;
Indicates the number of bytes from the memory pool that are currently in use by applications on the managed device.</description>
                            <applications>
                                <application>
                                    <name>Memory</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <trigger_prototypes>
                        <trigger_prototype>
                            <expression>{Template_Cisco_ASR_1006:ciscoMemoryPoolFree[&quot;{#SNMPVALUE}&quot;].last()}&lt;({Template_Cisco_ASR_1006:ciscoMemoryPoolUsed[&quot;{#SNMPVALUE}&quot;].last()}+{Template_Cisco_ASR_1006:ciscoMemoryPoolFree[&quot;{#SNMPVALUE}&quot;].last()})*0.05 and {Template_Cisco_ASR_1006:ciscoMemoryPoolName[&quot;{#SNMPVALUE}&quot;].str(lsmpi_io)}=0</expression>
                            <name>High utilization of Memory Pool &quot;{#SNMPVALUE}&quot;</name>
                            <priority>AVERAGE</priority>
                        </trigger_prototype>
                    </trigger_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>CPU</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.4.1.9.9.109.1.1.1.1.2]</snmp_oid>
                    <key>cpmCPUTotalPhysicalIndex</key>
                    <delay>300</delay>
                    <lifetime>0</lifetime>
                    <description>CISCO-PROCESS-MIB::cpmCPUTotalPhysicalIndex&#13;
&#13;
The entPhysicalIndex of the physical entity for which the CPU statistics in this entry are maintained. The physical entity can be a CPU chip, a group of CPUs, a CPU card etc. The exact type of this entity is described by its entPhysicalVendorType value. If the CPU statistics in this entry correspond to more than one physical entity (or to no physical entity), or if the entPhysicalTable is not supported on the SNMP agent, the value of this object must be zero.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>CPU #$1 Usage 1min Rev</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.109.1.1.1.1.7.{#SNMPINDEX}</snmp_oid>
                            <key>cpmCPUTotal1minRev[{#SNMPINDEX}]</key>
                            <delay>60</delay>
                            <units>%</units>
                            <description>CISCO-PROCESS-MIB::cpmCPUTotal1minRev&#13;
&#13;
The overall CPU busy percentage in the last 1 minute period. This object deprecates the object cpmCPUTotal1min and increases the value range to (0..100).</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU #$1 Usage 5min Rev</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.109.1.1.1.1.8.{#SNMPINDEX}</snmp_oid>
                            <key>cpmCPUTotal5minRev[{#SNMPINDEX}]</key>
                            <delay>300</delay>
                            <units>%</units>
                            <description>CISCO-PROCESS-MIB::cpmCPUTotal5minRev&#13;
&#13;
The overall CPU busy percentage in the last 5 minute period. This object deprecates the object cpmCPUTotal5min and increases the value range to (0..100).</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}&gt;95</expression>
                                    <name>High CPU #{#SNMPINDEX} Usage</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>CPU #$1 Usage 5sec Rev</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.109.1.1.1.1.6.{#SNMPINDEX}</snmp_oid>
                            <key>cpmCPUTotal5secRev[{#SNMPINDEX}]</key>
                            <delay>30</delay>
                            <status>DISABLED</status>
                            <units>%</units>
                            <description>CISCO-PROCESS-MIB::cpmCPUTotal5secRev&#13;
&#13;
The overall CPU busy percentage in the last 5 second period. This object deprecates the object cpmCPUTotal5sec and increases the value range to (0..100). This object is deprecated by cpmCPUTotalMonIntervalValue.</description>
                            <applications>
                                <application>
                                    <name>CPU</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                    <graph_prototypes>
                        <graph_prototype>
                            <name>CPU #{#SNMPINDEX} Usage</name>
                            <graph_items>
                                <graph_item>
                                    <color>00C800</color>
                                    <item>
                                        <host>Template_Cisco_ASR_1006</host>
                                        <key>cpmCPUTotal1minRev[{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                                <graph_item>
                                    <sortorder>1</sortorder>
                                    <color>C80000</color>
                                    <item>
                                        <host>Template_Cisco_ASR_1006</host>
                                        <key>cpmCPUTotal5minRev[{#SNMPINDEX}]</key>
                                    </item>
                                </graph_item>
                            </graph_items>
                        </graph_prototype>
                    </graph_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>$1 Sensors</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>entPhysicalName[&quot;Optic Power&quot;]</key>
                    <delay>300</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>[T|R]x Power Sensor$</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <lifetime>0</lifetime>
                    <description>The textual name of the physical entity.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Status of $2 Sensor &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.91.1.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>entSensorStatus[&quot;{#SNMPVALUE}&quot;,&quot;Optic Power&quot;]</key>
                            <delay>60</delay>
                            <description>CISCO-ENTITY-SENSOR-MIB::entSensorStatus&#13;
&#13;
This variable indicates the present operational status of the sensor.</description>
                            <applications>
                                <application>
                                    <name>Optic Power Sensors</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=3</expression>
                                    <name>Status of Optic Power Sensor &quot;{#SNMPVALUE}&quot; is nonoperational</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>Status of Optic Power Sensor &quot;{#SNMPVALUE}&quot; is unavailable</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Value of $2 Sensor &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.91.1.1.1.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>entSensorValue[&quot;{#SNMPVALUE}&quot;,&quot;Optic Power&quot;]</key>
                            <delay>60</delay>
                            <value_type>FLOAT</value_type>
                            <units>dBm</units>
                            <description>CISCO-ENTITY-SENSOR-MIB::entSensorValue&#13;
&#13;
This variable reports the most recent measurement seen by the sensor.</description>
                            <applications>
                                <application>
                                    <name>Optic Power Sensors</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>$1 Sensors</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>entPhysicalName[&quot;Power Supply&quot;]</key>
                    <delay>300</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>^power\-module</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <lifetime>0</lifetime>
                    <description>The textual name of the physical entity.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Current Supplied by $2 &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.117.1.1.2.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>cefcFRUCurrent[&quot;{#SNMPVALUE}&quot;,&quot;Power Supply&quot;]</key>
                            <delay>600</delay>
                            <value_type>FLOAT</value_type>
                            <units>W</units>
                            <description>CISCO-ENTITY-FRU-CONTROL-MIB::cefcFRUCurrent&#13;
&#13;
Current supplied by the FRU (positive values) or current required to operate the FRU (negative values).</description>
                            <applications>
                                <application>
                                    <name>Power Supplies</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Operational Status of $2 &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.117.1.1.2.1.2.{#SNMPINDEX}</snmp_oid>
                            <key>cefcFRUPowerOperStatus[&quot;{#SNMPVALUE}&quot;,&quot;Power Supply&quot;]</key>
                            <delay>60</delay>
                            <description>CISCO-ENTITY-FRU-CONTROL-MIB::cefcFRUPowerOperStatus&#13;
&#13;
Operational FRU power state.</description>
                            <applications>
                                <application>
                                    <name>Power Supplies</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=11</expression>
                                    <name>Connector rating exceeded on Power Supply &quot;{#SNMPVALUE}&quot;</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=10</expression>
                                    <name>Cooling capacity is insufficient on Power Supply &quot;{#SNMPVALUE}&quot;</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=9</expression>
                                    <name>FAN failed on Power Supply &quot;{#SNMPVALUE}&quot;</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=7</expression>
                                    <name>FAN problem on Power Supply &quot;{#SNMPVALUE}&quot;</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=5</expression>
                                    <name>Power problem on Power Supply &quot;{#SNMPVALUE}&quot;</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=8 and {last()}=12</expression>
                                    <name>Power Supply &quot;{#SNMPVALUE}&quot; is failed</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=1</expression>
                                    <name>Power Supply &quot;{#SNMPVALUE}&quot; is powered off</name>
                                    <priority>WARNING</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=4</expression>
                                    <name>System power is insufficient on Power Supply &quot;{#SNMPVALUE}&quot;</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=6</expression>
                                    <name>Temperature problem on Power Supply &quot;{#SNMPVALUE}&quot;</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>Manufacturer of $2 &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.2.1.47.1.1.1.1.12.{#SNMPINDEX}</snmp_oid>
                            <key>entPhysicalMfgName[&quot;{#SNMPVALUE}&quot;,&quot;Power Supply&quot;]</key>
                            <delay>86400</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>ENTITY-MIB::entPhysicalMfgName&#13;
&#13;
The name of the manufacturer of this physical component. The preferred value is the manufacturer name string actually printed on the component itself (if present).</description>
                            <applications>
                                <application>
                                    <name>Power Supplies</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Model Name of $2 &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.2.1.47.1.1.1.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>entPhysicalModelName[&quot;{#SNMPVALUE}&quot;,&quot;Power Supply&quot;]</key>
                            <delay>86400</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>ENTITY-MIB::entPhysicalModelName&#13;
&#13;
The vendor-specific model name identifier string associated with this physical component.  The preferred value is the customer-visible part number, which may be printed on the component itself.</description>
                            <applications>
                                <application>
                                    <name>Power Supplies</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Serial Number of $2 &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.2.1.47.1.1.1.1.11.{#SNMPINDEX}</snmp_oid>
                            <key>entPhysicalSerialNum[&quot;{#SNMPVALUE}&quot;,&quot;Power Supply&quot;]</key>
                            <delay>3600</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>ENTITY-MIB::entPhysicalSerialNum&#13;
&#13;
The vendor-specific serial number string for the physical entity. The preferred value is the serial number string actually printed on the component itself (if present).</description>
                            <applications>
                                <application>
                                    <name>Power Supplies</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>$1 Sensors</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>entPhysicalName[Amperage]</key>
                    <delay>300</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>Bias Current Sensor$</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <lifetime>0</lifetime>
                    <description>The textual name of the physical entity.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Status of $2 Sensor &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.91.1.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>entSensorStatus[&quot;{#SNMPVALUE}&quot;,Amperage]</key>
                            <delay>60</delay>
                            <description>CISCO-ENTITY-SENSOR-MIB::entSensorStatus&#13;
&#13;
This variable indicates the present operational status of the sensor.</description>
                            <applications>
                                <application>
                                    <name>Amperage Sensors</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=3</expression>
                                    <name>Amperage Sensor &quot;{#SNMPVALUE}&quot; is nonoperational</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>Amperage Sensor &quot;{#SNMPVALUE}&quot; is unavailable</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>$2 of Sensor &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.91.1.1.1.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>entSensorValue[&quot;{#SNMPVALUE}&quot;,Amperage]</key>
                            <delay>60</delay>
                            <value_type>FLOAT</value_type>
                            <units>A</units>
                            <description>CISCO-ENTITY-SENSOR-MIB::entSensorValue&#13;
&#13;
This variable reports the most recent measurement seen by the sensor.</description>
                            <applications>
                                <application>
                                    <name>Amperage Sensors</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.000001</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>$1 Sensors</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>entPhysicalName[Module]</key>
                    <delay>300</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>^module</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <lifetime>0</lifetime>
                    <description>The textual name of the physical entity.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Manufacturer of $2 &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.2.1.47.1.1.1.1.12.{#SNMPINDEX}</snmp_oid>
                            <key>entPhysicalMfgName[&quot;{#SNMPVALUE}&quot;,&quot;Module&quot;]</key>
                            <delay>86400</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>ENTITY-MIB::entPhysicalMfgName&#13;
&#13;
The name of the manufacturer of this physical component. The preferred value is the manufacturer name string actually printed on the component itself (if present).</description>
                            <applications>
                                <application>
                                    <name>Modules</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Model Name of $2 &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.2.1.47.1.1.1.1.13.{#SNMPINDEX}</snmp_oid>
                            <key>entPhysicalModelName[&quot;{#SNMPVALUE}&quot;,&quot;Module&quot;]</key>
                            <delay>86400</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>ENTITY-MIB::entPhysicalModelName&#13;
&#13;
The vendor-specific model name identifier string associated with this physical component.  The preferred value is the customer-visible part number, which may be printed on the component itself.</description>
                            <applications>
                                <application>
                                    <name>Modules</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Serial Number of $2 &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.2.1.47.1.1.1.1.11.{#SNMPINDEX}</snmp_oid>
                            <key>entPhysicalSerialNum[&quot;{#SNMPVALUE}&quot;,&quot;Module&quot;]</key>
                            <delay>3600</delay>
                            <trends>0</trends>
                            <value_type>CHAR</value_type>
                            <description>ENTITY-MIB::entPhysicalSerialNum&#13;
&#13;
The vendor-specific serial number string for the physical entity. The preferred value is the serial number string actually printed on the component itself (if present).</description>
                            <applications>
                                <application>
                                    <name>Modules</name>
                                </application>
                            </applications>
                        </item_prototype>
                        <item_prototype>
                            <name>Operational Status of $2 &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.2.1.131.1.1.1.3.{#SNMPINDEX}</snmp_oid>
                            <key>entStateOper[&quot;{#SNMPVALUE}&quot;,&quot;Module&quot;]</key>
                            <delay>60</delay>
                            <description>ENTITY-STATE-MIB::entStateOper&#13;
&#13;
The operational state for this entity.</description>
                            <applications>
                                <application>
                                    <name>Modules</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>Module &quot;{#SNMPVALUE}&quot; is inoperable</name>
                                    <priority>DISASTER</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>$1 Sensors (3)</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>entPhysicalName[Temperature,3]</key>
                    <delay>300</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>Temperature Sensor$</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <lifetime>0</lifetime>
                    <description>The textual name of the physical entity.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Status of $2 Sensor &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.91.1.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>entSensorStatus[&quot;{#SNMPVALUE}&quot;,Temperature,3]</key>
                            <delay>60</delay>
                            <description>CISCO-ENTITY-SENSOR-MIB::entSensorStatus&#13;
&#13;
This variable indicates the present operational status of the sensor.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=3</expression>
                                    <name>Temperature Sensor &quot;{#SNMPVALUE}&quot; is nonoperational</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>Temperature Sensor &quot;{#SNMPVALUE}&quot; is unavailable</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>$2 on Sensor &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.91.1.1.1.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>entSensorValue[&quot;{#SNMPVALUE}&quot;,Temperature,3]</key>
                            <delay>60</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>CISCO-ENTITY-SENSOR-MIB::entSensorValue&#13;
&#13;
This variable reports the most recent measurement seen by the sensor.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.001</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>$1 Sensors</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>entPhysicalName[Temperature]</key>
                    <delay>300</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>^Temp\:</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <lifetime>0</lifetime>
                    <description>The textual name of the physical entity.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Status of $2 Sensor &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.91.1.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>entSensorStatus[&quot;{#SNMPVALUE}&quot;,Temperature]</key>
                            <delay>60</delay>
                            <description>CISCO-ENTITY-SENSOR-MIB::entSensorStatus&#13;
&#13;
This variable indicates the present operational status of the sensor.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=3</expression>
                                    <name>Temperature Sensor &quot;{#SNMPVALUE}&quot; is nonoperational</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>Temperature Sensor &quot;{#SNMPVALUE}&quot; is unavailable</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>$2 on Sensor &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.91.1.1.1.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>entSensorValue[&quot;{#SNMPVALUE}&quot;,Temperature]</key>
                            <delay>60</delay>
                            <value_type>FLOAT</value_type>
                            <units>°C</units>
                            <description>CISCO-ENTITY-SENSOR-MIB::entSensorValue&#13;
&#13;
This variable reports the most recent measurement seen by the sensor.</description>
                            <applications>
                                <application>
                                    <name>Temperature</name>
                                </application>
                            </applications>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
                <discovery_rule>
                    <name>$1 Sensors</name>
                    <type>SNMP_AGENT</type>
                    <snmp_oid>discovery[{#SNMPVALUE},.1.3.6.1.2.1.47.1.1.1.1.7]</snmp_oid>
                    <key>entPhysicalName[Voltage]</key>
                    <delay>300</delay>
                    <filter>
                        <conditions>
                            <condition>
                                <macro>{#SNMPVALUE}</macro>
                                <value>voltage</value>
                                <formulaid>A</formulaid>
                            </condition>
                        </conditions>
                    </filter>
                    <lifetime>0</lifetime>
                    <description>The textual name of the physical entity.</description>
                    <item_prototypes>
                        <item_prototype>
                            <name>Status of $2 Sensor &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.91.1.1.1.1.5.{#SNMPINDEX}</snmp_oid>
                            <key>entSensorStatus[&quot;{#SNMPVALUE}&quot;,Voltage]</key>
                            <delay>60</delay>
                            <description>CISCO-ENTITY-SENSOR-MIB::entSensorStatus&#13;
&#13;
This variable indicates the present operational status of the sensor.</description>
                            <applications>
                                <application>
                                    <name>Voltage Sensors</name>
                                </application>
                            </applications>
                            <trigger_prototypes>
                                <trigger_prototype>
                                    <expression>{last()}=3</expression>
                                    <name>Voltage Sensor &quot;{#SNMPVALUE}&quot; is nonoperational</name>
                                    <priority>HIGH</priority>
                                </trigger_prototype>
                                <trigger_prototype>
                                    <expression>{last()}=2</expression>
                                    <name>Voltage Sensor &quot;{#SNMPVALUE}&quot; is unavailable</name>
                                    <priority>AVERAGE</priority>
                                </trigger_prototype>
                            </trigger_prototypes>
                        </item_prototype>
                        <item_prototype>
                            <name>$2 on Sensor &quot;$1&quot;</name>
                            <type>SNMP_AGENT</type>
                            <snmp_oid>.1.3.6.1.4.1.9.9.91.1.1.1.1.4.{#SNMPINDEX}</snmp_oid>
                            <key>entSensorValue[&quot;{#SNMPVALUE}&quot;,Voltage]</key>
                            <delay>60</delay>
                            <value_type>FLOAT</value_type>
                            <units>V</units>
                            <description>CISCO-ENTITY-SENSOR-MIB::entSensorValue&#13;
&#13;
This variable reports the most recent measurement seen by the sensor.</description>
                            <applications>
                                <application>
                                    <name>Voltage Sensors</name>
                                </application>
                            </applications>
                            <preprocessing>
                                <step>
                                    <type>MULTIPLIER</type>
                                    <params>0.001</params>
                                </step>
                            </preprocessing>
                        </item_prototype>
                    </item_prototypes>
                </discovery_rule>
            </discovery_rules>
        </template>
        <template>
            <template>Template_Cisco_Traps</template>
            <name>Template_Cisco_Traps</name>
            <groups>
                <group>
                    <name>Templates SNMP Devices</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>SNMP Traps</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>BGP Peer State</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;bgpPeerState|cbgpPeer2State&quot;]</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <status>DISABLED</status>
                    <value_type>LOG</value_type>
                    <description>BGP4-MIB::bgpPeerState&#13;
CISCO-BGP4-MIB::cbgpPeer2State&#13;
&#13;
The BGP peer connection state.</description>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                    <triggers>
                        <trigger>
                            <expression>{count(10m,&quot;idle&quot;,&quot;like&quot;)}&gt;0 and {nodata(10m)}=0</expression>
                            <name>BGP Peer State is idle</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Source of Command</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;ccmHistoryEventCommandSource&quot;]</key>
                    <delay>0</delay>
                    <history>0</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                </item>
                <item>
                    <name>BFD Sessions</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;ciscoBfdSess(Up|Down)&quot;]</key>
                    <delay>0</delay>
                    <history>5d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>CISCO-IETF-BFD-MIB::ciscoBfdSessDown and ciscoBfdSessUp</description>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                </item>
                <item>
                    <name>Attack Filter changes</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;cscaFilterChange&quot;]</key>
                    <delay>0</delay>
                    <history>0</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>The system generates this notification to indicate that the cscaFilterStatus of the attack filter for cscaType has changed due to the reason determined by cscaDescription. The system limits the generation of this notifications for the same cscaType to a five-second interval.</description>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                </item>
                <item>
                    <name>Status of Attack Filter</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;cscaFilterStatus&quot;]</key>
                    <delay>0</delay>
                    <history>0</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                </item>
                <item>
                    <name>SSH Sessions</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;cssSessionHostAddr&quot;]</key>
                    <delay>0</delay>
                    <history>5d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>CISCO-SECURE-SHELL-MIB::cssSessionHostAddr</description>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                </item>
                <item>
                    <name>MPLS L3 State</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;mplsL3VpnVrf[Up|Down]&quot;]</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>MPLS-L3VPN-STD-MIB::mplsL3VpnVrfUp&#13;
MPLS-L3VPN-STD-MIB::mplsL3VpnVrfDown</description>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                    <triggers>
                        <trigger>
                            <expression>{str(Down)}=1</expression>
                            <name>MPLS L3 is down</name>
                            <priority>AVERAGE</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>OSPF Interface State</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;ospfIfState&quot;]</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <status>DISABLED</status>
                    <value_type>LOG</value_type>
                    <description>OSPF-MIB::ospfIfState&#13;
&#13;
The OSPF Interface State.</description>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                    <triggers>
                        <trigger>
                            <expression>{count(10m,&quot;down&quot;,&quot;like&quot;)}&gt;0 and {nodata(10m)}=0</expression>
                            <name>OSPF Interface State is down</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{count(10m,&quot;loopback&quot;,&quot;like&quot;)}&gt;0 and {nodata(10m)}=0</expression>
                            <name>OSPF Interface State is loopback</name>
                            <priority>WARNING</priority>
                        </trigger>
                        <trigger>
                            <expression>{count(10m,&quot;waiting&quot;,&quot;like&quot;)}&gt;0 and {nodata(10m)}=0</expression>
                            <name>OSPF Interface State is waiting</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>LSA aged to MaxAge</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;ospfMaxAgeLsa&quot;]</key>
                    <delay>0</delay>
                    <history>0</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                </item>
                <item>
                    <name>OSPF neighbour state</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;ospfNbrStateChange.*ospfNbrState[[:space:]]&quot;]</key>
                    <delay>0</delay>
                    <history>0</history>
                    <trends>0</trends>
                    <status>DISABLED</status>
                    <value_type>LOG</value_type>
                    <description>1 : down&#13;
2 : attempt&#13;
3 : init&#13;
4 : twoWay&#13;
5 : exchangeStart&#13;
6 : exchange&#13;
7 : loading&#13;
8 : full</description>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                </item>
                <item>
                    <name>LSA has been originated</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;ospfOriginateLsa&quot;]</key>
                    <delay>0</delay>
                    <history>5d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>OSPF-TRAP-MIB::ospfOriginateLsa</description>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                </item>
                <item>
                    <name>OSP TX Retransmits</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;ospfTxRetransmit&quot;]</key>
                    <delay>0</delay>
                    <history>1d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                    <triggers>
                        <trigger>
                            <expression>{count(1h,&quot;ospfTxRetransmit&quot;,&quot;like&quot;)}&gt;30 and {nodata(1h)}=0</expression>
                            <name>Many OSPF TX Retransmits</name>
                            <priority>WARNING</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Type of remote session</name>
                    <type>SNMP_TRAP</type>
                    <key>snmptrap[&quot;tslineSesType&quot;]</key>
                    <delay>0</delay>
                    <history>0</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <applications>
                        <application>
                            <name>SNMP Traps</name>
                        </application>
                    </applications>
                    <logtimefmt>yyyyMMdd.hhmmss</logtimefmt>
                </item>
            </items>
        </template>
        <template>
            <template>UCB_TIME_SERVER</template>
            <name>UCB_TIME_SERVER</name>
            <description>## Overview&#13;
&#13;
This template will parse the various types of data from the acquisition result of chronyc tracking command.  &#13;
This allows you to detect the change of the time of displacement and Stratum by chrony.</description>
            <groups>
                <group>
                    <name>Infra</name>
                </group>
                <group>
                    <name>Templates</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Time synchronization</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Number of chrony processes</name>
                    <key>proc.num[,chrony]</key>
                    <delay>65s</delay>
                    <applications>
                        <application>
                            <name>Time synchronization</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{max(#1)}=0</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{max(#1)}=1</recovery_expression>
                            <name>Chrony service is down on {HOST.NAME}</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Last offset</name>
                    <key>system.run[chronyc tracking | grep &quot;Last offset&quot; | awk '{print $ 4}']</key>
                    <delay>3600s</delay>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <description>This is the estimated local offset on the last clock update.</description>
                    <applications>
                        <application>
                            <name>Time synchronization</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>..System Time Status</name>
                    <key>system.run[chronyc tracking|grep &quot;Leap status&quot;|awk '{print $ 4}']</key>
                    <delay>65s</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <description>This is the leap status, which can be Normal, Insert second, Delete second or Not synchronized.</description>
                    <applications>
                        <application>
                            <name>Time synchronization</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>REGEX</type>
                            <params>Not
Not synchronized</params>
                            <error_handler>CUSTOM_VALUE</error_handler>
                            <error_handler_params>Synchronized</error_handler_params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{regexp(&quot;Not synchronized&quot;)}=1</expression>
                            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
                            <recovery_expression>{regexp(&quot;Synchronized&quot;)}=1</recovery_expression>
                            <name>{HOST.NAME} is Not synchronized</name>
                            <priority>HIGH</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>.Synchronized server</name>
                    <key>system.run[chronyc tracking|grep &quot;Reference ID&quot;|awk '{print $ 5}']</key>
                    <delay>21600s</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>This is the reference ID and name (or IP address) if available, of the server to which the computer is currently synchronized.</description>
                    <applications>
                        <application>
                            <name>Time synchronization</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>TRIM</type>
                            <params>()</params>
                        </step>
                    </preprocessing>
                    <triggers>
                        <trigger>
                            <expression>{diff(0)}=1</expression>
                            <name>Chrony servers are synchronized has been changed .</name>
                            <priority>INFO</priority>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>RMS offset</name>
                    <key>system.run[chronyc tracking|grep &quot;RMS offset&quot;|awk '{print $ 4}']</key>
                    <delay>1800s</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>This is a long-term average of the offset value.</description>
                    <applications>
                        <application>
                            <name>Time synchronization</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Root delay</name>
                    <key>system.run[chronyc tracking|grep &quot;Root delay&quot;|awk '{print $ 4}']</key>
                    <delay>65s</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>This is the total of the network path delays to the stratum-1 computer from which the computer is ultimately synchronized. In certain extreme situations, this value can be negative. (This can arise in a symmetric peer arrangement where the computers’ frequencies are not tracking each other and the network delay is very short relative to the turn-around time at each computer.)</description>
                    <applications>
                        <application>
                            <name>Time synchronization</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Stratum</name>
                    <key>system.run[chronyc tracking|grep &quot;Stratum&quot;|awk '{print $ 3}']</key>
                    <delay>3600s</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>The stratum indicates how many hops away from a computer with an attached reference clock we are. Such a computer is a stratum-1 computer, so the computer in the example is two hops away</description>
                    <applications>
                        <application>
                            <name>Time synchronization</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Update interval</name>
                    <key>system.run[chronyc tracking|grep &quot;Update interval&quot;|awk '{print $ 4}']</key>
                    <delay>65s</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <description>This is the total dispersion accumulated through all the computers back to the stratum-1 computer from which the computer is ultimately synchronized. Dispersion is due to system clock resolution, statistical measurement variations etc.</description>
                    <applications>
                        <application>
                            <name>Time synchronization</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Version of chrony(d) running</name>
                    <key>system.run[chronyd --version]</key>
                    <delay>43200s</delay>
                    <trends>0</trends>
                    <value_type>CHAR</value_type>
                    <applications>
                        <application>
                            <name>Time synchronization</name>
                        </application>
                    </applications>
                    <preprocessing>
                        <step>
                            <type>TRIM</type>
                            <params>chronyd (chrony) </params>
                        </step>
                    </preprocessing>
                </item>
            </items>
        </template>
        <template>
            <template>Windows Event User Log</template>
            <name>Windows Event User Log</name>
            <groups>
                <group>
                    <name>Windows Event Log</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>GPO Logs</name>
                </application>
                <application>
                    <name>Security Logs</name>
                </application>
                <application>
                    <name>Users Logs</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Cleaned Security Log</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,1102,,]</key>
                    <delay>300</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Cleared security log</description>
                    <applications>
                        <application>
                            <name>Security Logs</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4722)}=1 and {nodata(5)}=0</expression>
                            <name>Cleaned Security Log</name>
                            <priority>HIGH</priority>
                            <description>Очищений журнал безпеки</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Create User</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4720,,]</key>
                    <delay>300</delay>
                    <history>45d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>User account created</description>
                    <applications>
                        <application>
                            <name>Users Logs</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4720)}=1 and {nodata(5)}=0</expression>
                            <name>Create User</name>
                            <priority>INFO</priority>
                            <description>Обліковий запис користувача створено</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>User On</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4722,,]</key>
                    <delay>300</delay>
                    <history>45d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>User account enabled</description>
                    <applications>
                        <application>
                            <name>Users Logs</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4722)}=1 and {nodata(5)}=0</expression>
                            <name>User On</name>
                            <priority>INFO</priority>
                            <description>Обліковий запис користувача включено</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>User Password Reset</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4724,,]</key>
                    <delay>300</delay>
                    <history>45d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>User password reset</description>
                    <applications>
                        <application>
                            <name>Users Logs</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4722)}=1 and {nodata(5)}=0</expression>
                            <name>User Password Reset</name>
                            <priority>INFO</priority>
                            <description>Пароль користувача скинуто</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>User Off</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4725,,]</key>
                    <delay>300</delay>
                    <history>45d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>User account is disabled</description>
                    <applications>
                        <application>
                            <name>Users Logs</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4725)}=1 and {nodata(5)}=0</expression>
                            <name>User Off</name>
                            <priority>INFO</priority>
                            <description>Обліковий запис користувача відключено</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Delete User</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4726,,]</key>
                    <delay>300</delay>
                    <history>45d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>User account deleted</description>
                    <applications>
                        <application>
                            <name>Users Logs</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4726)}=1 and {nodata(5)}=0</expression>
                            <name>Delete User</name>
                            <priority>INFO</priority>
                            <description>Обліковий запис користувача видалено</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Changed domain policy</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4739,,]</key>
                    <delay>300</delay>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>Domain policy changed</description>
                    <applications>
                        <application>
                            <name>GPO Logs</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4739)}=1 and {nodata(5)}=0</expression>
                            <name>Changed domain policy</name>
                            <priority>AVERAGE</priority>
                            <description>Змінена політика домену</description>
                        </trigger>
                    </triggers>
                </item>
                <item>
                    <name>Unlocked User</name>
                    <type>ZABBIX_ACTIVE</type>
                    <key>eventlog[Security,,,,4767,,]</key>
                    <delay>300</delay>
                    <history>45d</history>
                    <trends>0</trends>
                    <value_type>LOG</value_type>
                    <description>User account unlocked</description>
                    <applications>
                        <application>
                            <name>Users Logs</name>
                        </application>
                    </applications>
                    <triggers>
                        <trigger>
                            <expression>{logeventid(4767)}=1 and {nodata(5)}=0</expression>
                            <name>Unlocked User</name>
                            <priority>INFO</priority>
                            <description>Обліковий запис користувача розблоковано</description>
                        </trigger>
                    </triggers>
                </item>
            </items>
        </template>
    </templates>
    <triggers>
        <trigger>
            <expression>{Template App Apache Tomcat JMX:jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,currentThreadsBusy].last(0)} &gt; ({Template App Apache Tomcat JMX:jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,maxThreads].last(0)} * 0.7)</expression>
            <name>70% http-8080 worker threads busy on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template App Apache Tomcat JMX:jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,currentThreadsBusy].last(0)} &gt; ({Template App Apache Tomcat JMX:jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,maxThreads].last(0)} * 0.7)</expression>
            <name>70% http-8443 worker threads busy on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template App Apache Tomcat JMX:jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,currentThreadsBusy].last(0)} &gt; ({Template App Apache Tomcat JMX:jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,maxThreads].last(0)}  *0.7)</expression>
            <name>70% jk-8009 worker threads busy on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=Memory&quot;,HeapMemoryUsage.used].last(0)}&gt;({Template App Generic Java JMX:jmx[&quot;java.lang:type=Memory&quot;,HeapMemoryUsage.max].last(0)}*0.7)</expression>
            <name>70% mem Heap Memory used on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=Memory&quot;,NonHeapMemoryUsage.used].last(0)}&gt;({Template App Generic Java JMX:jmx[&quot;java.lang:type=Memory&quot;,NonHeapMemoryUsage.max].last(0)}*0.7)</expression>
            <name>70% mem Non-Heap Memory used on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=CMS Old Gen&quot;,Usage.used].last(0)}&gt;({Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=CMS Old Gen&quot;,Usage.max].last(0)}*0.7)</expression>
            <name>70% mp CMS Old Gen used on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=CMS Perm Gen&quot;,Usage.used].last(0)}&gt;({Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=CMS Perm Gen&quot;,Usage.max].last(0)}*0.7)</expression>
            <name>70% mp CMS Perm Gen used on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Code Cache&quot;,Usage.used].last(0)}&gt;({Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Code Cache&quot;,Usage.max].last(0)}*0.7)</expression>
            <name>70% mp Code Cache used on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Perm Gen&quot;,Usage.used].last(0)}&gt;({Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Perm Gen&quot;,Usage.max].last(0)}*0.7)</expression>
            <name>70% mp Perm Gen used on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=G1 Old Gen&quot;,Usage.used].last(0)}&gt;({Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=G1 Old Gen&quot;,Usage.max].last(0)}*0.7)</expression>
            <name>70% mp PS Old Gen used on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=PS Perm Gen&quot;,Usage.used].last(0)}&gt;({Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=PS Perm Gen&quot;,Usage.max].last(0)}*0.7)</expression>
            <name>70% mp PS Perm Gen used on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Tenured Gen&quot;,Usage.used].last(0)}&gt;({Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Tenured Gen&quot;,Usage.max].last(0)}*0.7)</expression>
            <name>70% mp Tenured Gen used on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=OperatingSystem&quot;,OpenFileDescriptorCount].last(0)}&gt;({Template App Generic Java JMX:jmx[&quot;java.lang:type=OperatingSystem&quot;,MaxFileDescriptorCount].last(0)}*0.7)</expression>
            <name>70% os Opened File Descriptor Count used on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template Net Extreme EXOS SNMPv2:sensor.temp.value[extremeCurrentTemperature.0].avg(5m)}&gt;{$TEMP_CRIT:&quot;&quot;}&#13;
or&#13;
{Template Net Extreme EXOS SNMPv2:sensor.temp.status[extremeOverTemperatureAlarm.0].last(0)}={$TEMP_CRIT_STATUS}</expression>
            <recovery_mode>RECOVERY_EXPRESSION</recovery_mode>
            <recovery_expression>{Template Net Extreme EXOS SNMPv2:sensor.temp.value[extremeCurrentTemperature.0].max(5m)}&lt;{$TEMP_CRIT:&quot;&quot;}-3</recovery_expression>
            <name>Device: Temperature is above critical threshold: &gt;{$TEMP_CRIT:&quot;&quot;}</name>
            <opdata>Current value: {ITEM.LASTVALUE1}</opdata>
            <priority>HIGH</priority>
            <description>This trigger uses temperature sensor values as well as temperature sensor status if available</description>
        </trigger>
        <trigger>
            <expression>{Template_A10_AX_Series:axSysDiskFreeSpace.max(1d)}&lt;{Template_A10_AX_Series:axSysDiskTotalSpace.last()}*0.2</expression>
            <name>Free disk space is less than 20%</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=GarbageCollector,name=ParNew&quot;,CollectionCount].last(0)}&lt;{Template App Generic Java JMX:jmx[&quot;java.lang:type=GarbageCollector,name=ConcurrentMarkSweep&quot;,CollectionCount].last(0)}</expression>
            <name>gc Concurrent Mark Sweep in fire fighting mode on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=GarbageCollector,name=Copy&quot;,CollectionCount].last(0)}&lt;{Template App Generic Java JMX:jmx[&quot;java.lang:type=GarbageCollector,name=MarkSweepCompact&quot;,CollectionCount].last(0)}</expression>
            <name>gc Mark Sweep Compact in fire fighting mode on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=GarbageCollector,name=PS Scavenge&quot;,CollectionCount].last(0)}&lt;{Template App Generic Java JMX:jmx[&quot;java.lang:type=GarbageCollector,name=PS MarkSweep&quot;,CollectionCount].last(0)}</expression>
            <name>gc PS Mark Sweep in fire fighting mode on {HOST.NAME}</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template Module Linux generic by Zabbix agent:proc.num.last()}/{Template Module Linux generic by Zabbix agent:kernel.maxproc.last()}*100&gt;80</expression>
            <name>Getting closer to process limit (over 80% used)</name>
            <opdata>{ITEM.LASTVALUE1} active, {ITEM.LASTVALUE2} limit.</opdata>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template Module Linux generic by Zabbix agent active:proc.num.last()}/{Template Module Linux generic by Zabbix agent active:kernel.maxproc.last()}*100&gt;80</expression>
            <name>Getting closer to process limit (over 80% used)</name>
            <opdata>{ITEM.LASTVALUE1} active, {ITEM.LASTVALUE2} limit.</opdata>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template_A10_AX_Series:axSysMemoryUsage.last()}&gt;={Template_A10_AX_Series:axSysMemoryTotal.last()}*0.9</expression>
            <name>High memory usage</name>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template Module Linux memory by Zabbix agent:system.swap.size[,pfree].min(5m)}&lt;{$SWAP.PFREE.MIN.WARN} and {Template Module Linux memory by Zabbix agent:system.swap.size[,total].last()}&gt;0</expression>
            <name>High swap space usage ( less than {$SWAP.PFREE.MIN.WARN}% free)</name>
            <opdata>Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}</opdata>
            <priority>WARNING</priority>
            <description>This trigger is ignored, if there is no swap configured</description>
            <dependencies>
                <dependency>
                    <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                    <expression>{Template Module Linux memory by Zabbix agent:vm.memory.size[pavailable].min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                </dependency>
                <dependency>
                    <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
                    <expression>{Template Module Linux memory by Zabbix agent:vm.memory.size[available].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory by Zabbix agent:vm.memory.size[total].last()}&gt;0</expression>
                </dependency>
            </dependencies>
        </trigger>
        <trigger>
            <expression>{Template Module Linux memory by Zabbix agent active:system.swap.size[,pfree].min(5m)}&lt;{$SWAP.PFREE.MIN.WARN} and {Template Module Linux memory by Zabbix agent active:system.swap.size[,total].last()}&gt;0</expression>
            <name>High swap space usage ( less than {$SWAP.PFREE.MIN.WARN}% free)</name>
            <opdata>Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}</opdata>
            <priority>WARNING</priority>
            <description>This trigger is ignored, if there is no swap configured</description>
            <dependencies>
                <dependency>
                    <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                    <expression>{Template Module Linux memory by Zabbix agent active:vm.memory.size[pavailable].min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                </dependency>
                <dependency>
                    <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
                    <expression>{Template Module Linux memory by Zabbix agent active:vm.memory.size[available].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory by Zabbix agent active:vm.memory.size[total].last()}&gt;0</expression>
                </dependency>
            </dependencies>
        </trigger>
        <trigger>
            <expression>{Template Module Linux memory SNMPv2:system.swap.pfree[snmp].min(5m)}&lt;{$SWAP.PFREE.MIN.WARN} and {Template Module Linux memory SNMPv2:system.swap.total[memTotalSwap.0].last()}&gt;0</expression>
            <name>High swap space usage ( less than {$SWAP.PFREE.MIN.WARN}% free)</name>
            <opdata>Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}</opdata>
            <priority>WARNING</priority>
            <description>This trigger is ignored, if there is no swap configured</description>
            <dependencies>
                <dependency>
                    <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                    <expression>{Template Module Linux memory SNMPv2:vm.memory.util[snmp].min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                </dependency>
                <dependency>
                    <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
                    <expression>{Template Module Linux memory SNMPv2:vm.memory.available[snmp].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory SNMPv2:vm.memory.total[memTotalReal.0].last()}&gt;0</expression>
                </dependency>
            </dependencies>
        </trigger>
        <trigger>
            <expression>{Template Module Windows memory by Zabbix agent:system.swap.size[,pfree].min(5m)}&lt;{$SWAP.PFREE.MIN.WARN} and {Template Module Windows memory by Zabbix agent:system.swap.size[,total].last()}&gt;0</expression>
            <name>High swap space usage ( less than {$SWAP.PFREE.MIN.WARN}% free)</name>
            <opdata>Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}</opdata>
            <priority>WARNING</priority>
            <description>This trigger is ignored, if there is no swap configured</description>
            <dependencies>
                <dependency>
                    <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                    <expression>{Template Module Windows memory by Zabbix agent:vm.memory.util.min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                </dependency>
            </dependencies>
        </trigger>
        <trigger>
            <expression>{Template Module Windows memory by Zabbix agent active:system.swap.size[,pfree].min(15m)}&lt;{$SWAP.PFREE.MIN.WARN} and {Template Module Windows memory by Zabbix agent active:system.swap.size[,total].last()}&gt;0</expression>
            <name>High swap space usage ( less than {$SWAP.PFREE.MIN.WARN}% free)</name>
            <opdata>Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}</opdata>
            <priority>WARNING</priority>
            <description>This trigger is ignored, if there is no swap configured</description>
            <dependencies>
                <dependency>
                    <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                    <expression>{Template Module Windows memory by Zabbix agent active:vm.memory.util.min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                </dependency>
            </dependencies>
        </trigger>
        <trigger>
            <expression>{Template OS Linux by Prom:system.swap.pfree[node_exporter].min(5m)}&lt;{$SWAP.PFREE.MIN.WARN} and {Template OS Linux by Prom:system.swap.total[node_exporter].last()}&gt;0</expression>
            <name>High swap space usage ( less than {$SWAP.PFREE.MIN.WARN}% free)</name>
            <opdata>Free: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}</opdata>
            <priority>WARNING</priority>
            <description>This trigger is ignored, if there is no swap configured</description>
            <dependencies>
                <dependency>
                    <name>High memory utilization ( &gt;{$MEMORY.UTIL.MAX}% for 5m)</name>
                    <expression>{Template OS Linux by Prom:vm.memory.util[node_exporter].min(5m)}&gt;{$MEMORY.UTIL.MAX}</expression>
                </dependency>
                <dependency>
                    <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
                    <expression>{Template OS Linux by Prom:vm.memory.available[node_exporter].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template OS Linux by Prom:vm.memory.total[node_exporter].last()}&gt;0</expression>
                </dependency>
            </dependencies>
        </trigger>
        <trigger>
            <expression>{Template Module Linux memory by Zabbix agent:vm.memory.size[available].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory by Zabbix agent:vm.memory.size[total].last()}&gt;0</expression>
            <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
            <opdata>Available: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}</opdata>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template Module Linux memory by Zabbix agent active:vm.memory.size[available].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory by Zabbix agent active:vm.memory.size[total].last()}&gt;0</expression>
            <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
            <opdata>Available: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}</opdata>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template Module Linux memory SNMPv2:vm.memory.available[snmp].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template Module Linux memory SNMPv2:vm.memory.total[memTotalReal.0].last()}&gt;0</expression>
            <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
            <opdata>Available: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}</opdata>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template OS Linux by Prom:vm.memory.available[node_exporter].min(5m)}&lt;{$MEMORY.AVAILABLE.MIN} and {Template OS Linux by Prom:vm.memory.total[node_exporter].last()}&gt;0</expression>
            <name>Lack of available memory ( &lt; {$MEMORY.AVAILABLE.MIN} of {ITEM.VALUE2})</name>
            <opdata>Available: {ITEM.LASTVALUE1}, total: {ITEM.LASTVALUE2}</opdata>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg1].min(5m)}/{Template Module Linux CPU by Zabbix agent:system.cpu.num.last()}&gt;{$LOAD_AVG_PER_CPU.MAX.WARN}&#13;
and {Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg5].last()}&gt;0&#13;
and {Template Module Linux CPU by Zabbix agent:system.cpu.load[all,avg15].last()}&gt;0</expression>
            <name>Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)</name>
            <opdata>Load averages(1m 5m 15m): ({ITEM.LASTVALUE1} {ITEM.LASTVALUE3} {ITEM.LASTVALUE4}), # of CPUs: {ITEM.LASTVALUE2}</opdata>
            <priority>AVERAGE</priority>
            <description>Per CPU load average is too high. Your system may be slow to respond.</description>
        </trigger>
        <trigger>
            <expression>{Template Module Linux CPU by Zabbix agent active:system.cpu.load[all,avg1].min(5m)}/{Template Module Linux CPU by Zabbix agent active:system.cpu.num.last()}&gt;{$LOAD_AVG_PER_CPU.MAX.WARN}&#13;
and {Template Module Linux CPU by Zabbix agent active:system.cpu.load[all,avg5].last()}&gt;0&#13;
and {Template Module Linux CPU by Zabbix agent active:system.cpu.load[all,avg15].last()}&gt;0</expression>
            <name>Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)</name>
            <opdata>Load averages(1m 5m 15m): ({ITEM.LASTVALUE1} {ITEM.LASTVALUE3} {ITEM.LASTVALUE4}), # of CPUs: {ITEM.LASTVALUE2}</opdata>
            <priority>AVERAGE</priority>
            <description>Per CPU load average is too high. Your system may be slow to respond.</description>
        </trigger>
        <trigger>
            <expression>{Template Module Linux CPU SNMPv2:system.cpu.load.avg1[laLoad.1].min(5m)}/{Template Module Linux CPU SNMPv2:system.cpu.num[snmp].last()}&gt;{$LOAD_AVG_PER_CPU.MAX.WARN}&#13;
and {Template Module Linux CPU SNMPv2:system.cpu.load.avg5[laLoad.2].last()}&gt;0&#13;
and {Template Module Linux CPU SNMPv2:system.cpu.load.avg15[laLoad.3].last()}&gt;0</expression>
            <name>Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)</name>
            <opdata>Load averages(1m 5m 15m): ({ITEM.LASTVALUE1} {ITEM.LASTVALUE3} {ITEM.LASTVALUE4}), # of CPUs: {ITEM.LASTVALUE2}</opdata>
            <priority>AVERAGE</priority>
            <description>Per CPU load average is too high. Your system may be slow to respond.</description>
        </trigger>
        <trigger>
            <expression>{Template OS Linux by Prom:system.cpu.load.avg1[node_exporter].min(5m)}/{Template OS Linux by Prom:system.cpu.num[node_exporter].last()}&gt;{$LOAD_AVG_PER_CPU.MAX.WARN}&#13;
and {Template OS Linux by Prom:system.cpu.load.avg5[node_exporter].last()}&gt;0&#13;
and {Template OS Linux by Prom:system.cpu.load.avg15[node_exporter].last()}&gt;0</expression>
            <name>Load average is too high (per CPU load over {$LOAD_AVG_PER_CPU.MAX.WARN} for 5m)</name>
            <opdata>Load averages(1m 5m 15m): ({ITEM.LASTVALUE1} {ITEM.LASTVALUE3} {ITEM.LASTVALUE4}), # of CPUs: {ITEM.LASTVALUE2}</opdata>
            <priority>AVERAGE</priority>
            <description>Per CPU load average is too high. Your system may be slow to respond.</description>
        </trigger>
        <trigger>
            <expression>{Template Device BigIP F5:sysChassisFanStatus.1.last()}&lt;&gt;1 or {Template Device BigIP F5:sysChassisFanStatus.2.last()}&lt;&gt;1 or {Template Device BigIP F5:sysChassisFanStatus.3.last()}&lt;&gt;1</expression>
            <name>Mal Funcionamento das Fans</name>
            <status>DISABLED</status>
            <priority>AVERAGE</priority>
        </trigger>
        <trigger>
            <expression>{Template Device BigIP F5:sysChassisPowerSupplyStatus.1.last()}&lt;&gt;1 or {Template Device BigIP F5:sysChassisPowerSupplyStatus.2.last()}&lt;&gt;1</expression>
            <name>Mal Funcionamento das Fontes de Energia</name>
            <status>DISABLED</status>
            <priority>AVERAGE</priority>
            <type>MULTIPLE</type>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=Memory&quot;,HeapMemoryUsage.committed].last(0)}={Template App Generic Java JMX:jmx[&quot;java.lang:type=Memory&quot;,HeapMemoryUsage.max].last(0)}</expression>
            <name>mem Heap Memory fully committed on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=Memory&quot;,NonHeapMemoryUsage.committed].last(0)}={Template App Generic Java JMX:jmx[&quot;java.lang:type=Memory&quot;,NonHeapMemoryUsage.max].last(0)}</expression>
            <name>mem Non-Heap Memory fully committed on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=CMS Old Gen&quot;,Usage.committed].last(0)}={Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=CMS Old Gen&quot;,Usage.max].last(0)}</expression>
            <name>mp CMS Old Gen fully committed on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=CMS Perm Gen&quot;,Usage.committed].last(0)}={Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=CMS Perm Gen&quot;,Usage.max].last(0)}</expression>
            <name>mp CMS Perm Gen fully committed on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Code Cache&quot;,Usage.committed].last(0)}={Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Code Cache&quot;,Usage.max].last(0)}</expression>
            <name>mp Code Cache fully committed on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Perm Gen&quot;,Usage.committed].last(0)}={Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Perm Gen&quot;,Usage.max].last(0)}</expression>
            <name>mp Perm Gen fully committed on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=G1 Old Gen&quot;,Usage.committed].last(0)}={Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=G1 Old Gen&quot;,Usage.max].last(0)}</expression>
            <name>mp PS Old Gen fully committed on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=PS Perm Gen&quot;,Usage.committed].last(0)}={Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=PS Perm Gen&quot;,Usage.max].last(0)}</expression>
            <name>mp PS Perm Gen fully committed on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Tenured Gen&quot;,Usage.committed].last(0)}={Template App Generic Java JMX:jmx[&quot;java.lang:type=MemoryPool,name=Tenured Gen&quot;,Usage.max].last(0)}</expression>
            <name>mp Tenured Gen fully committed on {HOST.NAME}</name>
            <priority>WARNING</priority>
        </trigger>
        <trigger>
            <expression>{Template DB MSSQL by ODBC:mssql.forwarded_records_sec.rate.last()} * 100 &gt; 10 * {Template DB MSSQL by ODBC:mssql.batch_requests_sec.rate.last()}</expression>
            <name>MSSQL: Too frequently using pointers</name>
            <priority>WARNING</priority>
            <description>Rows with varchar columns can experience expansion when varchar values are updated with a longer string.  In the case where the row cannot fit in the existing page, the row migrates and access to the row will traverse a pointer.  This only happens on heaps (tables without clustered indexes). Evaluate clustered index for heap tables.  In cases where clustered indexes cannot be used, drop non-clustered indexes, build a clustered index to reorg pages and rows, drop the clustered index, then recreate non-clustered indexes.</description>
        </trigger>
        <trigger>
            <expression>{Template DB MSSQL by ODBC:mssql.readahead_pages_sec.rate.last()} &gt; {$MSSQL.PERCENT_READAHEAD.MAX} / 100 * {Template DB MSSQL by ODBC:mssql.page_reads_sec.rate.last()}</expression>
            <name>MSSQL: Too many physical reads occurring</name>
            <priority>WARNING</priority>
            <description>If this value makes up even a sizeable minority of the total Page Reads/sec (say, greater than 20% of the total page reads), you may have too many physical reads occurring.</description>
        </trigger>
        <trigger>
            <expression>{Template OS Linux by Prom:fd.open[node_exporter].last()}/{Template OS Linux by Prom:kernel.maxfiles[node_exporter].last()}*100&gt;80</expression>
            <name>Running out of file descriptors (less than &lt; 20% free)</name>
            <opdata>{ITEM.LASTVALUE1} of {ITEM.LASTVALUE2} file descriptors are in use.</opdata>
            <priority>WARNING</priority>
        </trigger>
    </triggers>
    <graphs>
        <graph>
            <name>Apache: Memory usage</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>proc.mem[&quot;{$APACHE.PROCESS_NAME}&quot;,,,,vsize]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>proc.mem[&quot;{$APACHE.PROCESS_NAME}&quot;,,,,rss]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Apache: Requests per second</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.requests.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Apache: Requests per second</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.requests.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Apache: Worker states</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers.dnslookup</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers.cleanup</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers.logging</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers.reading</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers.sending</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers.starting</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers.closing</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>611F27</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers.finishing</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>F230E0</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers.keepalive</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>9</sortorder>
                    <color>FFAD40</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers.slot</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>10</sortorder>
                    <color>40CDFF</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers.waiting</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Apache: Worker states</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers.dnslookup</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers.cleanup</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers.logging</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers.reading</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers.sending</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers.starting</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers.closing</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>611F27</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers.finishing</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>F230E0</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers.keepalive</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>9</sortorder>
                    <color>FFAD40</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers.slot</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>10</sortorder>
                    <color>40CDFF</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers.waiting</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Apache: Workers total</name>
            <type>STACKED</type>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers_total.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App Apache by Zabbix agent</host>
                        <key>apache.workers_total.idle</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Apache: Workers total</name>
            <type>STACKED</type>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers_total.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App Apache by HTTP</host>
                        <key>apache.workers_total.idle</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Class Loader</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=ClassLoading&quot;,TotalLoadedClassCount]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=ClassLoading&quot;,UnloadedClassCount]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=ClassLoading&quot;,LoadedClassCount]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU and memory average load</name>
            <percent_right>100</percent_right>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template SNMPv3 AES - EN</host>
                        <key>iso.3.6.1.4.1.9.2.1.8.0</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>F63100</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template SNMPv3 AES - EN</host>
                        <key>iso.3.6.1.4.1.9.2.1.58.0</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU jumps</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.switches[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.intr[node_exporter]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU jumps</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.switches</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.intr</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU jumps</name>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>system.cpu.switches</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>system.cpu.intr</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU jumps</name>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>system.cpu.switches</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>system.cpu.intr</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU jumps</name>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.cpu.switches</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.cpu.intr</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU jumps</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.switches</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.intr</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU jumps</name>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.cpu.switches</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.cpu.intr</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU jumps</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Windows CPU by Zabbix agent active</host>
                        <key>perf_counter_en[&quot;\System\Context Switches/sec&quot;]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Windows CPU by Zabbix agent active</host>
                        <key>perf_counter_en[&quot;\Processor Information(_total)\% Interrupt Time&quot;]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU jumps</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux CPU SNMPv2</host>
                        <key>system.cpu.switches[ssRawContexts.0]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux CPU SNMPv2</host>
                        <key>system.cpu.intr[ssRawInterrupts.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU jumps</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Windows CPU by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\System\Context Switches/sec&quot;]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Windows CPU by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Processor Information(_total)\% Interrupt Time&quot;]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU load</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>system.cpu.load[percpu,avg1]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>system.cpu.load[percpu,avg5]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>system.cpu.load[percpu,avg15]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU load</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template OS HP-UX</host>
                        <key>system.cpu.load[percpu,avg1]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template OS HP-UX</host>
                        <key>system.cpu.load[percpu,avg5]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template OS HP-UX</host>
                        <key>system.cpu.load[percpu,avg15]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU load</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.cpu.load[percpu,avg1]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.cpu.load[percpu,avg5]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.cpu.load[percpu,avg15]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU load</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>system.cpu.load[percpu,avg1]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>system.cpu.load[percpu,avg5]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>system.cpu.load[percpu,avg15]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU load</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template OS Mac OS X</host>
                        <key>system.cpu.load[percpu,avg1]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template OS Mac OS X</host>
                        <key>system.cpu.load[percpu,avg5]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template OS Mac OS X</host>
                        <key>system.cpu.load[percpu,avg15]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU load</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.cpu.load[percpu,avg1]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.cpu.load[percpu,avg5]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.cpu.load[percpu,avg15]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU usage</name>
            <type>STACKED</type>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.util[,system]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.util[,user]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.util[,nice]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.util[,iowait]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.util[,steal]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.util[,interrupt]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.util[,softirq]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>611F27</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.util[,guest]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>F230E0</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.util[,guest_nice]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU Usage</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <calc_fnc>ALL</calc_fnc>
                    <item>
                        <host>Dahua Video Camera</host>
                        <key>cpuUsage.0</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU usage</name>
            <type>STACKED</type>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Windows CPU by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Processor Information(_total)\% User Time&quot;]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Windows CPU by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Processor Information(_total)\% Privileged Time&quot;]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU usage</name>
            <type>STACKED</type>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.system[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.user[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.nice[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.iowait[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.steal[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.interrupt[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.softirq[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>611F27</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.guest[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>F230E0</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.guest_nice[node_exporter]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU usage</name>
            <type>STACKED</type>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Windows CPU by Zabbix agent active</host>
                        <key>perf_counter_en[&quot;\Processor Information(_total)\% User Time&quot;]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Windows CPU by Zabbix agent active</host>
                        <key>perf_counter_en[&quot;\Processor Information(_total)\% Privileged Time&quot;]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU usage</name>
            <type>STACKED</type>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.util[,system]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.util[,user]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.util[,nice]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.util[,iowait]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.util[,steal]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.util[,interrupt]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.util[,softirq]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>611F27</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.util[,guest]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>F230E0</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.util[,guest_nice]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU Usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>00C800</color>
                    <item>
                        <host>Template_A10_AX_Series</host>
                        <key>axSysAverageControlCpuUsage</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>C80000</color>
                    <item>
                        <host>Template_A10_AX_Series</host>
                        <key>axSysAverageCpuUsage</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template_A10_AX_Series</host>
                        <key>axSysAverageDataCpuUsage</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU usage ratio</name>
            <graph_items>
                <graph_item>
                    <item>
                        <host>Template Device BigIP F5</host>
                        <key>sysGlobalHostCpuUsageRatio1m</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 D-Link DES_DGS Switch SNMPv2</host>
                        <key>system.cpu.util[agentCPUutilizationIn1min.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.util</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Brocade_Foundry Performance SNMPv2</host>
                        <key>system.cpu.util[snAgGblCpuUtil1MinAvg.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Cisco OLD-CISCO-CPU-MIB SNMPv2</host>
                        <key>system.cpu.util[avgBusy5]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 D-Link DES 7200 SNMPv2</host>
                        <key>system.cpu.util[myCPUUtilization5Min.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 QTech QSW SNMPv2</host>
                        <key>system.cpu.util[switchCpuUsage.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Extreme EXOS SNMPv2</host>
                        <key>system.cpu.util[extremeCpuMonitorTotalUtilization.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Netgear Fastpath SNMPv2</host>
                        <key>system.cpu.util[agentSwitchCpuProcessTotalUtilization.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Ubiquiti AirOS SNMPv1</host>
                        <key>system.cpu.util[loadValue.2]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 HP Enterprise Switch SNMPv2</host>
                        <key>system.cpu.util[hpSwitchCpuStat.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module HOST-RESOURCES-MIB CPU SNMPv2</host>
                        <key>system.cpu.util</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.util</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Brocade FC SNMPv2</host>
                        <key>system.cpu.util[swCpuUsage.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Alcatel Timetra TiMOS SNMPv2</host>
                        <key>system.cpu.util[sgiCpuUsage.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU utilization</name>
            <show_triggers>NO</show_triggers>
            <type>STACKED</type>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>009999</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.cpu.util[,interrupt]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>990099</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.cpu.util[,nice]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>990000</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.cpu.util[,system]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>000099</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.cpu.util[,user]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>009900</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.cpu.util[,idle]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU utilization</name>
            <show_triggers>NO</show_triggers>
            <type>STACKED</type>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>009999</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.cpu.util[,interrupt]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>990099</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.cpu.util[,nice]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>990000</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.cpu.util[,system]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>000099</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.cpu.util[,user]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>009900</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.cpu.util[,idle]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU utilization</name>
            <show_triggers>NO</show_triggers>
            <type>STACKED</type>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>990099</color>
                    <item>
                        <host>Template OS HP-UX</host>
                        <key>system.cpu.util[,nice]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>990000</color>
                    <item>
                        <host>Template OS HP-UX</host>
                        <key>system.cpu.util[,system]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>000099</color>
                    <item>
                        <host>Template OS HP-UX</host>
                        <key>system.cpu.util[,user]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>009900</color>
                    <item>
                        <host>Template OS HP-UX</host>
                        <key>system.cpu.util[,idle]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU utilization</name>
            <show_triggers>NO</show_triggers>
            <type>STACKED</type>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>999900</color>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>system.cpu.util[,iowait]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>990000</color>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>system.cpu.util[,system]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>000099</color>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>system.cpu.util[,user]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>009900</color>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>system.cpu.util[,idle]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Windows CPU by Zabbix agent</host>
                        <key>system.cpu.util</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Windows CPU by Zabbix agent active</host>
                        <key>system.cpu.util</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>CPU utilization</name>
            <show_triggers>NO</show_triggers>
            <type>STACKED</type>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>009999</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>system.stat[cpu,ec]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>990099</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>system.stat[cpu,pc]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>999900</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>system.stat[cpu,wa]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>system.stat[cpu,sy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>system.stat[cpu,us]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>009900</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>system.stat[cpu,id]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 OS Linux by Prom</host>
                        <key>system.cpu.util[node_exporter]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Device Uptime</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Generic Cisco</host>
                        <key>sysUpTime</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Disk Space Usage</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00C800</color>
                    <item>
                        <host>Template_A10_AX_Series</host>
                        <key>axSysDiskFreeSpace</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>0000EE</color>
                    <item>
                        <host>Template_A10_AX_Series</host>
                        <key>axSysDiskTotalSpace</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Fan speed and ambient temperature</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>EE0000</color>
                    <item>
                        <host>Template Server Intel SR1530 IPMI</host>
                        <key>bb_ambient_temp</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>000000</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template Server Intel SR1530 IPMI</host>
                        <key>system_fan_3</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Fan speed and temperature</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>EE0000</color>
                    <item>
                        <host>Template Server Intel SR1630 IPMI</host>
                        <key>front_panel_temp</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>EE00EE</color>
                    <item>
                        <host>Template Server Intel SR1630 IPMI</host>
                        <key>baseboard_temp</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>000000</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template Server Intel SR1630 IPMI</host>
                        <key>system_fan_2</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <drawtype>DASHED_LINE</drawtype>
                    <color>000000</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template Server Intel SR1630 IPMI</host>
                        <key>system_fan_3</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>File Descriptors</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=OperatingSystem&quot;,MaxFileDescriptorCount]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=OperatingSystem&quot;,OpenFileDescriptorCount]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Garbage Collector collections per second</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=GarbageCollector,name=PS Scavenge&quot;,CollectionCount]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=GarbageCollector,name=ConcurrentMarkSweep&quot;,CollectionCount]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=GarbageCollector,name=Copy&quot;,CollectionCount]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>C8C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=GarbageCollector,name=MarkSweepCompact&quot;,CollectionCount]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>00C8C9</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=GarbageCollector,name=PS MarkSweep&quot;,CollectionCount]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>C800C8</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=GarbageCollector,name=ParNew&quot;,CollectionCount]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>http-8080 worker threads</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,maxThreads]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,currentThreadsBusy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTP}\&quot;&quot;,currentThreadCount]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>http-8443 worker threads</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,maxThreads]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,currentThreadsBusy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_HTTPS}\&quot;&quot;,currentThreadCount]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>ICMP Checks</name>
            <show_work_period>NO</show_work_period>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Generic Cisco</host>
                        <key>icmppingloss</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Generic Cisco</host>
                        <key>icmpping</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Generic Cisco</host>
                        <key>icmppingsec</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>IIS: Cache hits percentage</name>
            <type>STACKED</type>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service Cache\URI Cache Hits %&quot;]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>2774A4</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service Cache\File Cache Hits %&quot;]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>IIS: Cache misses</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service Cache\URI Cache Misses&quot;]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service Cache\File Cache Misses&quot;]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>IIS: Requests rate</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service(_Total)\Total Method Requests/Sec&quot;, 60]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service(_Total)\Other Request Methods/Sec&quot;, 60]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service(_Total)\Get Requests/Sec&quot;, 60]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service(_Total)\Post Requests/Sec&quot;, 60]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service(_Total)\Put Requests/Sec&quot;, 60]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service(_Total)\Delete Requests/Sec&quot;, 60]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service(_Total)\Head Requests/Sec&quot;, 60]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>611F27</color>
                    <item>
                        <host>Template App IIS by Zabbix agent</host>
                        <key>perf_counter_en[&quot;\Web Service(_Total)\Trace Requests/Sec&quot;, 60]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>jk-8009 worker threads</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,maxThreads]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,currentThreadsBusy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=ThreadPool,name=\&quot;{$PROTOCOL_HANDLER_AJP}\&quot;&quot;,currentThreadCount]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory Pool CMS Old Gen</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Old Gen&quot;,Usage.committed]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Old Gen&quot;,Usage.max]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Old Gen&quot;,Usage.used]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory Pool CMS Perm Gen</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Perm Gen&quot;,Usage.committed]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Perm Gen&quot;,Usage.max]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=CMS Perm Gen&quot;,Usage.used]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory Pool Code Cache</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=Code Cache&quot;,Usage.committed]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=Code Cache&quot;,Usage.max]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=Code Cache&quot;,Usage.used]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory Pool Perm Gen</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=Perm Gen&quot;,Usage.committed]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=Perm Gen&quot;,Usage.max]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=Perm Gen&quot;,Usage.used]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory Pool PS Old Gen</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=G1 Old Gen&quot;,Usage.committed]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=G1 Old Gen&quot;,Usage.max]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=G1 Old Gen&quot;,Usage.used]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory Pool PS Perm Gen</name>
            <graph_items>
                <graph_item>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=PS Perm Gen&quot;,Usage.committed]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>C80000</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=PS Perm Gen&quot;,Usage.max]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=PS Perm Gen&quot;,Usage.used]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory Pool Tenured Gen</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=Tenured Gen&quot;,Usage.committed]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=Tenured Gen&quot;,Usage.max]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=MemoryPool,name=Tenured Gen&quot;,Usage.used]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>vm.memory.total[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>2774A4</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>vm.memory.available[node_exporter]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux memory by Zabbix agent</host>
                        <key>vm.memory.size[total]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux memory by Zabbix agent</host>
                        <key>vm.memory.size[available]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>ITEM</ymax_type_1>
            <ymax_item_1>
                <host>Template OS Solaris</host>
                <key>vm.memory.size[total]</key>
            </ymax_item_1>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00C800</color>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>vm.memory.size[available]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux memory SNMPv2</host>
                        <key>vm.memory.total[memTotalReal.0]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux memory SNMPv2</host>
                        <key>vm.memory.available[snmp]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux memory by Zabbix agent active</host>
                        <key>vm.memory.size[total]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux memory by Zabbix agent active</host>
                        <key>vm.memory.size[available]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>ITEM</ymax_type_1>
            <ymax_item_1>
                <host>Template OS AIX</host>
                <key>vm.memory.size[total]</key>
            </ymax_item_1>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00C800</color>
                    <item>
                        <host>Template OS AIX</host>
                        <key>vm.memory.size[available]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>ITEM</ymax_type_1>
            <ymax_item_1>
                <host>Template OS FreeBSD</host>
                <key>vm.memory.size[total]</key>
            </ymax_item_1>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00C800</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>vm.memory.size[available]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory Usage</name>
            <graph_items>
                <graph_item>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>FFBF00</color>
                    <item>
                        <host>Generic Cisco</host>
                        <key>ciscoMemoryPoolUsed</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>FF4000</color>
                    <item>
                        <host>Generic Cisco</host>
                        <key>ciscoMemoryPoolFree</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>ITEM</ymax_type_1>
            <ymax_item_1>
                <host>Template OS HP-UX</host>
                <key>vm.memory.size[total]</key>
            </ymax_item_1>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00C800</color>
                    <item>
                        <host>Template OS HP-UX</host>
                        <key>vm.memory.size[available]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Net Netgear Fastpath SNMPv2</host>
                        <key>vm.memory.total[agentSwitchCpuProcessMemAvailable.0]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>2774A4</color>
                    <item>
                        <host>Template Net Netgear Fastpath SNMPv2</host>
                        <key>vm.memory.available[agentSwitchCpuProcessMemFree.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Net Alcatel Timetra TiMOS SNMPv2</host>
                        <key>vm.memory.total[snmp]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>2774A4</color>
                    <item>
                        <host>Template Net Alcatel Timetra TiMOS SNMPv2</host>
                        <key>vm.memory.available[sgiKbMemoryAvailable.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>ITEM</ymax_type_1>
            <ymax_item_1>
                <host>Template OS Mac OS X</host>
                <key>vm.memory.size[total]</key>
            </ymax_item_1>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00C800</color>
                    <item>
                        <host>Template OS Mac OS X</host>
                        <key>vm.memory.size[available]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>ITEM</ymax_type_1>
            <ymax_item_1>
                <host>Template OS OpenBSD</host>
                <key>vm.memory.size[total]</key>
            </ymax_item_1>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00C800</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>vm.memory.size[available]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory Usage</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00C800</color>
                    <item>
                        <host>Template_A10_AX_Series</host>
                        <key>axSysMemoryUsage</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>0000EE</color>
                    <item>
                        <host>Template_A10_AX_Series</host>
                        <key>axSysMemoryTotal</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Memory usage (OS)</name>
            <ymax_type_1>ITEM</ymax_type_1>
            <ymax_item_1>
                <host>Template Device BigIP F5</host>
                <key>sysHostMemoryTotal</key>
            </ymax_item_1>
            <graph_items>
                <graph_item>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>00DD00</color>
                    <item>
                        <host>Template Device BigIP F5</host>
                        <key>sysHostMemoryTotal</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>FILLED_REGION</drawtype>
                    <color>EE0000</color>
                    <item>
                        <host>Template Device BigIP F5</host>
                        <key>sysHostMemoryUsed</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Brocade_Foundry Performance SNMPv2</host>
                        <key>vm.memory.util[snAgGblDynMemUtil.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Mikrotik SNMPv2</host>
                        <key>vm.memory.util[memoryUsedPercentage.Memory]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Linux memory by Zabbix agent active</host>
                        <key>vm.memory.size[pavailable]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Netgear Fastpath SNMPv2</host>
                        <key>vm.memory.util[memoryUsedPercentage.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Linux memory by Zabbix agent</host>
                        <key>vm.memory.size[pavailable]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Windows memory by Zabbix agent active</host>
                        <key>vm.memory.util</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Brocade FC SNMPv2</host>
                        <key>vm.memory.util[swMemUsage.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Alcatel Timetra TiMOS SNMPv2</host>
                        <key>vm.memory.util[vm.memory.util.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 OS Linux by Prom</host>
                        <key>vm.memory.util[node_exporter]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Linux memory SNMPv2</host>
                        <key>vm.memory.util[snmp]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 QTech QSW SNMPv2</host>
                        <key>vm.memory.util[vm.memory.util.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Module Windows memory by Zabbix agent</host>
                        <key>vm.memory.util</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>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 Ubiquiti AirOS SNMPv1</host>
                        <key>vm.memory.util[memoryUsedPercentage]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Access methods</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.forwarded_records_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.full_scans_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.index_searches_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.page_splits_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.workfiles_created_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.worktables_created_sec.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Auto-params</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.autoparam_attempts_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.failed_autoparams_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.safe_autoparams_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.unsafe_autoparams_sec.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Cache objects</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.cache_object_counts</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.cache_objects_in_use</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Compilations</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.sql_compilations_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.sql_compilations_sec.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Database pages</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.database_pages</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.target_pages</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Errors</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.errors_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.offline_errors_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.info_errors_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.kill_connection_errors_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.user_errors_sec.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Locks</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.lock_requests_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.lock_timeouts_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.number_deadlocks_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.lock_waits_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.average_wait_time</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Logins per second and Logouts per second</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.logins_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.logouts_sec.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Memory/cache load</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.cache_hit_ratio</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.buffer_cache_hit_ratio</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Memory grants outstanding and pending</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.memory_grants_outstanding</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.memory_grants_pending</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Page life expectancy</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.page_life_expectancy</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Pages</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.page_lookups_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.page_reads_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.page_writes_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.readahead_pages_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.checkpoint_pages_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.free_list_stalls_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.lazy_writes_sec.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Processes blocked</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.processes_blocked</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Server memory</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.target_server_memory</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.total_server_memory</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.granted_workspace_memory</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.maximum_workspace_memory</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Transactions</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.transactions_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.batch_requests_sec.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Waits per second</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.latch_waits_sec.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.lock_waits_sec.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MSSQL: Wait times</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.average_latch_wait_time</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.total_latch_wait_time</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.average_wait_time</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template DB MSSQL by ODBC</host>
                        <key>mssql.lock_wait_time</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MySQL bandwidth</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00AA00</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.bytes_received.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>3333FF</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.bytes_sent.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MySQL connections</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.aborted_clients.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.aborted_connects.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.connections.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.max_used_connections</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MySQL InnoDB buffer pool</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.innodb_buffer_pool_pages_free</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.innodb_buffer_pool_pages_total</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.innodb_buffer_pool_read_requests</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.innodb_buffer_pool_reads</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MySQL operations</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.com_delete.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>0000EE</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.com_insert.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.com_select.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>C800C8</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.com_update.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MySQL queries</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.slow_queries.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.queries.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.questions.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>MySQL threads</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.threads_cached</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.threads_connected</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.threads_created</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template DB MySQL</host>
                        <key>mysql.threads_running</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Network traffic on en0</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00AA00</color>
                    <item>
                        <host>Template OS Mac OS X</host>
                        <key>net.if.in[en0]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>3333FF</color>
                    <item>
                        <host>Template OS Mac OS X</host>
                        <key>net.if.out[en0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Nginx: Connections by state</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Nginx by HTTP</host>
                        <key>nginx.connections.active</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App Nginx by HTTP</host>
                        <key>nginx.connections.waiting</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App Nginx by HTTP</host>
                        <key>nginx.connections.writing</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template App Nginx by HTTP</host>
                        <key>nginx.connections.reading</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Nginx: Connections by state</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Nginx by Zabbix agent</host>
                        <key>nginx.connections.active</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App Nginx by Zabbix agent</host>
                        <key>nginx.connections.waiting</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App Nginx by Zabbix agent</host>
                        <key>nginx.connections.writing</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template App Nginx by Zabbix agent</host>
                        <key>nginx.connections.reading</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Nginx: Connections per second</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Nginx by Zabbix agent</host>
                        <key>nginx.connections.accepted.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App Nginx by Zabbix agent</host>
                        <key>nginx.connections.handled.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App Nginx by Zabbix agent</host>
                        <key>nginx.connections.dropped.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Nginx: Connections per second</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Nginx by HTTP</host>
                        <key>nginx.connections.accepted.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App Nginx by HTTP</host>
                        <key>nginx.connections.handled.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App Nginx by HTTP</host>
                        <key>nginx.connections.dropped.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Nginx: Memory usage</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Nginx by Zabbix agent</host>
                        <key>proc.mem[nginx,,,,vsize]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App Nginx by Zabbix agent</host>
                        <key>proc.mem[nginx,,,,rss]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Nginx: Requests per second</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Nginx by HTTP</host>
                        <key>nginx.requests.total.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Nginx: Requests per second</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App Nginx by Zabbix agent</host>
                        <key>nginx.requests.total.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>NTP accuracy information</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>NTP_Monitoring</host>
                        <key>system.run[ntpq -p|grep \* |awk '{print$9}']</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>NTP_Monitoring</host>
                        <key>system.run[ntpq -p|grep \* |awk '{print$10}']</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>NTP_Monitoring</host>
                        <key>system.run[ntpq -p|grep \* |awk '{print$8}']</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>NTP accuracy information [{$NTP_IP}]</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>NTP-remote</host>
                        <key>system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$9}']</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>NTP-remote</host>
                        <key>system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$10}']</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>NTP-remote</host>
                        <key>system.run[ntpq -p {$NTP_IP}|grep \* |awk '{print$8}']</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>PostgreSQL bgwriter</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.bgwriter.buffers_alloc.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>F63100</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.bgwriter.buffers_clean.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>2774A4</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.bgwriter.buffers_backend.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.bgwriter.buffers_checkpoint.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.bgwriter.maxwritten_clean.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.bgwriter.buffers_backend_fsync.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>PostgreSQL checkpoints</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.bgwriter.checkpoints_timed.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.bgwriter.checkpoints_req.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>2774A4</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.bgwriter.checkpoint_sync_time</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.bgwriter.checkpoint_write_time</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>PostgreSQL connections</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>C8E6C9</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.connections.sum.total</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.connections.sum.total_pct</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>1A7C11</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.connections.sum.active</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>F63100</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.connections.sum.idle</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>2774A4</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.connections.sum.idle_in_transaction</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>A54F10</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.connections.sum.prepared</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.connections.sum.waiting</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>PostgreSQL ping</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>A5D6A7</color>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.ping[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>039BE5</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.ping.time[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>PostgreSQL replication lag</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>42A5F5</color>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.replication.lag.sec[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>PostgreSQL transactions</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.transactions.active</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>F63100</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.transactions.idle</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>2774A4</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.transactions.prepared</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.transactions.waiting</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>PostgreSQL uptime</name>
            <show_triggers>NO</show_triggers>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>66BB6A</color>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.uptime[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>03A9F4</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.cache.hit[&quot;{$PG.HOST}&quot;,&quot;{$PG.PORT}&quot;,&quot;{$PG.USER}&quot;,&quot;{$PG.DB}&quot;]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>PostgreSQL WAL</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>29B6F6</color>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.wal.write</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>AB47BC</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template DB PostgreSQL</host>
                        <key>pgsql.wal.count</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Processes</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux generic by Zabbix agent</host>
                        <key>proc.num</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux generic by Zabbix agent</host>
                        <key>proc.num[,,run]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template Module Linux generic by Zabbix agent</host>
                        <key>kernel.maxproc</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Processes</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux generic by Zabbix agent active</host>
                        <key>proc.num</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux generic by Zabbix agent active</host>
                        <key>proc.num[,,run]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template Module Linux generic by Zabbix agent active</host>
                        <key>kernel.maxproc</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Connections</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.object_totals.connections</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.object_totals.channels</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.object_totals.consumers</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Connections</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.object_totals.connections</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.object_totals.channels</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.object_totals.consumers</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Disk free</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by HTTP</host>
                        <key>rabbitmq.node.disk_free</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>FF0000</color>
                    <item>
                        <host>Template App RabbitMQ node by HTTP</host>
                        <key>rabbitmq.node.disk_free_limit</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Disk free</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>rabbitmq.node.disk_free</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>FF0000</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>rabbitmq.node.disk_free_limit</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: File descriptors</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by HTTP</host>
                        <key>rabbitmq.node.fd_used</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: File descriptors</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>rabbitmq.node.fd_used</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Memory usage</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>proc.mem[&quot;{$RABBITMQ.PROCESS_NAME}&quot;,,,,vsize]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>proc.mem[&quot;{$RABBITMQ.PROCESS_NAME}&quot;,,,,rss]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Memory used</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by HTTP</host>
                        <key>rabbitmq.node.mem_used</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>FF0000</color>
                    <item>
                        <host>Template App RabbitMQ node by HTTP</host>
                        <key>rabbitmq.node.mem_limit</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Memory used</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>rabbitmq.node.mem_used</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>FF0000</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>rabbitmq.node.mem_limit</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Messages</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.queue_totals.messages</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.queue_totals.messages.ready</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.queue_totals.messages.unacknowledged</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Messages</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.queue_totals.messages</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.queue_totals.messages.ready</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.queue_totals.messages.unacknowledged</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Messages per second</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.publish.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.ack.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.confirm.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.deliver_get.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.publish_in.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.publish_out.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.redeliver.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>611F27</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.return_unroutable.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Messages per second</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.publish.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.ack.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.confirm.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.deliver_get.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.publish_in.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.publish_out.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.redeliver.rate</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>611F27</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.return_unroutable.rate</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Messages status</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.publish</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.ack</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.confirm</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.deliver_get</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.publish_in</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.publish_out</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.redeliver</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>611F27</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.messages.return_unroutable</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Messages status</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.publish</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.ack</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.confirm</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.deliver_get</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>FC6EA3</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.publish_in</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>6C59DC</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.publish_out</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>AC8C14</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.redeliver</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>611F27</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.messages.return_unroutable</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Node status</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by HTTP</host>
                        <key>rabbitmq.node.running</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ node by HTTP</host>
                        <key>rabbitmq.healthcheck</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Node status</name>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>rabbitmq.node.running</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>web.page.get[&quot;http://{$RABBITMQ.API.USER}:{$RABBITMQ.API.PASSWORD}@{$RABBITMQ.API.HOST}:{$RABBITMQ.API.PORT}/api/healthchecks/node&quot;]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Queues</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ cluster by Zabbix agent</host>
                        <key>rabbitmq.overview.object_totals.queues</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Queues</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ cluster by HTTP</host>
                        <key>rabbitmq.overview.object_totals.queues</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Sockets</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>rabbitmq.node.sockets_used</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>rabbitmq.node.sockets_total</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Sockets</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by HTTP</host>
                        <key>rabbitmq.node.sockets_used</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template App RabbitMQ node by HTTP</host>
                        <key>rabbitmq.node.sockets_total</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Uptime</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by Zabbix agent</host>
                        <key>rabbitmq.node.uptime</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>RabbitMQ: Uptime</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template App RabbitMQ node by HTTP</host>
                        <key>rabbitmq.node.uptime</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>sessions /</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=Manager,context=/,host=localhost&quot;,rejectedSessions]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=Manager,context=/,host=localhost&quot;,activeSessions]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Apache Tomcat JMX</host>
                        <key>jmx[&quot;Catalina:type=Manager,context=/,host=localhost&quot;,maxActiveSessions]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Speed of FANs</name>
            <graph_items>
                <graph_item>
                    <color>00C800</color>
                    <item>
                        <host>Template_A10_AX_Series</host>
                        <key>axSysHwFan1Speed</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>C80000</color>
                    <item>
                        <host>Template_A10_AX_Series</host>
                        <key>axSysHwFan2Speed</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template_A10_AX_Series</host>
                        <key>axSysHwFan3Speed</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Swap usage</name>
            <width>600</width>
            <height>340</height>
            <show_work_period>NO</show_work_period>
            <show_triggers>NO</show_triggers>
            <type>PIE</type>
            <show_3d>YES</show_3d>
            <graph_items>
                <graph_item>
                    <color>AA0000</color>
                    <type>GRAPH_SUM</type>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>system.swap.size[,total]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00AA00</color>
                    <item>
                        <host>Template OS Solaris</host>
                        <key>system.swap.size[,free]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Swap usage</name>
            <width>600</width>
            <height>340</height>
            <show_work_period>NO</show_work_period>
            <show_triggers>NO</show_triggers>
            <type>PIE</type>
            <show_3d>YES</show_3d>
            <graph_items>
                <graph_item>
                    <color>AA0000</color>
                    <type>GRAPH_SUM</type>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.swap.size[,total]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00AA00</color>
                    <item>
                        <host>Template OS FreeBSD</host>
                        <key>system.swap.size[,free]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Swap usage</name>
            <width>600</width>
            <height>340</height>
            <show_work_period>NO</show_work_period>
            <show_triggers>NO</show_triggers>
            <type>PIE</type>
            <show_3d>YES</show_3d>
            <graph_items>
                <graph_item>
                    <color>AA0000</color>
                    <type>GRAPH_SUM</type>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.swap.size[,total]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00AA00</color>
                    <item>
                        <host>Template OS OpenBSD</host>
                        <key>system.swap.size[,free]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Swap usage</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Windows memory by Zabbix agent</host>
                        <key>system.swap.size[,free]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Windows memory by Zabbix agent</host>
                        <key>system.swap.size[,total]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Swap usage</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.swap.free[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.swap.total[node_exporter]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Swap usage</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux memory SNMPv2</host>
                        <key>system.swap.free[memAvailSwap.0]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux memory SNMPv2</host>
                        <key>system.swap.total[memTotalSwap.0]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Swap usage</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux memory by Zabbix agent</host>
                        <key>system.swap.size[,free]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux memory by Zabbix agent</host>
                        <key>system.swap.size[,total]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Swap usage</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux memory by Zabbix agent active</host>
                        <key>system.swap.size[,free]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux memory by Zabbix agent active</host>
                        <key>system.swap.size[,total]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Swap usage</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Windows memory by Zabbix agent active</host>
                        <key>system.swap.size[,free]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Windows memory by Zabbix agent active</host>
                        <key>system.swap.size[,total]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>System load</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.load[all,avg1]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.load[all,avg5]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.load[all,avg15]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent active</host>
                        <key>system.cpu.num</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>System load</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux CPU SNMPv2</host>
                        <key>system.cpu.load.avg1[laLoad.1]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux CPU SNMPv2</host>
                        <key>system.cpu.load.avg5[laLoad.2]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template Module Linux CPU SNMPv2</host>
                        <key>system.cpu.load.avg15[laLoad.3]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template Module Linux CPU SNMPv2</host>
                        <key>system.cpu.num[snmp]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>System load</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.load[all,avg1]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.load[all,avg5]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.load[all,avg15]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template Module Linux CPU by Zabbix agent</host>
                        <key>system.cpu.num</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>System load</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.load.avg1[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>2774A4</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.load.avg5[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.load.avg15[node_exporter]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>A54F10</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template OS Linux by Prom</host>
                        <key>system.cpu.num[node_exporter]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Threads</name>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=Threading&quot;,PeakThreadCount]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=Threading&quot;,DaemonThreadCount]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000C8</color>
                    <item>
                        <host>Template App Generic Java JMX</host>
                        <key>jmx[&quot;java.lang:type=Threading&quot;,ThreadCount]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Used CPU</name>
            <graph_items>
                <graph_item>
                    <color>1A7C11</color>
                    <item>
                        <host>Generic Cisco</host>
                        <key>ciscoCpmCPUTotal5minRev</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Value cache effectiveness</name>
            <type>STACKED</type>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[vcache,cache,misses]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[vcache,cache,hits]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Value cache effectiveness</name>
            <type>STACKED</type>
            <graph_items>
                <graph_item>
                    <color>C80000</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>vcache.cache.misses</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00C800</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>vcache.cache.hits</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Voltage</name>
            <yaxismax>5.5</yaxismax>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>880000</color>
                    <item>
                        <host>Template Server Intel SR1530 IPMI</host>
                        <key>power</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>009900</color>
                    <item>
                        <host>Template Server Intel SR1530 IPMI</host>
                        <key>bb_1.8v_sm</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>00CCCC</color>
                    <item>
                        <host>Template Server Intel SR1530 IPMI</host>
                        <key>bb_3.3v</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>000000</color>
                    <item>
                        <host>Template Server Intel SR1530 IPMI</host>
                        <key>bb_3.3v_stby</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>3333FF</color>
                    <item>
                        <host>Template Server Intel SR1530 IPMI</host>
                        <key>bb_5.0v</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>777700</color>
                    <item>
                        <host>Template Server Intel SR1530 IPMI</host>
                        <key>processor_vcc</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Voltage</name>
            <yaxismax>5.5</yaxismax>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <drawtype>BOLD_LINE</drawtype>
                    <color>880000</color>
                    <item>
                        <host>Template Server Intel SR1630 IPMI</host>
                        <key>power</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>009900</color>
                    <item>
                        <host>Template Server Intel SR1630 IPMI</host>
                        <key>bb_1.05v_pch</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>00CCCC</color>
                    <item>
                        <host>Template Server Intel SR1630 IPMI</host>
                        <key>bb_3.3v</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>000000</color>
                    <item>
                        <host>Template Server Intel SR1630 IPMI</host>
                        <key>bb_3.3v_stby</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>3333FF</color>
                    <item>
                        <host>Template Server Intel SR1630 IPMI</host>
                        <key>bb_5.0v</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix cache usage, % free</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>wcache.trend.pused</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>DD0000</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>rcache.buffer.pused</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>00DDDD</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>wcache.index.pused</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>3333FF</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>wcache.history.pused</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>999900</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>vcache.buffer.pused</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>00FF00</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>vmware.buffer.pused</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix cache usage, % free</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>DD0000</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>rcache.buffer.pused</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00DDDD</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>wcache.index.pused</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>3333FF</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>wcache.history.pused</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>00FF00</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>vmware.buffer.pused</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix cache usage, % used</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>DD0000</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[rcache,buffer,pused]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>00DDDD</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[wcache,index,pused]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>3333FF</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[wcache,history,pused]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>00FF00</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[vmware,buffer,pused]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix cache usage, % used</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>009900</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[wcache,trend,pused]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>DD0000</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[rcache,buffer,pused]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>00DDDD</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[wcache,index,pused]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>3333FF</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[wcache,history,pused]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>999900</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[vcache,buffer,pused]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>00FF00</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[vmware,buffer,pused]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix data gathering process busy %</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>990099</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,trapper,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,poller,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000EE</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,ipmi poller,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>FF33FF</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,discoverer,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>007700</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,icmp pinger,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>003300</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,http poller,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>33FFFF</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,unreachable poller,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>DD0000</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,java poller,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>000099</color>
                    <calc_fnc>ALL</calc_fnc>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,snmp trapper,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>9</sortorder>
                    <color>00FF00</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,vmware collector,avg,busy]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix data gathering process busy %</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>990099</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,trapper,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,poller,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000EE</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,ipmi poller,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>FF33FF</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,discoverer,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,icmp pinger,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>003300</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,http poller,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>CCCC00</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,proxy poller,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>33FFFF</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,unreachable poller,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>DD0000</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,java poller,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>9</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,snmp trapper,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>10</sortorder>
                    <color>00FF00</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,vmware collector,avg,busy]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix data gathering process busy %</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>990099</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.trapper.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.poller.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000EE</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.ipmi_poller.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>FF33FF</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.discoverer.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.icmp_pinger.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>003300</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.http_poller.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>CCCC00</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.proxy_poller.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>33FFFF</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.unreachable_poller.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>DD0000</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.java_poller.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>9</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.snmp_trapper.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>10</sortorder>
                    <color>00FF00</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.vmware_collector.avg.busy</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix data gathering process busy %</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>990099</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.trapper.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.poller.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>0000EE</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.ipmi_poller.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>FF33FF</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.discoverer.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>00EE00</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.icmp_pinger.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>003300</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.http_poller.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>33FFFF</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.unreachable_poller.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>DD0000</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.java_poller.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>000099</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.snmp_trapper.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>9</sortorder>
                    <color>00FF00</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.vmware_collector.avg.busy</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix internal process busy %</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>00EE00</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,timer,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>0000EE</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,escalator,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>FFAA00</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,housekeeper,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>00EEEE</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,alerter,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>990099</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,configuration syncer,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>EE0000</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,history syncer,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>FF66FF</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,self-monitoring,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>009999</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,task manager,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>BBBB00</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,ipmi manager,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>9</sortorder>
                    <color>AA0000</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,alert manager,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>10</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,preprocessing manager,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>11</sortorder>
                    <color>008800</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,preprocessing worker,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>12</sortorder>
                    <color>80B0E0</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,lld manager,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>13</sortorder>
                    <color>4080B0</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,lld worker,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>14</sortorder>
                    <color>8000FF</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[process,alert syncer,avg,busy]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix internal process busy %</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>00EE00</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.timer.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>0000EE</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.escalator.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>FFAA00</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.housekeeper.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>00EEEE</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.alerter.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>990099</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.configuration_syncer.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>EE0000</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.history_syncer.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>FF66FF</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.self-monitoring.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>009999</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.task_manager.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>BBBB00</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.ipmi_manager.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>9</sortorder>
                    <color>AA0000</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.alert_manager.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>10</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.preprocessing_manager.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>11</sortorder>
                    <color>008800</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.preprocessing_worker.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>12</sortorder>
                    <color>80B0E0</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.lld_manager.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>13</sortorder>
                    <color>4080B0</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.lld_worker.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>14</sortorder>
                    <color>8000FF</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>process.alert_syncer.avg.busy</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix internal process busy %</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>FFAA00</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,housekeeper,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>990099</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,configuration syncer,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>EE0000</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,history syncer,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>FF66FF</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,self-monitoring,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>0000EE</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,heartbeat sender,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <color>00EE00</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,data sender,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>009999</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,task manager,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>BBBB00</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,ipmi manager,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>8</sortorder>
                    <color>990000</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,preprocessing manager,avg,busy]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>9</sortorder>
                    <color>008800</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[process,preprocessing worker,avg,busy]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix internal process busy %</name>
            <ymin_type_1>FIXED</ymin_type_1>
            <ymax_type_1>FIXED</ymax_type_1>
            <graph_items>
                <graph_item>
                    <color>FFAA00</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.housekeeper.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>990099</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.configuration_syncer.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>2</sortorder>
                    <color>EE0000</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.history_syncer.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>3</sortorder>
                    <color>FF66FF</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.self-monitoring.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>4</sortorder>
                    <color>960000</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.heartbeat_sender.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>5</sortorder>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.data_sender.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>6</sortorder>
                    <color>009999</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.task_manager.avg.busy</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>7</sortorder>
                    <color>BBBB00</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>process.ipmi_manager.avg.busy</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix internal queues</name>
            <graph_items>
                <graph_item>
                    <color>008800</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[preprocessing_queue]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>EE0000</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[lld_queue]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix internal queues</name>
            <graph_items>
                <graph_item>
                    <color>008800</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[preprocessing_queue]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix internal queues</name>
            <graph_items>
                <graph_item>
                    <color>008800</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>preprocessing_queue</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>EE0000</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>lld_queue</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix proxy performance</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00C800</color>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[wcache,values]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>C80000</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template App Zabbix Proxy</host>
                        <key>zabbix[queue]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix proxy performance</name>
            <graph_items>
                <graph_item>
                    <color>00C800</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>wcache.values</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>C80000</color>
                    <item>
                        <host>Template App Remote Zabbix proxy</host>
                        <key>zabbix[stats,{$ADDRESS},{$PORT},queue]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix server performance</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00C800</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>wcache.values</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <color>F63100</color>
                    <item>
                        <host>Template App Remote Zabbix server</host>
                        <key>zabbix[stats,{$ADDRESS},{$PORT},queue]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
        <graph>
            <name>Zabbix server performance</name>
            <graph_items>
                <graph_item>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>00C800</color>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[wcache,values]</key>
                    </item>
                </graph_item>
                <graph_item>
                    <sortorder>1</sortorder>
                    <drawtype>GRADIENT_LINE</drawtype>
                    <color>C80000</color>
                    <yaxisside>RIGHT</yaxisside>
                    <item>
                        <host>Template App Zabbix Server</host>
                        <key>zabbix[queue]</key>
                    </item>
                </graph_item>
            </graph_items>
        </graph>
    </graphs>
    <value_maps>
        <value_map>
            <name>ActiveDirectory Template</name>
            <mappings>
                <mapping>
                    <value>-1</value>
                    <newvalue>Active Directory replication errors not found</newvalue>
                </mapping>
                <mapping>
                    <value>0</value>
                    <newvalue>Errors not found</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Connection</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Link</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Alarm state</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Ok</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Alarm</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Application pool state</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>Uninitialized</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Initialized</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Running</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Disabling</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Disabled</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>Shutdown Pending</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>Delete Pending</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CISCO-ENVMON-MIB::CiscoEnvMonState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>normal</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>warning</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>critical</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>shutdown</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>notPresent</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>notFunctioning</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsEquipmentOperability</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>operable</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>inoperable</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>degraded</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>poweredOff</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>powerProblem</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>removed</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>voltageProblem</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>thermalProblem</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>performanceProblem</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>accessibilityProblem</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>identityUnestablishable</newvalue>
                </mapping>
                <mapping>
                    <value>12</value>
                    <newvalue>biosPostTimeout</newvalue>
                </mapping>
                <mapping>
                    <value>13</value>
                    <newvalue>disabled</newvalue>
                </mapping>
                <mapping>
                    <value>14</value>
                    <newvalue>malformedFru</newvalue>
                </mapping>
                <mapping>
                    <value>15</value>
                    <newvalue>backplanePortProblem</newvalue>
                </mapping>
                <mapping>
                    <value>16</value>
                    <newvalue>chassisIntrusion</newvalue>
                </mapping>
                <mapping>
                    <value>51</value>
                    <newvalue>fabricConnProblem</newvalue>
                </mapping>
                <mapping>
                    <value>52</value>
                    <newvalue>fabricUnsupportedConn</newvalue>
                </mapping>
                <mapping>
                    <value>81</value>
                    <newvalue>config</newvalue>
                </mapping>
                <mapping>
                    <value>82</value>
                    <newvalue>equipmentProblem</newvalue>
                </mapping>
                <mapping>
                    <value>83</value>
                    <newvalue>decomissioning</newvalue>
                </mapping>
                <mapping>
                    <value>84</value>
                    <newvalue>chassisLimitExceeded</newvalue>
                </mapping>
                <mapping>
                    <value>100</value>
                    <newvalue>notSupported</newvalue>
                </mapping>
                <mapping>
                    <value>101</value>
                    <newvalue>discovery</newvalue>
                </mapping>
                <mapping>
                    <value>102</value>
                    <newvalue>discoveryFailed</newvalue>
                </mapping>
                <mapping>
                    <value>103</value>
                    <newvalue>identify</newvalue>
                </mapping>
                <mapping>
                    <value>104</value>
                    <newvalue>postFailure</newvalue>
                </mapping>
                <mapping>
                    <value>105</value>
                    <newvalue>upgradeProblem</newvalue>
                </mapping>
                <mapping>
                    <value>106</value>
                    <newvalue>peerCommProblem</newvalue>
                </mapping>
                <mapping>
                    <value>107</value>
                    <newvalue>autoUpgrade</newvalue>
                </mapping>
                <mapping>
                    <value>108</value>
                    <newvalue>linkActivateBlocked</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsEquipmentPresence</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>empty</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>equipped</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>missing</newvalue>
                </mapping>
                <mapping>
                    <value>12</value>
                    <newvalue>mismatch</newvalue>
                </mapping>
                <mapping>
                    <value>13</value>
                    <newvalue>equippedNotPrimary</newvalue>
                </mapping>
                <mapping>
                    <value>14</value>
                    <newvalue>equippedSlave</newvalue>
                </mapping>
                <mapping>
                    <value>15</value>
                    <newvalue>mismatchSlave</newvalue>
                </mapping>
                <mapping>
                    <value>16</value>
                    <newvalue>missingSlave</newvalue>
                </mapping>
                <mapping>
                    <value>20</value>
                    <newvalue>equippedIdentityUnestablishable</newvalue>
                </mapping>
                <mapping>
                    <value>21</value>
                    <newvalue>mismatchIdentityUnestablishable</newvalue>
                </mapping>
                <mapping>
                    <value>22</value>
                    <newvalue>equippedWithMalformedFru</newvalue>
                </mapping>
                <mapping>
                    <value>30</value>
                    <newvalue>inaccessible</newvalue>
                </mapping>
                <mapping>
                    <value>40</value>
                    <newvalue>unauthorized</newvalue>
                </mapping>
                <mapping>
                    <value>100</value>
                    <newvalue>notSupported</newvalue>
                </mapping>
                <mapping>
                    <value>101</value>
                    <newvalue>equippedUnsupported</newvalue>
                </mapping>
                <mapping>
                    <value>102</value>
                    <newvalue>equippedDiscNotStarted</newvalue>
                </mapping>
                <mapping>
                    <value>103</value>
                    <newvalue>equippedDiscInProgress</newvalue>
                </mapping>
                <mapping>
                    <value>104</value>
                    <newvalue>equippedDiscError</newvalue>
                </mapping>
                <mapping>
                    <value>105</value>
                    <newvalue>equippedDiscUnknown</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsLsOperState</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>indeterminate</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>unassociated</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>ok</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>discovery</newvalue>
                </mapping>
                <mapping>
                    <value>12</value>
                    <newvalue>config</newvalue>
                </mapping>
                <mapping>
                    <value>13</value>
                    <newvalue>unconfig</newvalue>
                </mapping>
                <mapping>
                    <value>14</value>
                    <newvalue>powerOff</newvalue>
                </mapping>
                <mapping>
                    <value>15</value>
                    <newvalue>restart</newvalue>
                </mapping>
                <mapping>
                    <value>20</value>
                    <newvalue>maintenance</newvalue>
                </mapping>
                <mapping>
                    <value>21</value>
                    <newvalue>test</newvalue>
                </mapping>
                <mapping>
                    <value>29</value>
                    <newvalue>computeMismatch</newvalue>
                </mapping>
                <mapping>
                    <value>30</value>
                    <newvalue>computeFailed</newvalue>
                </mapping>
                <mapping>
                    <value>31</value>
                    <newvalue>degraded</newvalue>
                </mapping>
                <mapping>
                    <value>32</value>
                    <newvalue>discoveryFailed</newvalue>
                </mapping>
                <mapping>
                    <value>33</value>
                    <newvalue>configFailure</newvalue>
                </mapping>
                <mapping>
                    <value>34</value>
                    <newvalue>unconfigFailed</newvalue>
                </mapping>
                <mapping>
                    <value>35</value>
                    <newvalue>testFailed</newvalue>
                </mapping>
                <mapping>
                    <value>36</value>
                    <newvalue>maintenanceFailed</newvalue>
                </mapping>
                <mapping>
                    <value>40</value>
                    <newvalue>removed</newvalue>
                </mapping>
                <mapping>
                    <value>41</value>
                    <newvalue>disabled</newvalue>
                </mapping>
                <mapping>
                    <value>50</value>
                    <newvalue>inaccessible</newvalue>
                </mapping>
                <mapping>
                    <value>60</value>
                    <newvalue>thermalProblem</newvalue>
                </mapping>
                <mapping>
                    <value>61</value>
                    <newvalue>powerProblem</newvalue>
                </mapping>
                <mapping>
                    <value>62</value>
                    <newvalue>voltageProblem</newvalue>
                </mapping>
                <mapping>
                    <value>63</value>
                    <newvalue>inoperable</newvalue>
                </mapping>
                <mapping>
                    <value>101</value>
                    <newvalue>decomissioning</newvalue>
                </mapping>
                <mapping>
                    <value>201</value>
                    <newvalue>biosRestore</newvalue>
                </mapping>
                <mapping>
                    <value>202</value>
                    <newvalue>cmosReset</newvalue>
                </mapping>
                <mapping>
                    <value>203</value>
                    <newvalue>diagnostics</newvalue>
                </mapping>
                <mapping>
                    <value>204</value>
                    <newvalue>diagnosticsFailed</newvalue>
                </mapping>
                <mapping>
                    <value>210</value>
                    <newvalue>pendingReboot</newvalue>
                </mapping>
                <mapping>
                    <value>211</value>
                    <newvalue>pendingReassociation</newvalue>
                </mapping>
                <mapping>
                    <value>212</value>
                    <newvalue>svnicNotPresent</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsStorageLunType</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>unspecified</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>simple</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>mirror</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>stripe</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>raid</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>stripeParity</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>stripeDualParity</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>mirrorStripe</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>stripeParityStripe</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>stripeDualParityStripe</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CISCO-UNIFIED-COMPUTING-TC-MIB::CucsStoragePDriveStatus</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>online</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>unconfiguredGood</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>globalHotSpare</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>dedicatedHotSpare</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>jbod</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>offline</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>rebuilding</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>copyback</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>failed</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>unconfiguredBad</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>predictiveFailure</newvalue>
                </mapping>
                <mapping>
                    <value>12</value>
                    <newvalue>disabledForRemoval</newvalue>
                </mapping>
                <mapping>
                    <value>13</value>
                    <newvalue>foreignConfiguration</newvalue>
                </mapping>
                <mapping>
                    <value>14</value>
                    <newvalue>zeroing</newvalue>
                </mapping>
                <mapping>
                    <value>15</value>
                    <newvalue>good</newvalue>
                </mapping>
                <mapping>
                    <value>16</value>
                    <newvalue>bad</newvalue>
                </mapping>
                <mapping>
                    <value>17</value>
                    <newvalue>lockedForeignConfiguration</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>ciscoEnvMonState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>normal</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>warning</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>critical</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>shutdown</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>notPresent</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>notFunctioning</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CPQHLTH-MIB::cpqHeTemperatureLocale</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>system</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>systemBoard</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>ioBoard</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>cpu</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>memory</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>storage</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>removableMedia</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>powerSupply</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>ambient</newvalue>
                </mapping>
                <mapping>
                    <value>12</value>
                    <newvalue>chassis</newvalue>
                </mapping>
                <mapping>
                    <value>13</value>
                    <newvalue>bridgeCard</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CPQIDA-MIB::cpqDaAccelBattery</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>Other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Ok</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Recharging</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Failed</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Degraded</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>Not Present</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>Capacitor failed</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CPQIDA-MIB::cpqDaAccelStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>invalid</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>enabled</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>tmpDisabled</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>permDisabled</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>cacheModFlashMemNotAttached</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>cacheModDegradedFailsafeSpeed</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>cacheModCriticalFailure</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>cacheReadCacheNotMapped</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CPQIDA-MIB::cpqDaCntlrModel</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>ida</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>idaExpansion</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>ida-2</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>smart</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>smart-2e</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>smart-2p</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>smart-2sl</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>smart-3100es</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>smart-3200</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>smart-2dh</newvalue>
                </mapping>
                <mapping>
                    <value>12</value>
                    <newvalue>smart-221</newvalue>
                </mapping>
                <mapping>
                    <value>13</value>
                    <newvalue>sa-4250es</newvalue>
                </mapping>
                <mapping>
                    <value>14</value>
                    <newvalue>sa-4200</newvalue>
                </mapping>
                <mapping>
                    <value>15</value>
                    <newvalue>sa-integrated</newvalue>
                </mapping>
                <mapping>
                    <value>16</value>
                    <newvalue>sa-431</newvalue>
                </mapping>
                <mapping>
                    <value>17</value>
                    <newvalue>sa-5300</newvalue>
                </mapping>
                <mapping>
                    <value>18</value>
                    <newvalue>raidLc2</newvalue>
                </mapping>
                <mapping>
                    <value>19</value>
                    <newvalue>sa-5i</newvalue>
                </mapping>
                <mapping>
                    <value>20</value>
                    <newvalue>sa-532</newvalue>
                </mapping>
                <mapping>
                    <value>21</value>
                    <newvalue>sa-5312</newvalue>
                </mapping>
                <mapping>
                    <value>22</value>
                    <newvalue>sa-641</newvalue>
                </mapping>
                <mapping>
                    <value>23</value>
                    <newvalue>sa-642</newvalue>
                </mapping>
                <mapping>
                    <value>24</value>
                    <newvalue>sa-6400</newvalue>
                </mapping>
                <mapping>
                    <value>25</value>
                    <newvalue>sa-6400em</newvalue>
                </mapping>
                <mapping>
                    <value>26</value>
                    <newvalue>sa-6i</newvalue>
                </mapping>
                <mapping>
                    <value>27</value>
                    <newvalue>sa-generic</newvalue>
                </mapping>
                <mapping>
                    <value>29</value>
                    <newvalue>sa-p600</newvalue>
                </mapping>
                <mapping>
                    <value>30</value>
                    <newvalue>sa-p400</newvalue>
                </mapping>
                <mapping>
                    <value>31</value>
                    <newvalue>sa-e200</newvalue>
                </mapping>
                <mapping>
                    <value>32</value>
                    <newvalue>sa-e200i</newvalue>
                </mapping>
                <mapping>
                    <value>33</value>
                    <newvalue>sa-p400i</newvalue>
                </mapping>
                <mapping>
                    <value>34</value>
                    <newvalue>sa-p800</newvalue>
                </mapping>
                <mapping>
                    <value>35</value>
                    <newvalue>sa-e500</newvalue>
                </mapping>
                <mapping>
                    <value>36</value>
                    <newvalue>sa-p700m</newvalue>
                </mapping>
                <mapping>
                    <value>37</value>
                    <newvalue>sa-p212</newvalue>
                </mapping>
                <mapping>
                    <value>38</value>
                    <newvalue>sa-p410</newvalue>
                </mapping>
                <mapping>
                    <value>39</value>
                    <newvalue>sa-p410i</newvalue>
                </mapping>
                <mapping>
                    <value>40</value>
                    <newvalue>sa-p411</newvalue>
                </mapping>
                <mapping>
                    <value>41</value>
                    <newvalue>sa-b110i</newvalue>
                </mapping>
                <mapping>
                    <value>42</value>
                    <newvalue>sa-p712m</newvalue>
                </mapping>
                <mapping>
                    <value>43</value>
                    <newvalue>sa-p711m</newvalue>
                </mapping>
                <mapping>
                    <value>44</value>
                    <newvalue>sa-p812</newvalue>
                </mapping>
                <mapping>
                    <value>45</value>
                    <newvalue>sw-1210m</newvalue>
                </mapping>
                <mapping>
                    <value>46</value>
                    <newvalue>sa-p220i</newvalue>
                </mapping>
                <mapping>
                    <value>47</value>
                    <newvalue>sa-p222</newvalue>
                </mapping>
                <mapping>
                    <value>48</value>
                    <newvalue>sa-p420</newvalue>
                </mapping>
                <mapping>
                    <value>49</value>
                    <newvalue>sa-p420i</newvalue>
                </mapping>
                <mapping>
                    <value>50</value>
                    <newvalue>sa-p421</newvalue>
                </mapping>
                <mapping>
                    <value>51</value>
                    <newvalue>sa-b320i</newvalue>
                </mapping>
                <mapping>
                    <value>52</value>
                    <newvalue>sa-p822</newvalue>
                </mapping>
                <mapping>
                    <value>53</value>
                    <newvalue>sa-p721m</newvalue>
                </mapping>
                <mapping>
                    <value>54</value>
                    <newvalue>sa-b120i</newvalue>
                </mapping>
                <mapping>
                    <value>55</value>
                    <newvalue>hps-1224</newvalue>
                </mapping>
                <mapping>
                    <value>56</value>
                    <newvalue>hps-1228</newvalue>
                </mapping>
                <mapping>
                    <value>57</value>
                    <newvalue>hps-1228m</newvalue>
                </mapping>
                <mapping>
                    <value>58</value>
                    <newvalue>sa-p822se</newvalue>
                </mapping>
                <mapping>
                    <value>59</value>
                    <newvalue>hps-1224e</newvalue>
                </mapping>
                <mapping>
                    <value>60</value>
                    <newvalue>hps-1228e</newvalue>
                </mapping>
                <mapping>
                    <value>61</value>
                    <newvalue>hps-1228em</newvalue>
                </mapping>
                <mapping>
                    <value>62</value>
                    <newvalue>sa-p230i</newvalue>
                </mapping>
                <mapping>
                    <value>63</value>
                    <newvalue>sa-p430i</newvalue>
                </mapping>
                <mapping>
                    <value>64</value>
                    <newvalue>sa-p430</newvalue>
                </mapping>
                <mapping>
                    <value>65</value>
                    <newvalue>sa-p431</newvalue>
                </mapping>
                <mapping>
                    <value>66</value>
                    <newvalue>sa-p731m</newvalue>
                </mapping>
                <mapping>
                    <value>67</value>
                    <newvalue>sa-p830i</newvalue>
                </mapping>
                <mapping>
                    <value>68</value>
                    <newvalue>sa-p830</newvalue>
                </mapping>
                <mapping>
                    <value>69</value>
                    <newvalue>sa-p831</newvalue>
                </mapping>
                <mapping>
                    <value>70</value>
                    <newvalue>sa-p530</newvalue>
                </mapping>
                <mapping>
                    <value>71</value>
                    <newvalue>sa-p531</newvalue>
                </mapping>
                <mapping>
                    <value>72</value>
                    <newvalue>sa-p244br</newvalue>
                </mapping>
                <mapping>
                    <value>73</value>
                    <newvalue>sa-p246br</newvalue>
                </mapping>
                <mapping>
                    <value>74</value>
                    <newvalue>sa-p440</newvalue>
                </mapping>
                <mapping>
                    <value>75</value>
                    <newvalue>sa-p440ar</newvalue>
                </mapping>
                <mapping>
                    <value>76</value>
                    <newvalue>sa-p441</newvalue>
                </mapping>
                <mapping>
                    <value>77</value>
                    <newvalue>sa-p741m</newvalue>
                </mapping>
                <mapping>
                    <value>78</value>
                    <newvalue>sa-p840</newvalue>
                </mapping>
                <mapping>
                    <value>79</value>
                    <newvalue>sa-p841</newvalue>
                </mapping>
                <mapping>
                    <value>80</value>
                    <newvalue>sh-h240ar</newvalue>
                </mapping>
                <mapping>
                    <value>81</value>
                    <newvalue>sh-h244br</newvalue>
                </mapping>
                <mapping>
                    <value>82</value>
                    <newvalue>sh-h240</newvalue>
                </mapping>
                <mapping>
                    <value>83</value>
                    <newvalue>sh-h241</newvalue>
                </mapping>
                <mapping>
                    <value>84</value>
                    <newvalue>sa-b140i</newvalue>
                </mapping>
                <mapping>
                    <value>85</value>
                    <newvalue>sh-generic</newvalue>
                </mapping>
                <mapping>
                    <value>88</value>
                    <newvalue>sa-p840ar</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CPQIDA-MIB::cpqDaLogDrvFaultTol</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>none</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>RAID-1/RAID-10</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>RAID-4</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>RAID-5</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>RAID-6</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>RAID-50</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>RAID-60</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>RAID-1 ADM</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>RAID-10 ADM</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CPQIDA-MIB::cpqDaLogDrvStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>ok</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>failed</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>unconfigured</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>recovering</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>readyForRebuild</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>rebuilding</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>wrongDrive</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>badConnect</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>overheating</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>shutdown</newvalue>
                </mapping>
                <mapping>
                    <value>12</value>
                    <newvalue>expanding</newvalue>
                </mapping>
                <mapping>
                    <value>13</value>
                    <newvalue>notAvailable</newvalue>
                </mapping>
                <mapping>
                    <value>14</value>
                    <newvalue>queuedForExpansion</newvalue>
                </mapping>
                <mapping>
                    <value>15</value>
                    <newvalue>multipathAccessDegraded</newvalue>
                </mapping>
                <mapping>
                    <value>16</value>
                    <newvalue>erasing</newvalue>
                </mapping>
                <mapping>
                    <value>17</value>
                    <newvalue>predictiveSpareRebuildReady</newvalue>
                </mapping>
                <mapping>
                    <value>18</value>
                    <newvalue>rapidParityInitInProgress</newvalue>
                </mapping>
                <mapping>
                    <value>19</value>
                    <newvalue>rapidParityInitPending</newvalue>
                </mapping>
                <mapping>
                    <value>20</value>
                    <newvalue>noAccessEncryptedNoCntlrKey</newvalue>
                </mapping>
                <mapping>
                    <value>21</value>
                    <newvalue>unencryptedToEncryptedInProgress</newvalue>
                </mapping>
                <mapping>
                    <value>22</value>
                    <newvalue>newLogDrvKeyRekeyInProgress</newvalue>
                </mapping>
                <mapping>
                    <value>23</value>
                    <newvalue>noAccessEncryptedCntlrEncryptnNotEnbld</newvalue>
                </mapping>
                <mapping>
                    <value>24</value>
                    <newvalue>unencryptedToEncryptedNotStarted</newvalue>
                </mapping>
                <mapping>
                    <value>25</value>
                    <newvalue>newLogDrvKeyRekeyRequestReceived</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CPQIDA-MIB::cpqDaPhyDrvMediaType</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>Other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>rotatingPlatters</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>solidState</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CPQIDA-MIB::cpqDaPhyDrvSmartStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>ok</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>replaceDrive</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>replaceDriveSSDWearOut</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CPQIDA-MIB::cpqDaPhyDrvStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>ok</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>failed</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>predictiveFailure</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>CPQSINFO-MIB::status</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>ok</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>degraded</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>failed</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <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_map>
            <name>EQUIPMENT-MIB::swFanStatus</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>working</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>fail</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>speed-0</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>speed-low</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>speed-middle</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>speed-high</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>EQUIPMENT-MIB::swPowerStatus</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>lowVoltage</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>overCurrent</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>working</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>fail</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>connect</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>disconnect</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>EtherLike-MIB::dot3StatsDuplexStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>halfDuplex</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>fullDuplex</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>EXTREME-SYSTEM-MIB::extremeFanOperational</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>true - on</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>false - off</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>EXTREME-SYSTEM-MIB::extremeOverTemperatureAlarm</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>alarm</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>normal</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>EXTREME-SYSTEM-MIB::extremePowerSupplyStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>notPresent</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>presentOK</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>presentNotOK</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>presentPowerOff</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>F10-S-SERIES-CHASSIS-MIB::chSysFanTrayOperStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>up</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>down</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>absent</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>F10-S-SERIES-CHASSIS-MIB::chSysPowerSupplyOperStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>up</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>down</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>absent</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>FASTPATH-BOXSERVICES-PRIVATE-MIB::boxServicesFanItemState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>operational</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>failed</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>powering</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>notpowering</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>notpresent</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>FASTPATH-BOXSERVICES-PRIVATE-MIB::boxServicesPowSupplyItemState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>operational</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>failed</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>powering</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>notpowering</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>notpresent</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>FASTPATH-BOXSERVICES-PRIVATE-MIB::boxServicesTempSensorState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>normal</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>warning</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>critical</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>shutdown</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>notpresent</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>notoperational</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>FOUNDRY-SN-AGENT-MIB::snChasFanOperStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>normal</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>failure</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>FOUNDRY-SN-AGENT-MIB::snChasPwrSupplyOperStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>normal</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>failure</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>HH3C-ENTITY-EXT-MIB::hh3cEntityExtErrorStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>notSupported</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>normal</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>postFailure</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>entityAbsent</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>poeError</newvalue>
                </mapping>
                <mapping>
                    <value>21</value>
                    <newvalue>stackError</newvalue>
                </mapping>
                <mapping>
                    <value>22</value>
                    <newvalue>stackPortBlocked</newvalue>
                </mapping>
                <mapping>
                    <value>23</value>
                    <newvalue>stackPortFailed</newvalue>
                </mapping>
                <mapping>
                    <value>31</value>
                    <newvalue>sfpRecvError</newvalue>
                </mapping>
                <mapping>
                    <value>32</value>
                    <newvalue>sfpSendError</newvalue>
                </mapping>
                <mapping>
                    <value>33</value>
                    <newvalue>sfpBothError</newvalue>
                </mapping>
                <mapping>
                    <value>41</value>
                    <newvalue>fanError</newvalue>
                </mapping>
                <mapping>
                    <value>51</value>
                    <newvalue>psuError</newvalue>
                </mapping>
                <mapping>
                    <value>61</value>
                    <newvalue>rpsError</newvalue>
                </mapping>
                <mapping>
                    <value>71</value>
                    <newvalue>moduleFaulty</newvalue>
                </mapping>
                <mapping>
                    <value>81</value>
                    <newvalue>sensorError</newvalue>
                </mapping>
                <mapping>
                    <value>91</value>
                    <newvalue>hardwareFaulty</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>HP-ICF-CHASSIS::hpicfSensorStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>bad</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>warning</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>good</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>notPresent</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>HUAWEI-ENTITY-EXTENT-MIB::hwEntityFanState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>normal</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>abnormal</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>ICS-CHASSIS-MIB::icsChassisFanOperStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>online</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>operational</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>failed</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>offline</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>ICS-CHASSIS-MIB::icsChassisPowerSupplyOperStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>disabled</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>failed</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>warning</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>standby</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>engaged</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>redundant</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>notPresent</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>ICS-CHASSIS-MIB::icsChassisSensorSlotOperStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>invalid</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>bad</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>warning</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>good</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>disabled</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IDRAC-MIB-SMIv2::batteryState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>Unknown</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Ready</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Failed</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Degraded</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Missing</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>Charging</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>Below threshold</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IDRAC-MIB-SMIv2::BooleanType</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>ok</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>failed</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IDRAC-MIB-SMIv2::ObjectStatusEnum</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>ok</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>nonCritical</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>critical</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>nonRecoverable</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IDRAC-MIB-SMIv2::physicalDiskComponentStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>ok</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>nonCritical</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>critical</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>nonRecoverable</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IDRAC-MIB-SMIv2::physicalDiskMediaType</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>Unknown</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>HDD</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>SSD</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IDRAC-MIB-SMIv2::StatusProbeEnum</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>ok</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>nonCriticalUpper</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>criticalUpper</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>nonRecoverableUpper</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>nonCriticalLower</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>criticalLower</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>nonRecoverableLower</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>failed</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IDRAC-MIB-SMIv2::virtualDiskLayout</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>Other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>RAID-0</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>RAID-1</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>RAID-5</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>RAID-6</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>RAID-10</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>RAID-50</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>RAID-60</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>Concatenated RAID 1</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>Concatenated RAID 5</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IDRAC-MIB-SMIv2::virtualDiskOperationalState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>Not applicable</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Reconstructing</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Resynching</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Initializing</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Background init</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IDRAC-MIB-SMIv2::virtualDiskState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>Unknown</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Online</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Failed</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Degraded</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IDRAC-MIB-SMIv2::virtualDiskWritePolicy</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>Write Through</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Write Back</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Force Write Back</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IF-MIB::ifOperStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>up</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>down</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>dormant</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>notPresent</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>lowerLayerDown</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IF-MIB::ifType</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>regular1822</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>hdh1822</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>ddnX25</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>rfc877x25</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>ethernetCsmacd</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>iso88023Csmacd</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>iso88024TokenBus</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>iso88025TokenRing</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>iso88026Man</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>starLan</newvalue>
                </mapping>
                <mapping>
                    <value>12</value>
                    <newvalue>proteon10Mbit</newvalue>
                </mapping>
                <mapping>
                    <value>13</value>
                    <newvalue>proteon80Mbit</newvalue>
                </mapping>
                <mapping>
                    <value>14</value>
                    <newvalue>hyperchannel</newvalue>
                </mapping>
                <mapping>
                    <value>15</value>
                    <newvalue>fddi</newvalue>
                </mapping>
                <mapping>
                    <value>16</value>
                    <newvalue>lapb</newvalue>
                </mapping>
                <mapping>
                    <value>17</value>
                    <newvalue>sdlc</newvalue>
                </mapping>
                <mapping>
                    <value>18</value>
                    <newvalue>ds1</newvalue>
                </mapping>
                <mapping>
                    <value>19</value>
                    <newvalue>e1</newvalue>
                </mapping>
                <mapping>
                    <value>20</value>
                    <newvalue>basicISDN</newvalue>
                </mapping>
                <mapping>
                    <value>21</value>
                    <newvalue>primaryISDN</newvalue>
                </mapping>
                <mapping>
                    <value>22</value>
                    <newvalue>propPointToPointSerial</newvalue>
                </mapping>
                <mapping>
                    <value>23</value>
                    <newvalue>ppp</newvalue>
                </mapping>
                <mapping>
                    <value>24</value>
                    <newvalue>softwareLoopback</newvalue>
                </mapping>
                <mapping>
                    <value>25</value>
                    <newvalue>eon</newvalue>
                </mapping>
                <mapping>
                    <value>26</value>
                    <newvalue>ethernet3Mbit</newvalue>
                </mapping>
                <mapping>
                    <value>27</value>
                    <newvalue>nsip</newvalue>
                </mapping>
                <mapping>
                    <value>28</value>
                    <newvalue>slip</newvalue>
                </mapping>
                <mapping>
                    <value>29</value>
                    <newvalue>ultra</newvalue>
                </mapping>
                <mapping>
                    <value>30</value>
                    <newvalue>ds3</newvalue>
                </mapping>
                <mapping>
                    <value>31</value>
                    <newvalue>sip</newvalue>
                </mapping>
                <mapping>
                    <value>32</value>
                    <newvalue>frameRelay</newvalue>
                </mapping>
                <mapping>
                    <value>33</value>
                    <newvalue>rs232</newvalue>
                </mapping>
                <mapping>
                    <value>34</value>
                    <newvalue>para</newvalue>
                </mapping>
                <mapping>
                    <value>35</value>
                    <newvalue>arcnet</newvalue>
                </mapping>
                <mapping>
                    <value>36</value>
                    <newvalue>arcnetPlus</newvalue>
                </mapping>
                <mapping>
                    <value>37</value>
                    <newvalue>atm</newvalue>
                </mapping>
                <mapping>
                    <value>38</value>
                    <newvalue>miox25</newvalue>
                </mapping>
                <mapping>
                    <value>39</value>
                    <newvalue>sonet</newvalue>
                </mapping>
                <mapping>
                    <value>40</value>
                    <newvalue>x25ple</newvalue>
                </mapping>
                <mapping>
                    <value>41</value>
                    <newvalue>iso88022llc</newvalue>
                </mapping>
                <mapping>
                    <value>42</value>
                    <newvalue>localTalk</newvalue>
                </mapping>
                <mapping>
                    <value>43</value>
                    <newvalue>smdsDxi</newvalue>
                </mapping>
                <mapping>
                    <value>44</value>
                    <newvalue>frameRelayService</newvalue>
                </mapping>
                <mapping>
                    <value>45</value>
                    <newvalue>v35</newvalue>
                </mapping>
                <mapping>
                    <value>46</value>
                    <newvalue>hssi</newvalue>
                </mapping>
                <mapping>
                    <value>47</value>
                    <newvalue>hippi</newvalue>
                </mapping>
                <mapping>
                    <value>48</value>
                    <newvalue>modem</newvalue>
                </mapping>
                <mapping>
                    <value>49</value>
                    <newvalue>aal5</newvalue>
                </mapping>
                <mapping>
                    <value>50</value>
                    <newvalue>sonetPath</newvalue>
                </mapping>
                <mapping>
                    <value>51</value>
                    <newvalue>sonetVT</newvalue>
                </mapping>
                <mapping>
                    <value>52</value>
                    <newvalue>smdsIcip</newvalue>
                </mapping>
                <mapping>
                    <value>53</value>
                    <newvalue>propVirtual</newvalue>
                </mapping>
                <mapping>
                    <value>54</value>
                    <newvalue>propMultiplexor</newvalue>
                </mapping>
                <mapping>
                    <value>55</value>
                    <newvalue>ieee80212</newvalue>
                </mapping>
                <mapping>
                    <value>56</value>
                    <newvalue>fibreChannel</newvalue>
                </mapping>
                <mapping>
                    <value>57</value>
                    <newvalue>hippiInterface</newvalue>
                </mapping>
                <mapping>
                    <value>58</value>
                    <newvalue>frameRelayInterconnect</newvalue>
                </mapping>
                <mapping>
                    <value>59</value>
                    <newvalue>aflane8023</newvalue>
                </mapping>
                <mapping>
                    <value>60</value>
                    <newvalue>aflane8025</newvalue>
                </mapping>
                <mapping>
                    <value>61</value>
                    <newvalue>cctEmul</newvalue>
                </mapping>
                <mapping>
                    <value>62</value>
                    <newvalue>fastEther</newvalue>
                </mapping>
                <mapping>
                    <value>63</value>
                    <newvalue>isdn</newvalue>
                </mapping>
                <mapping>
                    <value>64</value>
                    <newvalue>v11</newvalue>
                </mapping>
                <mapping>
                    <value>65</value>
                    <newvalue>v36</newvalue>
                </mapping>
                <mapping>
                    <value>66</value>
                    <newvalue>g703at64k</newvalue>
                </mapping>
                <mapping>
                    <value>67</value>
                    <newvalue>g703at2mb</newvalue>
                </mapping>
                <mapping>
                    <value>68</value>
                    <newvalue>qllc</newvalue>
                </mapping>
                <mapping>
                    <value>69</value>
                    <newvalue>fastEtherFX</newvalue>
                </mapping>
                <mapping>
                    <value>70</value>
                    <newvalue>channel</newvalue>
                </mapping>
                <mapping>
                    <value>71</value>
                    <newvalue>ieee80211</newvalue>
                </mapping>
                <mapping>
                    <value>72</value>
                    <newvalue>ibm370parChan</newvalue>
                </mapping>
                <mapping>
                    <value>73</value>
                    <newvalue>escon</newvalue>
                </mapping>
                <mapping>
                    <value>74</value>
                    <newvalue>dlsw</newvalue>
                </mapping>
                <mapping>
                    <value>75</value>
                    <newvalue>isdns</newvalue>
                </mapping>
                <mapping>
                    <value>76</value>
                    <newvalue>isdnu</newvalue>
                </mapping>
                <mapping>
                    <value>77</value>
                    <newvalue>lapd</newvalue>
                </mapping>
                <mapping>
                    <value>78</value>
                    <newvalue>ipSwitch</newvalue>
                </mapping>
                <mapping>
                    <value>79</value>
                    <newvalue>rsrb</newvalue>
                </mapping>
                <mapping>
                    <value>80</value>
                    <newvalue>atmLogical</newvalue>
                </mapping>
                <mapping>
                    <value>81</value>
                    <newvalue>ds0</newvalue>
                </mapping>
                <mapping>
                    <value>82</value>
                    <newvalue>ds0Bundle</newvalue>
                </mapping>
                <mapping>
                    <value>83</value>
                    <newvalue>bsc</newvalue>
                </mapping>
                <mapping>
                    <value>84</value>
                    <newvalue>async</newvalue>
                </mapping>
                <mapping>
                    <value>85</value>
                    <newvalue>cnr</newvalue>
                </mapping>
                <mapping>
                    <value>86</value>
                    <newvalue>iso88025Dtr</newvalue>
                </mapping>
                <mapping>
                    <value>87</value>
                    <newvalue>eplrs</newvalue>
                </mapping>
                <mapping>
                    <value>88</value>
                    <newvalue>arap</newvalue>
                </mapping>
                <mapping>
                    <value>89</value>
                    <newvalue>propCnls</newvalue>
                </mapping>
                <mapping>
                    <value>90</value>
                    <newvalue>hostPad</newvalue>
                </mapping>
                <mapping>
                    <value>91</value>
                    <newvalue>termPad</newvalue>
                </mapping>
                <mapping>
                    <value>92</value>
                    <newvalue>frameRelayMPI</newvalue>
                </mapping>
                <mapping>
                    <value>93</value>
                    <newvalue>x213</newvalue>
                </mapping>
                <mapping>
                    <value>94</value>
                    <newvalue>adsl</newvalue>
                </mapping>
                <mapping>
                    <value>95</value>
                    <newvalue>radsl</newvalue>
                </mapping>
                <mapping>
                    <value>96</value>
                    <newvalue>sdsl</newvalue>
                </mapping>
                <mapping>
                    <value>97</value>
                    <newvalue>vdsl</newvalue>
                </mapping>
                <mapping>
                    <value>98</value>
                    <newvalue>iso88025CRFPInt</newvalue>
                </mapping>
                <mapping>
                    <value>99</value>
                    <newvalue>myrinet</newvalue>
                </mapping>
                <mapping>
                    <value>100</value>
                    <newvalue>voiceEM</newvalue>
                </mapping>
                <mapping>
                    <value>101</value>
                    <newvalue>voiceFXO</newvalue>
                </mapping>
                <mapping>
                    <value>102</value>
                    <newvalue>voiceFXS</newvalue>
                </mapping>
                <mapping>
                    <value>103</value>
                    <newvalue>voiceEncap</newvalue>
                </mapping>
                <mapping>
                    <value>104</value>
                    <newvalue>voiceOverIp</newvalue>
                </mapping>
                <mapping>
                    <value>105</value>
                    <newvalue>atmDxi</newvalue>
                </mapping>
                <mapping>
                    <value>106</value>
                    <newvalue>atmFuni</newvalue>
                </mapping>
                <mapping>
                    <value>107</value>
                    <newvalue>atmIma</newvalue>
                </mapping>
                <mapping>
                    <value>108</value>
                    <newvalue>pppMultilinkBundle</newvalue>
                </mapping>
                <mapping>
                    <value>109</value>
                    <newvalue>ipOverCdlc</newvalue>
                </mapping>
                <mapping>
                    <value>110</value>
                    <newvalue>ipOverClaw</newvalue>
                </mapping>
                <mapping>
                    <value>111</value>
                    <newvalue>stackToStack</newvalue>
                </mapping>
                <mapping>
                    <value>112</value>
                    <newvalue>virtualIpAddress</newvalue>
                </mapping>
                <mapping>
                    <value>113</value>
                    <newvalue>mpc</newvalue>
                </mapping>
                <mapping>
                    <value>114</value>
                    <newvalue>ipOverAtm</newvalue>
                </mapping>
                <mapping>
                    <value>115</value>
                    <newvalue>iso88025Fiber</newvalue>
                </mapping>
                <mapping>
                    <value>116</value>
                    <newvalue>tdlc</newvalue>
                </mapping>
                <mapping>
                    <value>117</value>
                    <newvalue>gigabitEthernet</newvalue>
                </mapping>
                <mapping>
                    <value>118</value>
                    <newvalue>hdlc</newvalue>
                </mapping>
                <mapping>
                    <value>119</value>
                    <newvalue>lapf</newvalue>
                </mapping>
                <mapping>
                    <value>120</value>
                    <newvalue>v37</newvalue>
                </mapping>
                <mapping>
                    <value>121</value>
                    <newvalue>x25mlp</newvalue>
                </mapping>
                <mapping>
                    <value>122</value>
                    <newvalue>x25huntGroup</newvalue>
                </mapping>
                <mapping>
                    <value>123</value>
                    <newvalue>trasnpHdlc</newvalue>
                </mapping>
                <mapping>
                    <value>124</value>
                    <newvalue>interleave</newvalue>
                </mapping>
                <mapping>
                    <value>125</value>
                    <newvalue>fast</newvalue>
                </mapping>
                <mapping>
                    <value>126</value>
                    <newvalue>ip</newvalue>
                </mapping>
                <mapping>
                    <value>127</value>
                    <newvalue>docsCableMaclayer</newvalue>
                </mapping>
                <mapping>
                    <value>128</value>
                    <newvalue>docsCableDownstream</newvalue>
                </mapping>
                <mapping>
                    <value>129</value>
                    <newvalue>docsCableUpstream</newvalue>
                </mapping>
                <mapping>
                    <value>130</value>
                    <newvalue>a12MppSwitch</newvalue>
                </mapping>
                <mapping>
                    <value>131</value>
                    <newvalue>tunnel</newvalue>
                </mapping>
                <mapping>
                    <value>132</value>
                    <newvalue>coffee</newvalue>
                </mapping>
                <mapping>
                    <value>133</value>
                    <newvalue>ces</newvalue>
                </mapping>
                <mapping>
                    <value>134</value>
                    <newvalue>atmSubInterface</newvalue>
                </mapping>
                <mapping>
                    <value>135</value>
                    <newvalue>l2vlan</newvalue>
                </mapping>
                <mapping>
                    <value>136</value>
                    <newvalue>l3ipvlan</newvalue>
                </mapping>
                <mapping>
                    <value>137</value>
                    <newvalue>l3ipxvlan</newvalue>
                </mapping>
                <mapping>
                    <value>138</value>
                    <newvalue>digitalPowerline</newvalue>
                </mapping>
                <mapping>
                    <value>139</value>
                    <newvalue>mediaMailOverIp</newvalue>
                </mapping>
                <mapping>
                    <value>140</value>
                    <newvalue>dtm</newvalue>
                </mapping>
                <mapping>
                    <value>141</value>
                    <newvalue>dcn</newvalue>
                </mapping>
                <mapping>
                    <value>142</value>
                    <newvalue>ipForward</newvalue>
                </mapping>
                <mapping>
                    <value>143</value>
                    <newvalue>msdsl</newvalue>
                </mapping>
                <mapping>
                    <value>144</value>
                    <newvalue>ieee1394</newvalue>
                </mapping>
                <mapping>
                    <value>145</value>
                    <newvalue>if-gsn</newvalue>
                </mapping>
                <mapping>
                    <value>146</value>
                    <newvalue>dvbRccMacLayer</newvalue>
                </mapping>
                <mapping>
                    <value>147</value>
                    <newvalue>dvbRccDownstream</newvalue>
                </mapping>
                <mapping>
                    <value>148</value>
                    <newvalue>dvbRccUpstream</newvalue>
                </mapping>
                <mapping>
                    <value>149</value>
                    <newvalue>atmVirtual</newvalue>
                </mapping>
                <mapping>
                    <value>150</value>
                    <newvalue>mplsTunnel</newvalue>
                </mapping>
                <mapping>
                    <value>151</value>
                    <newvalue>srp</newvalue>
                </mapping>
                <mapping>
                    <value>152</value>
                    <newvalue>voiceOverAtm</newvalue>
                </mapping>
                <mapping>
                    <value>153</value>
                    <newvalue>voiceOverFrameRelay</newvalue>
                </mapping>
                <mapping>
                    <value>154</value>
                    <newvalue>idsl</newvalue>
                </mapping>
                <mapping>
                    <value>155</value>
                    <newvalue>compositeLink</newvalue>
                </mapping>
                <mapping>
                    <value>156</value>
                    <newvalue>ss7SigLink</newvalue>
                </mapping>
                <mapping>
                    <value>157</value>
                    <newvalue>propWirelessP2P</newvalue>
                </mapping>
                <mapping>
                    <value>158</value>
                    <newvalue>frForward</newvalue>
                </mapping>
                <mapping>
                    <value>159</value>
                    <newvalue>rfc1483</newvalue>
                </mapping>
                <mapping>
                    <value>160</value>
                    <newvalue>usb</newvalue>
                </mapping>
                <mapping>
                    <value>161</value>
                    <newvalue>ieee8023adLag</newvalue>
                </mapping>
                <mapping>
                    <value>162</value>
                    <newvalue>bgppolicyaccounting</newvalue>
                </mapping>
                <mapping>
                    <value>163</value>
                    <newvalue>frf16MfrBundle</newvalue>
                </mapping>
                <mapping>
                    <value>164</value>
                    <newvalue>h323Gatekeeper</newvalue>
                </mapping>
                <mapping>
                    <value>165</value>
                    <newvalue>h323Proxy</newvalue>
                </mapping>
                <mapping>
                    <value>166</value>
                    <newvalue>mpls</newvalue>
                </mapping>
                <mapping>
                    <value>167</value>
                    <newvalue>mfSigLink</newvalue>
                </mapping>
                <mapping>
                    <value>168</value>
                    <newvalue>hdsl2</newvalue>
                </mapping>
                <mapping>
                    <value>169</value>
                    <newvalue>shdsl</newvalue>
                </mapping>
                <mapping>
                    <value>170</value>
                    <newvalue>ds1FDL</newvalue>
                </mapping>
                <mapping>
                    <value>171</value>
                    <newvalue>pos</newvalue>
                </mapping>
                <mapping>
                    <value>172</value>
                    <newvalue>dvbAsiIn</newvalue>
                </mapping>
                <mapping>
                    <value>173</value>
                    <newvalue>dvbAsiOut</newvalue>
                </mapping>
                <mapping>
                    <value>174</value>
                    <newvalue>plc</newvalue>
                </mapping>
                <mapping>
                    <value>175</value>
                    <newvalue>nfas</newvalue>
                </mapping>
                <mapping>
                    <value>176</value>
                    <newvalue>tr008</newvalue>
                </mapping>
                <mapping>
                    <value>177</value>
                    <newvalue>gr303RDT</newvalue>
                </mapping>
                <mapping>
                    <value>178</value>
                    <newvalue>gr303IDT</newvalue>
                </mapping>
                <mapping>
                    <value>179</value>
                    <newvalue>isup</newvalue>
                </mapping>
                <mapping>
                    <value>180</value>
                    <newvalue>propDocsWirelessMaclayer</newvalue>
                </mapping>
                <mapping>
                    <value>181</value>
                    <newvalue>propDocsWirelessDownstream</newvalue>
                </mapping>
                <mapping>
                    <value>182</value>
                    <newvalue>propDocsWirelessUpstream</newvalue>
                </mapping>
                <mapping>
                    <value>183</value>
                    <newvalue>hiperlan2</newvalue>
                </mapping>
                <mapping>
                    <value>184</value>
                    <newvalue>propBWAp2Mp</newvalue>
                </mapping>
                <mapping>
                    <value>185</value>
                    <newvalue>sonetOverheadChannel</newvalue>
                </mapping>
                <mapping>
                    <value>186</value>
                    <newvalue>digitalWrapperOverheadChannel</newvalue>
                </mapping>
                <mapping>
                    <value>187</value>
                    <newvalue>aal2</newvalue>
                </mapping>
                <mapping>
                    <value>188</value>
                    <newvalue>radioMAC</newvalue>
                </mapping>
                <mapping>
                    <value>189</value>
                    <newvalue>atmRadio</newvalue>
                </mapping>
                <mapping>
                    <value>190</value>
                    <newvalue>imt</newvalue>
                </mapping>
                <mapping>
                    <value>191</value>
                    <newvalue>mvl</newvalue>
                </mapping>
                <mapping>
                    <value>192</value>
                    <newvalue>reachDSL</newvalue>
                </mapping>
                <mapping>
                    <value>193</value>
                    <newvalue>frDlciEndPt</newvalue>
                </mapping>
                <mapping>
                    <value>194</value>
                    <newvalue>atmVciEndPt</newvalue>
                </mapping>
                <mapping>
                    <value>195</value>
                    <newvalue>opticalChannel</newvalue>
                </mapping>
                <mapping>
                    <value>196</value>
                    <newvalue>opticalTransport</newvalue>
                </mapping>
                <mapping>
                    <value>197</value>
                    <newvalue>propAtm</newvalue>
                </mapping>
                <mapping>
                    <value>198</value>
                    <newvalue>voiceOverCable</newvalue>
                </mapping>
                <mapping>
                    <value>199</value>
                    <newvalue>infiniband</newvalue>
                </mapping>
                <mapping>
                    <value>200</value>
                    <newvalue>teLink</newvalue>
                </mapping>
                <mapping>
                    <value>201</value>
                    <newvalue>q2931</newvalue>
                </mapping>
                <mapping>
                    <value>202</value>
                    <newvalue>virtualTg</newvalue>
                </mapping>
                <mapping>
                    <value>203</value>
                    <newvalue>sipTg</newvalue>
                </mapping>
                <mapping>
                    <value>204</value>
                    <newvalue>sipSig</newvalue>
                </mapping>
                <mapping>
                    <value>205</value>
                    <newvalue>docsCableUpstreamChannel</newvalue>
                </mapping>
                <mapping>
                    <value>206</value>
                    <newvalue>econet</newvalue>
                </mapping>
                <mapping>
                    <value>207</value>
                    <newvalue>pon155</newvalue>
                </mapping>
                <mapping>
                    <value>208</value>
                    <newvalue>pon622</newvalue>
                </mapping>
                <mapping>
                    <value>209</value>
                    <newvalue>bridge</newvalue>
                </mapping>
                <mapping>
                    <value>210</value>
                    <newvalue>linegroup</newvalue>
                </mapping>
                <mapping>
                    <value>211</value>
                    <newvalue>voiceEMFGD</newvalue>
                </mapping>
                <mapping>
                    <value>212</value>
                    <newvalue>voiceFGDEANA</newvalue>
                </mapping>
                <mapping>
                    <value>213</value>
                    <newvalue>voiceDID</newvalue>
                </mapping>
                <mapping>
                    <value>214</value>
                    <newvalue>mpegTransport</newvalue>
                </mapping>
                <mapping>
                    <value>215</value>
                    <newvalue>sixToFour</newvalue>
                </mapping>
                <mapping>
                    <value>216</value>
                    <newvalue>gtp</newvalue>
                </mapping>
                <mapping>
                    <value>217</value>
                    <newvalue>pdnEtherLoop1</newvalue>
                </mapping>
                <mapping>
                    <value>218</value>
                    <newvalue>pdnEtherLoop2</newvalue>
                </mapping>
                <mapping>
                    <value>219</value>
                    <newvalue>opticalChannelGroup</newvalue>
                </mapping>
                <mapping>
                    <value>220</value>
                    <newvalue>homepna</newvalue>
                </mapping>
                <mapping>
                    <value>221</value>
                    <newvalue>gfp</newvalue>
                </mapping>
                <mapping>
                    <value>222</value>
                    <newvalue>ciscoISLvlan</newvalue>
                </mapping>
                <mapping>
                    <value>223</value>
                    <newvalue>actelisMetaLOOP</newvalue>
                </mapping>
                <mapping>
                    <value>224</value>
                    <newvalue>fcipLink</newvalue>
                </mapping>
                <mapping>
                    <value>225</value>
                    <newvalue>rpr</newvalue>
                </mapping>
                <mapping>
                    <value>226</value>
                    <newvalue>qam</newvalue>
                </mapping>
                <mapping>
                    <value>227</value>
                    <newvalue>lmp</newvalue>
                </mapping>
                <mapping>
                    <value>228</value>
                    <newvalue>cblVectaStar</newvalue>
                </mapping>
                <mapping>
                    <value>229</value>
                    <newvalue>docsCableMCmtsDownstream</newvalue>
                </mapping>
                <mapping>
                    <value>230</value>
                    <newvalue>adsl2</newvalue>
                </mapping>
                <mapping>
                    <value>231</value>
                    <newvalue>macSecControlledIF</newvalue>
                </mapping>
                <mapping>
                    <value>232</value>
                    <newvalue>macSecUncontrolledIF</newvalue>
                </mapping>
                <mapping>
                    <value>233</value>
                    <newvalue>aviciOpticalEther</newvalue>
                </mapping>
                <mapping>
                    <value>234</value>
                    <newvalue>atmbond</newvalue>
                </mapping>
                <mapping>
                    <value>235</value>
                    <newvalue>voiceFGDOS</newvalue>
                </mapping>
                <mapping>
                    <value>236</value>
                    <newvalue>mocaVersion1</newvalue>
                </mapping>
                <mapping>
                    <value>237</value>
                    <newvalue>ieee80216WMAN</newvalue>
                </mapping>
                <mapping>
                    <value>238</value>
                    <newvalue>adsl2plus</newvalue>
                </mapping>
                <mapping>
                    <value>239</value>
                    <newvalue>dvbRcsMacLayer</newvalue>
                </mapping>
                <mapping>
                    <value>240</value>
                    <newvalue>dvbTdm</newvalue>
                </mapping>
                <mapping>
                    <value>241</value>
                    <newvalue>dvbRcsTdma</newvalue>
                </mapping>
                <mapping>
                    <value>242</value>
                    <newvalue>x86Laps</newvalue>
                </mapping>
                <mapping>
                    <value>243</value>
                    <newvalue>wwanPP</newvalue>
                </mapping>
                <mapping>
                    <value>244</value>
                    <newvalue>wwanPP2</newvalue>
                </mapping>
                <mapping>
                    <value>245</value>
                    <newvalue>voiceEBS</newvalue>
                </mapping>
                <mapping>
                    <value>246</value>
                    <newvalue>ifPwType</newvalue>
                </mapping>
                <mapping>
                    <value>247</value>
                    <newvalue>ilan</newvalue>
                </mapping>
                <mapping>
                    <value>248</value>
                    <newvalue>pip</newvalue>
                </mapping>
                <mapping>
                    <value>249</value>
                    <newvalue>aluELP</newvalue>
                </mapping>
                <mapping>
                    <value>250</value>
                    <newvalue>gpon</newvalue>
                </mapping>
                <mapping>
                    <value>251</value>
                    <newvalue>vdsl2</newvalue>
                </mapping>
                <mapping>
                    <value>252</value>
                    <newvalue>capwapDot11Profile</newvalue>
                </mapping>
                <mapping>
                    <value>253</value>
                    <newvalue>capwapDot11Bss</newvalue>
                </mapping>
                <mapping>
                    <value>254</value>
                    <newvalue>capwapWtpVirtualRadio</newvalue>
                </mapping>
                <mapping>
                    <value>255</value>
                    <newvalue>bits</newvalue>
                </mapping>
                <mapping>
                    <value>256</value>
                    <newvalue>docsCableUpstreamRfPort</newvalue>
                </mapping>
                <mapping>
                    <value>257</value>
                    <newvalue>cableDownstreamRfPort</newvalue>
                </mapping>
                <mapping>
                    <value>258</value>
                    <newvalue>vmwareVirtualNic</newvalue>
                </mapping>
                <mapping>
                    <value>259</value>
                    <newvalue>ieee802154</newvalue>
                </mapping>
                <mapping>
                    <value>260</value>
                    <newvalue>otnOdu</newvalue>
                </mapping>
                <mapping>
                    <value>261</value>
                    <newvalue>otnOtu</newvalue>
                </mapping>
                <mapping>
                    <value>262</value>
                    <newvalue>ifVfiType</newvalue>
                </mapping>
                <mapping>
                    <value>263</value>
                    <newvalue>g9981</newvalue>
                </mapping>
                <mapping>
                    <value>264</value>
                    <newvalue>g9982</newvalue>
                </mapping>
                <mapping>
                    <value>265</value>
                    <newvalue>g9983</newvalue>
                </mapping>
                <mapping>
                    <value>266</value>
                    <newvalue>aluEpon</newvalue>
                </mapping>
                <mapping>
                    <value>267</value>
                    <newvalue>aluEponOnu</newvalue>
                </mapping>
                <mapping>
                    <value>268</value>
                    <newvalue>aluEponPhysicalUni</newvalue>
                </mapping>
                <mapping>
                    <value>269</value>
                    <newvalue>aluEponLogicalLink</newvalue>
                </mapping>
                <mapping>
                    <value>270</value>
                    <newvalue>aluGponOnu</newvalue>
                </mapping>
                <mapping>
                    <value>271</value>
                    <newvalue>aluGponPhysicalUni</newvalue>
                </mapping>
                <mapping>
                    <value>272</value>
                    <newvalue>vmwareNicTeam</newvalue>
                </mapping>
                <mapping>
                    <value>277</value>
                    <newvalue>docsOfdmDownstream</newvalue>
                </mapping>
                <mapping>
                    <value>278</value>
                    <newvalue>docsOfdmaUpstream</newvalue>
                </mapping>
                <mapping>
                    <value>279</value>
                    <newvalue>gfast</newvalue>
                </mapping>
                <mapping>
                    <value>280</value>
                    <newvalue>sdci</newvalue>
                </mapping>
                <mapping>
                    <value>281</value>
                    <newvalue>xboxWireless</newvalue>
                </mapping>
                <mapping>
                    <value>282</value>
                    <newvalue>fastdsl</newvalue>
                </mapping>
                <mapping>
                    <value>283</value>
                    <newvalue>docsCableScte55d1FwdOob</newvalue>
                </mapping>
                <mapping>
                    <value>284</value>
                    <newvalue>docsCableScte55d1RetOob</newvalue>
                </mapping>
                <mapping>
                    <value>285</value>
                    <newvalue>docsCableScte55d2DsOob</newvalue>
                </mapping>
                <mapping>
                    <value>286</value>
                    <newvalue>docsCableScte55d2UsOob</newvalue>
                </mapping>
                <mapping>
                    <value>287</value>
                    <newvalue>docsCableNdf</newvalue>
                </mapping>
                <mapping>
                    <value>288</value>
                    <newvalue>docsCableNdr</newvalue>
                </mapping>
                <mapping>
                    <value>289</value>
                    <newvalue>ptm</newvalue>
                </mapping>
                <mapping>
                    <value>290</value>
                    <newvalue>ghn</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>IMM-MIB::systemHealthStat</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>nonRecoverable</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>critical</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>nonCritical</newvalue>
                </mapping>
                <mapping>
                    <value>255</value>
                    <newvalue>normal</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>JUNIPER-ALARM-MIB::jnxOperatingState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>running</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>ready</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>reset</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>runningAtFullSpeed</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>down or off</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>standby</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>JUNIPER-ALARM-MIB::jnxRedAlarmState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>other</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>off</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>on - RedAlarm</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Linux::Interface protocol types</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>from KA9Q: NET/ROM pseudo</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Ethernet 10Mbps</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Experimental Ethernet</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>AX.25 Level 2</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>PROnet token ring</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Chaosnet</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>IEEE 802.2 Ethernet/TR/TB</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>ARCnet</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>APPLEtalk</newvalue>
                </mapping>
                <mapping>
                    <value>15</value>
                    <newvalue>Frame Relay DLCI</newvalue>
                </mapping>
                <mapping>
                    <value>19</value>
                    <newvalue>ATM</newvalue>
                </mapping>
                <mapping>
                    <value>23</value>
                    <newvalue>Metricom STRIP (new IANA id)</newvalue>
                </mapping>
                <mapping>
                    <value>24</value>
                    <newvalue>IEEE 1394 IPv4 - RFC 2734</newvalue>
                </mapping>
                <mapping>
                    <value>27</value>
                    <newvalue>EUI-64</newvalue>
                </mapping>
                <mapping>
                    <value>32</value>
                    <newvalue>InfiniBand</newvalue>
                </mapping>
                <mapping>
                    <value>256</value>
                    <newvalue>ARPHRD_SLIP</newvalue>
                </mapping>
                <mapping>
                    <value>257</value>
                    <newvalue>ARPHRD_CSLIP</newvalue>
                </mapping>
                <mapping>
                    <value>258</value>
                    <newvalue>ARPHRD_SLIP6</newvalue>
                </mapping>
                <mapping>
                    <value>259</value>
                    <newvalue>ARPHRD_CSLIP6</newvalue>
                </mapping>
                <mapping>
                    <value>260</value>
                    <newvalue>Notional KISS type</newvalue>
                </mapping>
                <mapping>
                    <value>264</value>
                    <newvalue>ARPHRD_ADAPT</newvalue>
                </mapping>
                <mapping>
                    <value>270</value>
                    <newvalue>ARPHRD_ROSE</newvalue>
                </mapping>
                <mapping>
                    <value>271</value>
                    <newvalue>CCITT X.25</newvalue>
                </mapping>
                <mapping>
                    <value>272</value>
                    <newvalue>Boards with X.25 in firmware</newvalue>
                </mapping>
                <mapping>
                    <value>280</value>
                    <newvalue>Controller Area Network</newvalue>
                </mapping>
                <mapping>
                    <value>512</value>
                    <newvalue>ARPHRD_PPP</newvalue>
                </mapping>
                <mapping>
                    <value>513</value>
                    <newvalue>Cisco HDLC</newvalue>
                </mapping>
                <mapping>
                    <value>516</value>
                    <newvalue>LAPB</newvalue>
                </mapping>
                <mapping>
                    <value>517</value>
                    <newvalue>Digital's DDCMP protocol</newvalue>
                </mapping>
                <mapping>
                    <value>518</value>
                    <newvalue>Raw HDLC</newvalue>
                </mapping>
                <mapping>
                    <value>519</value>
                    <newvalue>Raw IP</newvalue>
                </mapping>
                <mapping>
                    <value>768</value>
                    <newvalue>IPIP tunnel</newvalue>
                </mapping>
                <mapping>
                    <value>769</value>
                    <newvalue>IP6IP6 tunnel</newvalue>
                </mapping>
                <mapping>
                    <value>770</value>
                    <newvalue>Frame Relay Access Device</newvalue>
                </mapping>
                <mapping>
                    <value>771</value>
                    <newvalue>SKIP vif</newvalue>
                </mapping>
                <mapping>
                    <value>772</value>
                    <newvalue>Loopback device</newvalue>
                </mapping>
                <mapping>
                    <value>773</value>
                    <newvalue>Localtalk device</newvalue>
                </mapping>
                <mapping>
                    <value>774</value>
                    <newvalue>Fiber Distributed Data Interface</newvalue>
                </mapping>
                <mapping>
                    <value>775</value>
                    <newvalue>AP1000 BIF</newvalue>
                </mapping>
                <mapping>
                    <value>776</value>
                    <newvalue>sit0 device - IPv6-in-IPv4</newvalue>
                </mapping>
                <mapping>
                    <value>777</value>
                    <newvalue>IP over DDP tunneller</newvalue>
                </mapping>
                <mapping>
                    <value>778</value>
                    <newvalue>GRE over IP</newvalue>
                </mapping>
                <mapping>
                    <value>779</value>
                    <newvalue>PIMSM register interface</newvalue>
                </mapping>
                <mapping>
                    <value>780</value>
                    <newvalue>High Performance Parallel Interface</newvalue>
                </mapping>
                <mapping>
                    <value>781</value>
                    <newvalue>Nexus 64Mbps Ash</newvalue>
                </mapping>
                <mapping>
                    <value>782</value>
                    <newvalue>Acorn Econet</newvalue>
                </mapping>
                <mapping>
                    <value>783</value>
                    <newvalue>Linux-IrDA</newvalue>
                </mapping>
                <mapping>
                    <value>784</value>
                    <newvalue>Point to point fibrechannel</newvalue>
                </mapping>
                <mapping>
                    <value>785</value>
                    <newvalue>Fibrechannel arbitrated loop</newvalue>
                </mapping>
                <mapping>
                    <value>786</value>
                    <newvalue>Fibrechannel public loop</newvalue>
                </mapping>
                <mapping>
                    <value>787</value>
                    <newvalue>Fibrechannel fabric</newvalue>
                </mapping>
                <mapping>
                    <value>800</value>
                    <newvalue>Magic type ident for TR</newvalue>
                </mapping>
                <mapping>
                    <value>801</value>
                    <newvalue>IEEE 802.11</newvalue>
                </mapping>
                <mapping>
                    <value>802</value>
                    <newvalue>IEEE 802.11 + Prism2 header</newvalue>
                </mapping>
                <mapping>
                    <value>803</value>
                    <newvalue>IEEE 802.11 + radiotap header</newvalue>
                </mapping>
                <mapping>
                    <value>804</value>
                    <newvalue>ARPHRD_IEEE802154</newvalue>
                </mapping>
                <mapping>
                    <value>805</value>
                    <newvalue>IEEE 802.15.4 network monitor</newvalue>
                </mapping>
                <mapping>
                    <value>820</value>
                    <newvalue>PhoNet media type</newvalue>
                </mapping>
                <mapping>
                    <value>821</value>
                    <newvalue>PhoNet pipe header</newvalue>
                </mapping>
                <mapping>
                    <value>822</value>
                    <newvalue>CAIF media type</newvalue>
                </mapping>
                <mapping>
                    <value>823</value>
                    <newvalue>GRE over IPv6</newvalue>
                </mapping>
                <mapping>
                    <value>824</value>
                    <newvalue>Netlink header</newvalue>
                </mapping>
                <mapping>
                    <value>825</value>
                    <newvalue>IPv6 over LoWPAN</newvalue>
                </mapping>
                <mapping>
                    <value>826</value>
                    <newvalue>Vsock monitor header</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL - Yes / No</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>No</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Yes</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL AG Connected state</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Disconnected</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Connected</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL AG Join state</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Not joined</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Joined, standalone instance</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Joined, failover cluster instance</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL AG Operational state</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Pending failover</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Pending</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Online</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Offline</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Failed</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Failed, no quorum</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>Replica is not local</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL AG Recovery health</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>In progress</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Online</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Replica is not local</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL AG Role</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Resolving</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Primary</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Secondary</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL AG Synchronization health</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Not healthy</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Partially healthy</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Healthy</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL DB state</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>ONLINE</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>RESTORING</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>RECOVERING</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>RECOVERY_PENDING</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>SUSPECT</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>EMERGENCY</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>OFFLINE</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>COPYING</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>OFFLINE_SECONDARY</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL Job Run Status</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Failed</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Succeeded</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Retry</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Canceled</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Running</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Unknown</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL Mirroring Role</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Database is inaccessible or is not mirrored</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Principal</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Mirror</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL Mirroring State</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Suspended</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Disconnected from the other partner</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Synchronizing</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Pending Failover</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Synchronized</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>The partners are not synchronized. Failover is not possible now.</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>The partners are synchronized. Failover is potentially possible.</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>Database is inaccessible or is not mirrored</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL Safety level</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Unknown state</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Off [asynchronous]</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Full [synchronous]</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Database is inaccessible or is not mirrored</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MSSQL Witness state</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Unknown</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Connected</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Disconnected</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>No witness exists</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>MY-SYSTEM-MIB::mySystemFanIsNormal</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>noexist</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>existnopower</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>existreadypower</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>normal</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>powerbutabnormal</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>unknown</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>PostgreSQL recovery role</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Master</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Standby</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>PostgreSQL replication status</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Down</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Up</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Master</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>QTECH-MIB::sysFanStatus</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>normal</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>abnormal</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>QTECH-MIB::sysPowerStatus</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>normal</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>abnormal</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>not available</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>RabbitMQ healthcheck</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Failed</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Ok</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Service state</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Down</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Up</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>SNMP interface status (ifAdminStatus)</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>up</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>down</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>testing</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>SNMP interface status (ifOperStatus)</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>up</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>down</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>testing</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>dormant</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>notPresent</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>lowerLayerDown</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>SW-MIB::swOperStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>online</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>offline</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>testing</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>faulty</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>SW-MIB::swSensorStatus</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>unknown</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>faulty</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>below-min</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>nominal</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>above-max</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>absent</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Template BigIP - Disponibilidade Pool</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Nenhum</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Disponivel</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Atualmente não disponivel</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Indisponível</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Disponibilidade desconhecida</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Sem licença</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Template BigIP - Status Fan</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Problema</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Ok</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Não Disponível</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Template BigIP - Status Node</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>Enabled</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>AddrDisable</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>ServDisable</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Disabled</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Forced_Disabled</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>TIMETRA-CHASSIS-MIB::TmnxDeviceState</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>deviceStateUnknown</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>deviceNotEquipped</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>deviceStateOk</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>deviceStateFailed</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>deviceStateOutOfService</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Value cache operating mode</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Normal</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Low memory</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>VMware status</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>gray</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>green</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>yellow</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>red</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>VMware VirtualMachinePowerState</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>poweredOff</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>poweredOn</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>suspended</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Win32_NetworkAdapter::AdapterTypeId</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Ethernet 802.3</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Token Ring 802.5</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Fiber Distributed Data Interface (FDDI)</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Wide Area Network (WAN)</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>LocalTalk</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Ethernet using DIX header format</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>ARCNET</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>ARCNET (878.2)</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>ATM</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>Wireless</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>Infrared Wireless</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>Bpc</newvalue>
                </mapping>
                <mapping>
                    <value>12</value>
                    <newvalue>CoWan</newvalue>
                </mapping>
                <mapping>
                    <value>13</value>
                    <newvalue>1394</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Win32_NetworkAdapter::NetConnectionStatus</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Disconnected</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Connecting</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Connected</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Disconnecting</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Hardware Not Present</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Hardware Disabled</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>Hardware Malfunction</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>Media Disconnected</newvalue>
                </mapping>
                <mapping>
                    <value>8</value>
                    <newvalue>Authenticating</newvalue>
                </mapping>
                <mapping>
                    <value>9</value>
                    <newvalue>Authentication Succeeded</newvalue>
                </mapping>
                <mapping>
                    <value>10</value>
                    <newvalue>Authentication Failed</newvalue>
                </mapping>
                <mapping>
                    <value>11</value>
                    <newvalue>Invalid Address</newvalue>
                </mapping>
                <mapping>
                    <value>12</value>
                    <newvalue>Credentials Required</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Windows service state</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>Running</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>Paused</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>Start pending</newvalue>
                </mapping>
                <mapping>
                    <value>3</value>
                    <newvalue>Pause pending</newvalue>
                </mapping>
                <mapping>
                    <value>4</value>
                    <newvalue>Continue pending</newvalue>
                </mapping>
                <mapping>
                    <value>5</value>
                    <newvalue>Stop pending</newvalue>
                </mapping>
                <mapping>
                    <value>6</value>
                    <newvalue>Stopped</newvalue>
                </mapping>
                <mapping>
                    <value>7</value>
                    <newvalue>Unknown</newvalue>
                </mapping>
                <mapping>
                    <value>255</value>
                    <newvalue>No such service</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>zabbix.host.available</name>
            <mappings>
                <mapping>
                    <value>0</value>
                    <newvalue>not available</newvalue>
                </mapping>
                <mapping>
                    <value>1</value>
                    <newvalue>available</newvalue>
                </mapping>
                <mapping>
                    <value>2</value>
                    <newvalue>unknown</newvalue>
                </mapping>
            </mappings>
        </value_map>
        <value_map>
            <name>Zabbix agent ping status</name>
            <mappings>
                <mapping>
                    <value>1</value>
                    <newvalue>Up</newvalue>
                </mapping>
            </mappings>
        </value_map>
    </value_maps>
</zabbix_export>
