Although Mikrotik has it’s own network monitor, namely the dude, they can be checked upon just as easily with Zabbix using SNMP. Zabbix is in my oppinion a pretty good solution (since it has native agents for both Windows and Linux as well) let’s use that instad.
Client setup
Log in to your router using winbox:
Go to IP -> SNMP:
The SNMP Settings panel will appear. Check Enabled, enter your email address into the Contact Info field and assign a descriptive Location. Enter public as Trap Community and set the Trap Version to 2.
XML template
Save the following code segment into an xml file:
Note: double click any part of the textarea to select the entire segment
<?xml version="1.0" encoding="UTF-8"?> <zabbix_export> <version>2.0</version> <date>2016-09-26T12:11:47Z</date> <groups> <group> <name>Routers</name> </group> <group> <name>Switches</name> </group> </groups> <templates> <template> <template>Mikrotik Generic</template> <name>Mikrotik Generic</name> <description/> <groups> <group> <name>Routers</name> </group> <group> <name>Switches</name> </group> </groups> <applications> <application> <name>Interfaces</name> </application> <application> <name>Storage</name> </application> <application> <name>System</name> </application> </applications> <items> <item> <name>Host CPU Architecture</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>SNMPv2-SMI::mib-2.47.1.1.1.1.7.65536</snmp_oid> <key>sysArchitecture.0</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>4</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>14</inventory_link> <applications> <application> <name>System</name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>Host Date</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>HOST-RESOURCES-MIB::hrSystemDate.0</snmp_oid> <key>hrSystemDate.0</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>4</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>System</name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>Host Description</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>SNMPv2-MIB::sysDescr.0</snmp_oid> <key>sysDescr.0</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>4</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>1</inventory_link> <applications> <application> <name>System</name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>Host Name</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>SNMPv2-MIB::sysName.0</snmp_oid> <key>sysName.0</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>4</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>3</inventory_link> <applications> <application> <name>System</name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>Host OS</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>SNMPv2-SMI::mib-2.47.1.1.1.1.2.65536</snmp_oid> <key>sysOS.0</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>4</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>5</inventory_link> <applications> <application> <name>System</name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>Host Uptime</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>1</multiplier> <snmp_oid>HOST-RESOURCES-MIB::hrSystemUptime.0</snmp_oid> <key>hrSystemUptime.0</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>0</value_type> <allowed_hosts/> <units>uptime</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>0.01</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>System</name> </application> </applications> <valuemap/> <logtimefmt/> </item> <item> <name>Number of network interfaces</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>IF-MIB::ifNumber.0</snmp_oid> <key>ifNumber</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap/> <logtimefmt/> </item> </items> <discovery_rules> <discovery_rule> <name>Network interfaces</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <snmp_oid>IF-MIB::ifDescr</snmp_oid> <key>ifDescr</key> <delay>3600</delay> <status>0</status> <allowed_hosts/> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <delay_flex/> <params/> <ipmi_sensor/> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <filter> <evaltype>0</evaltype> <formula/> <conditions/> </filter> <lifetime>30</lifetime> <description/> <item_prototypes> <item_prototype> <name>Admin status of interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>IF-MIB::ifAdminStatus.{#SNMPINDEX}</snmp_oid> <key>ifAdminStatus[{#SNMPVALUE}]</key> <delay>60</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>The desired state of the interface.</description> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap> <name>SNMP interface status (ifAdminStatus)</name> </valuemap> <logtimefmt/> </item_prototype> <item_prototype> <name>Alias of interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>IF-MIB::ifAlias.{#SNMPINDEX}</snmp_oid> <key>ifAlias[{#SNMPVALUE}]</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>4</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> <item_prototype> <name>Description of interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>IF-MIB::ifDescr.{#SNMPINDEX}</snmp_oid> <key>ifDescr[{#SNMPVALUE}]</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>4</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> <item_prototype> <name>Inbound errors on interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>IF-MIB::ifInErrors.{#SNMPINDEX}</snmp_oid> <key>ifInErrors[{#SNMPVALUE}]</key> <delay>60</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units/> <delta>1</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>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.</description> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> <item_prototype> <name>Incoming traffic on interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>1</multiplier> <snmp_oid>IF-MIB::ifInOctets.{#SNMPINDEX}</snmp_oid> <key>ifInOctets[{#SNMPVALUE}]</key> <delay>60</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units>bps</units> <delta>1</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>8</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> <item_prototype> <name>MTU of interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>IF-MIB::ifMtu.{#SNMPINDEX}</snmp_oid> <key>ifMtu[{#SNMPVALUE}]</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>Maximum transmission unit.</description> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> <item_prototype> <name>Operational status of interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>IF-MIB::ifOperStatus.{#SNMPINDEX}</snmp_oid> <key>ifOperStatus[{#SNMPVALUE}]</key> <delay>60</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>The current operational state of the interface.</description> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap> <name>SNMP interface status (ifOperStatus)</name> </valuemap> <logtimefmt/> </item_prototype> <item_prototype> <name>Outbound errors on interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>IF-MIB::ifOutErrors.{#SNMPINDEX}</snmp_oid> <key>ifOutErrors[{#SNMPVALUE}]</key> <delay>60</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units/> <delta>1</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>For packet-oriented interfaces, the number of outbound packets that could not be transmitted because of errors. For character-oriented or fixed-length interfaces, the number of outbound transmission units that could not be transmitted because of errors.</description> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> <item_prototype> <name>Outgoing traffic on interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>1</multiplier> <snmp_oid>IF-MIB::ifOutOctets.{#SNMPINDEX}</snmp_oid> <key>ifOutOctets[{#SNMPVALUE}]</key> <delay>60</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units>bps</units> <delta>1</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>8</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> <item_prototype> <name>Physical address of interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>IF-MIB::ifPhysAddress.{#SNMPINDEX}</snmp_oid> <key>ifPhysAddress[{#SNMPVALUE}]</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>4</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>Mac/Hardware/Physical address of interface</description> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> <item_prototype> <name>Speed of interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>IF-MIB::ifSpeed.{#SNMPINDEX}</snmp_oid> <key>ifSpeed[{#SNMPVALUE}]</key> <delay>60</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units>bps</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description>Interface Speed</description> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap> <name>SNMP interface status (ifAdminStatus)</name> </valuemap> <logtimefmt/> </item_prototype> <item_prototype> <name>Type of interface $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>IF-MIB::ifType.{#SNMPINDEX}</snmp_oid> <key>ifType[{#SNMPVALUE}]</key> <delay>60</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>1</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>Interfaces</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> </item_prototypes> <trigger_prototypes> <trigger_prototype> <expression>{Mikrotik Generic:ifAdminStatus[{#SNMPVALUE}].diff(0)}=1</expression> <name>Admin status was changed on {HOST.NAME} interface {#SNMPVALUE}</name> <url/> <status>0</status> <priority>1</priority> <description/> <type>0</type> </trigger_prototype> <trigger_prototype> <expression>{Mikrotik Generic:ifSpeed[{#SNMPVALUE}].last(0)}=10000000</expression> <name>Connection is only 10BASE on {HOST.NAME} interface {#SNMPVALUE}</name> <url/> <status>0</status> <priority>2</priority> <description/> <type>0</type> </trigger_prototype> <trigger_prototype> <expression>{Mikrotik Generic:ifSpeed[{#SNMPVALUE}].last(0)}=100000000</expression> <name>Connection is only 100BASE on {HOST.NAME} interface {#SNMPVALUE}</name> <url/> <status>0</status> <priority>1</priority> <description/> <type>0</type> </trigger_prototype> <trigger_prototype> <expression>{Mikrotik Generic:ifOperStatus[{#SNMPVALUE}].diff(0)}=1</expression> <name>Operational status was changed on {HOST.NAME} interface {#SNMPVALUE}</name> <url/> <status>0</status> <priority>1</priority> <description/> <type>0</type> </trigger_prototype> <trigger_prototype> <expression>{Mikrotik Generic:ifOperStatus[{#SNMPVALUE}].last()}=2 and {Mikrotik Generic:ifAdminStatus[{#SNMPVALUE}].last()}=1</expression> <name>{HOST.NAME} Interface {#SNMPVALUE} Down</name> <url/> <status>0</status> <priority>4</priority> <description>Where the Admin Status -- Desired -- equals 1 (Up) and the Operational Status -- actual -- equals 2 (Down), an interface that is supposed to be operational is not.</description> <type>0</type> </trigger_prototype> <trigger_prototype> <expression>8*{Mikrotik Generic:ifInOctets[{#SNMPVALUE}].last()}/{Mikrotik Generic:ifSpeed[{#SNMPVALUE}].last()}>0.9</expression> <name>{HOST.NAME} Interface {#SNMPVALUE} Inbound Congestion</name> <url/> <status>0</status> <priority>3</priority> <description>Incoming Traffic is greater than 90% bandwidth.</description> <type>0</type> </trigger_prototype> <trigger_prototype> <expression>8*{Mikrotik Generic:ifInOctets[{#SNMPVALUE}].last()}/{Mikrotik Generic:ifSpeed[{#SNMPVALUE}].last()}>0.8</expression> <name>{HOST.NAME} Interface {#SNMPVALUE} Inbound Congestion</name> <url/> <status>0</status> <priority>2</priority> <description>Incoming traffic is greater than 80% bandwidth.</description> <type>0</type> </trigger_prototype> <trigger_prototype> <expression>8*{Mikrotik Generic:ifOutOctets[{#SNMPVALUE}].last()}/{Mikrotik Generic:ifSpeed[{#SNMPVALUE}].last()}>0.8</expression> <name>{HOST.NAME} Interface {#SNMPVALUE} Outbound Congestion</name> <url/> <status>0</status> <priority>2</priority> <description>Outgoing traffic is greater than 80% bandwidth.</description> <type>0</type> </trigger_prototype> <trigger_prototype> <expression>8*{Mikrotik Generic:ifOutOctets[{#SNMPVALUE}].last()}/{Mikrotik Generic:ifSpeed[{#SNMPVALUE}].last()}>0.9</expression> <name>{HOST.NAME} Interface {#SNMPVALUE} Outbound Congestion</name> <url/> <status>0</status> <priority>3</priority> <description>Outgoing Traffic is greater than 90% bandwidth.</description> <type>0</type> </trigger_prototype> </trigger_prototypes> <graph_prototypes> <graph_prototype> <name>Errors on Interface {#SNMPVALUE}</name> <width>900</width> <height>200</height> <yaxismin>0.0000</yaxismin> <yaxismax>100.0000</yaxismax> <show_work_period>1</show_work_period> <show_triggers>1</show_triggers> <type>0</type> <show_legend>1</show_legend> <show_3d>0</show_3d> <percent_left>0.0000</percent_left> <percent_right>0.0000</percent_right> <ymin_type_1>0</ymin_type_1> <ymax_type_1>0</ymax_type_1> <ymin_item_1>0</ymin_item_1> <ymax_item_1>0</ymax_item_1> <graph_items> <graph_item> <sortorder>0</sortorder> <drawtype>5</drawtype> <color>FFFF00</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Mikrotik Generic</host> <key>ifInErrors[{#SNMPVALUE}]</key> </item> </graph_item> <graph_item> <sortorder>1</sortorder> <drawtype>5</drawtype> <color>C80000</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Mikrotik Generic</host> <key>ifOutErrors[{#SNMPVALUE}]</key> </item> </graph_item> </graph_items> </graph_prototype> <graph_prototype> <name>Traffic on interface {#SNMPVALUE}</name> <width>900</width> <height>200</height> <yaxismin>0.0000</yaxismin> <yaxismax>100.0000</yaxismax> <show_work_period>1</show_work_period> <show_triggers>1</show_triggers> <type>0</type> <show_legend>1</show_legend> <show_3d>0</show_3d> <percent_left>0.0000</percent_left> <percent_right>0.0000</percent_right> <ymin_type_1>0</ymin_type_1> <ymax_type_1>0</ymax_type_1> <ymin_item_1>0</ymin_item_1> <ymax_item_1>0</ymax_item_1> <graph_items> <graph_item> <sortorder>0</sortorder> <drawtype>5</drawtype> <color>00C800</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Mikrotik Generic</host> <key>ifInOctets[{#SNMPVALUE}]</key> </item> </graph_item> <graph_item> <sortorder>1</sortorder> <drawtype>5</drawtype> <color>3333FF</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Mikrotik Generic</host> <key>ifOutOctets[{#SNMPVALUE}]</key> </item> </graph_item> </graph_items> </graph_prototype> </graph_prototypes> <host_prototypes/> </discovery_rule> <discovery_rule> <name>Processors</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <snmp_oid>HOST-RESOURCES-MIB::hrDeviceIndex</snmp_oid> <key>hrDeviceIndex</key> <delay>3600</delay> <status>0</status> <allowed_hosts/> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <delay_flex/> <params/> <ipmi_sensor/> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <filter> <evaltype>0</evaltype> <formula/> <conditions/> </filter> <lifetime>30</lifetime> <description/> <item_prototypes> <item_prototype> <name>Load of Processor $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>HOST-RESOURCES-MIB::hrProcessorLoad.{#SNMPINDEX}</snmp_oid> <key>hrProcessorLoad[{#SNMPVALUE}]</key> <delay>60</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units>%</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>System</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> </item_prototypes> <trigger_prototypes> <trigger_prototype> <expression>{Mikrotik Generic:hrProcessorLoad[{#SNMPVALUE}].last()}>90</expression> <name>{HOST.NAME} Processor {#SNMPVALUE} Load Too High</name> <url/> <status>0</status> <priority>3</priority> <description/> <type>0</type> </trigger_prototype> <trigger_prototype> <expression>{Mikrotik Generic:hrProcessorLoad[{#SNMPVALUE}].last()}>80</expression> <name>{HOST.NAME} Processor {#SNMPVALUE} Load Too High</name> <url/> <status>0</status> <priority>2</priority> <description/> <type>0</type> </trigger_prototype> </trigger_prototypes> <graph_prototypes> <graph_prototype> <name>Processor {#SNMPVALUE} load</name> <width>900</width> <height>200</height> <yaxismin>0.0000</yaxismin> <yaxismax>100.0000</yaxismax> <show_work_period>1</show_work_period> <show_triggers>1</show_triggers> <type>0</type> <show_legend>1</show_legend> <show_3d>0</show_3d> <percent_left>0.0000</percent_left> <percent_right>0.0000</percent_right> <ymin_type_1>0</ymin_type_1> <ymax_type_1>0</ymax_type_1> <ymin_item_1>0</ymin_item_1> <ymax_item_1>0</ymax_item_1> <graph_items> <graph_item> <sortorder>0</sortorder> <drawtype>5</drawtype> <color>00C800</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Mikrotik Generic</host> <key>hrProcessorLoad[{#SNMPVALUE}]</key> </item> </graph_item> </graph_items> </graph_prototype> </graph_prototypes> <host_prototypes/> </discovery_rule> <discovery_rule> <name>Storages</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <snmp_oid>HOST-RESOURCES-MIB::hrStorageDescr</snmp_oid> <key>hrStorage</key> <delay>3600</delay> <status>0</status> <allowed_hosts/> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <delay_flex/> <params/> <ipmi_sensor/> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <filter> <evaltype>0</evaltype> <formula/> <conditions/> </filter> <lifetime>30</lifetime> <description/> <item_prototypes> <item_prototype> <name>Size of storage $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>1</multiplier> <snmp_oid>HOST-RESOURCES-MIB::hrStorageSize.{#SNMPINDEX}</snmp_oid> <key>hrStorageSize[{#SNMPVALUE}]</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units>b</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>0.001</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>Storage</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> <item_prototype> <name>Type of storage $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>0</multiplier> <snmp_oid>HOST-RESOURCES-MIB::hrStorageType.{#SNMPINDEX}</snmp_oid> <key>hrStorageType[{#SNMPVALUE}]</key> <delay>3600</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>4</value_type> <allowed_hosts/> <units/> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>1</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>Storage</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> <item_prototype> <name>Used size of storage $1</name> <type>4</type> <snmp_community>{$SNMP_COMMUNITY}</snmp_community> <multiplier>1</multiplier> <snmp_oid>HOST-RESOURCES-MIB::hrStorageUsed.{#SNMPINDEX}</snmp_oid> <key>hrStorageUsed[{#SNMPVALUE}]</key> <delay>60</delay> <history>90</history> <trends>365</trends> <status>0</status> <value_type>3</value_type> <allowed_hosts/> <units>b</units> <delta>0</delta> <snmpv3_contextname/> <snmpv3_securityname/> <snmpv3_securitylevel>0</snmpv3_securitylevel> <snmpv3_authprotocol>0</snmpv3_authprotocol> <snmpv3_authpassphrase/> <snmpv3_privprotocol>0</snmpv3_privprotocol> <snmpv3_privpassphrase/> <formula>0.001</formula> <delay_flex/> <params/> <ipmi_sensor/> <data_type>0</data_type> <authtype>0</authtype> <username/> <password/> <publickey/> <privatekey/> <port/> <description/> <inventory_link>0</inventory_link> <applications> <application> <name>Storage</name> </application> </applications> <valuemap/> <logtimefmt/> </item_prototype> </item_prototypes> <trigger_prototypes> <trigger_prototype> <expression>{Mikrotik Generic:hrStorageUsed[{#SNMPVALUE}].last()}/{Mikrotik Generic:hrStorageSize[{#SNMPVALUE}].last()}>0.8</expression> <name>{HOST.NAME} Storage {#SNMPVALUE} Too High</name> <url/> <status>0</status> <priority>2</priority> <description>Storage usage greater than 80%.</description> <type>0</type> </trigger_prototype> <trigger_prototype> <expression>{Mikrotik Generic:hrStorageUsed[{#SNMPVALUE}].last()}/{Mikrotik Generic:hrStorageSize[{#SNMPVALUE}].last()}>0.9</expression> <name>{HOST.NAME} Storage {#SNMPVALUE} Too High</name> <url/> <status>0</status> <priority>3</priority> <description>Storage usage greater than 80%.</description> <type>0</type> </trigger_prototype> </trigger_prototypes> <graph_prototypes> <graph_prototype> <name>Storage Used on {#SNMPVALUE}</name> <width>900</width> <height>200</height> <yaxismin>0.0000</yaxismin> <yaxismax>100.0000</yaxismax> <show_work_period>1</show_work_period> <show_triggers>1</show_triggers> <type>0</type> <show_legend>1</show_legend> <show_3d>0</show_3d> <percent_left>0.0000</percent_left> <percent_right>0.0000</percent_right> <ymin_type_1>1</ymin_type_1> <ymax_type_1>2</ymax_type_1> <ymin_item_1>0</ymin_item_1> <ymax_item_1> <host>Mikrotik Generic</host> <key>hrStorageSize[{#SNMPVALUE}]</key> </ymax_item_1> <graph_items> <graph_item> <sortorder>0</sortorder> <drawtype>5</drawtype> <color>00FF00</color> <yaxisside>0</yaxisside> <calc_fnc>2</calc_fnc> <type>0</type> <item> <host>Mikrotik Generic</host> <key>hrStorageUsed[{#SNMPVALUE}]</key> </item> </graph_item> </graph_items> </graph_prototype> </graph_prototypes> <host_prototypes/> </discovery_rule> </discovery_rules> <macros/> <templates/> <screens/> </template> </templates> </zabbix_export>
Server setup
Log in to your zabbix server:
Go to Configuration -> Templates and click the Import button to the top right of the screen:
Click Choose file and select the template file you just saved earlier and click Import:
Now go to Configuration -> Hosts and click Create host:
The following screen will appear:
Enter a Host name, a Visible name, remove Agent interfaces and add a new SNMP interface. Provide the IP address of the mikrotik device, optionally it’s hostname, leave everything as is and go to the Templates tab:
At the Link new templates section click the Add button:
Select the Template we just imported and click Select:
The template should be linked, you can press the Add button to add the host: