Шаблоны zabbix для linux

Содержание
  1. Шаблоны ZABBIX
  2. Шаблоны ZABBIX
  3. Zabbix + Linux
  4. Linux
  5. Available solutions
  6. Linux CPU by Zabbix agent
  7. Overview
  8. Setup
  9. Zabbix configuration
  10. Macros used
  11. Template links
  12. Discovery rules
  13. Items collected
  14. Triggers
  15. Feedback
  16. Linux filesystems by Zabbix agent
  17. Overview
  18. Setup
  19. Zabbix configuration
  20. Macros used
  21. Template links
  22. Discovery rules
  23. Items collected
  24. Triggers
  25. Template links
  26. Discovery rules
  27. Items collected
  28. Triggers
  29. Template links
  30. Discovery rules
  31. Items collected
  32. Triggers
  33. Feedback
  34. Linux network interfaces by Zabbix agent
  35. Overview
  36. Setup
  37. Zabbix configuration
  38. Macros used
  39. Template links
  40. Discovery rules
  41. Items collected
  42. Triggers
  43. Feedback
  44. Known Issues
  45. Linux generic by Zabbix agent
  46. Overview
  47. Setup
  48. Zabbix configuration
  49. Macros used
  50. Template links
  51. Discovery rules
  52. Items collected
  53. Triggers
  54. Feedback
  55. Linux by Zabbix agent
  56. Overview
  57. Setup
  58. Zabbix configuration
  59. Template links
  60. Discovery rules
  61. Items collected
  62. Triggers
  63. Feedback
  64. Known Issues
  65. Linux CPU by Zabbix agent
  66. Overview
  67. Setup
  68. Zabbix configuration
  69. Macros used
  70. Template links
  71. Discovery rules
  72. Items collected
  73. Triggers
  74. Feedback
  75. Linux filesystems by Zabbix agent
  76. Overview
  77. Setup
  78. Zabbix configuration
  79. Macros used
  80. Template links
  81. Discovery rules
  82. Items collected
  83. Triggers
  84. Template links
  85. Discovery rules
  86. Items collected
  87. Triggers
  88. Template links
  89. Discovery rules
  90. Items collected
  91. Triggers
  92. Feedback
  93. Linux network interfaces by Zabbix agent
  94. Overview
  95. Setup
  96. Zabbix configuration
  97. Macros used
  98. Template links
  99. Discovery rules
  100. Items collected
  101. Triggers
  102. Feedback
  103. Known Issues
  104. Linux generic by Zabbix agent
  105. Overview
  106. Setup
  107. Zabbix configuration
  108. Macros used
  109. Template links
  110. Discovery rules
  111. Items collected
  112. Triggers
  113. Feedback
  114. Linux by Zabbix agent
  115. Overview
  116. Setup
  117. Zabbix configuration
  118. Template links
  119. Discovery rules
  120. Items collected
  121. Triggers
  122. Feedback
  123. Known Issues
  124. Linux CPU by Zabbix agent active
  125. Overview
  126. Setup
  127. Zabbix configuration
  128. Macros used
  129. Template links
  130. Discovery rules
  131. Items collected
  132. Triggers
  133. Feedback
  134. Linux filesystems by Zabbix agent active
  135. Overview
  136. Setup
  137. Zabbix configuration
  138. Macros used
  139. Template links
  140. Discovery rules
  141. Items collected
  142. Triggers
  143. Template links
  144. Discovery rules
  145. Items collected
  146. Triggers
  147. Template links
  148. Discovery rules
  149. Items collected
  150. Triggers
  151. Feedback
  152. Linux network interfaces by Zabbix agent active
  153. Overview
  154. Setup
  155. Zabbix configuration
  156. Macros used
  157. Template links
  158. Discovery rules
  159. Items collected
  160. Triggers
  161. Feedback
  162. Known Issues
  163. Linux generic by Zabbix agent active
  164. Overview
  165. Setup
  166. Zabbix configuration
  167. Macros used
  168. Template links
  169. Discovery rules
  170. Items collected
  171. Triggers
  172. Feedback
  173. Linux by Zabbix agent active
  174. Overview
  175. Setup
  176. Zabbix configuration
  177. Template links
  178. Discovery rules
  179. Items collected
  180. Triggers
  181. Feedback
  182. Known Issues
  183. Linux CPU by Zabbix agent active
  184. Overview
  185. Setup
  186. Zabbix configuration
  187. Macros used
  188. Template links
  189. Discovery rules
  190. Items collected
  191. Triggers
  192. Feedback
  193. Linux filesystems by Zabbix agent active
  194. Overview
  195. Setup
  196. Zabbix configuration
  197. Macros used
  198. Template links
  199. Discovery rules
  200. Items collected
  201. Triggers
  202. Template links
  203. Discovery rules
  204. Items collected
  205. Triggers
  206. Template links
  207. Discovery rules
  208. Items collected
  209. Triggers
  210. Feedback
  211. Linux network interfaces by Zabbix agent active
  212. Overview
  213. Setup
  214. Zabbix configuration
  215. Macros used
  216. Template links
  217. Discovery rules
  218. Items collected
  219. Triggers
  220. Feedback
  221. Known Issues
  222. Linux generic by Zabbix agent active
  223. Overview
  224. Setup
  225. Zabbix configuration
  226. Macros used
  227. Template links
  228. Discovery rules
  229. Items collected
  230. Triggers
  231. Feedback
  232. Linux by Zabbix agent active
  233. Overview
  234. Setup
  235. Zabbix configuration
  236. Template links
  237. Discovery rules
  238. Items collected
  239. Triggers
  240. Feedback
  241. Known Issues
  242. Linux memory SNMP
  243. Overview
  244. Setup
  245. Zabbix configuration
  246. Macros used
  247. Template links
  248. Discovery rules
  249. Items collected
  250. Triggers
  251. Template links
  252. Discovery rules
  253. Items collected
  254. Triggers
  255. Feedback
  256. Linux CPU SNMP
  257. Overview
  258. Setup
  259. Zabbix configuration
  260. Macros used
  261. Template links
  262. Discovery rules
  263. Items collected
  264. Triggers
  265. Feedback
  266. Linux filesystems SNMP
  267. Overview
  268. Setup
  269. Zabbix configuration
  270. Macros used
  271. Template links
  272. Discovery rules
  273. Items collected
  274. Triggers
  275. Zabbix configuration
  276. Template links
  277. Discovery rules
  278. Items collected
  279. Triggers
  280. Feedback
  281. References
  282. Linux memory SNMP
  283. Overview
  284. Setup
  285. Zabbix configuration
  286. Macros used
  287. Template links
  288. Discovery rules
  289. Items collected
  290. Triggers
  291. Template links
  292. Discovery rules
  293. Items collected
  294. Triggers
  295. Feedback
  296. Linux CPU SNMP
  297. Overview
  298. Setup
  299. Zabbix configuration
  300. Macros used
  301. Template links
  302. Discovery rules
  303. Items collected
  304. Triggers
  305. Feedback
  306. Linux filesystems SNMP
  307. Overview
  308. Setup
  309. Zabbix configuration
  310. Macros used
  311. Template links
  312. Discovery rules
  313. Items collected
  314. Triggers
  315. Zabbix configuration
  316. Template links
  317. Discovery rules
  318. Items collected
  319. Triggers
  320. Feedback
  321. References
  322. Linux by Prom
  323. Overview
  324. Setup
  325. Zabbix configuration
  326. Macros used
  327. Template links
  328. Discovery rules
  329. Items collected
  330. Triggers
  331. Feedback
  332. Known Issues
  333. Template links
  334. Discovery rules
  335. Items collected
  336. Triggers
  337. Feedback

Шаблоны ZABBIX

После установки ZABBIX и его настройки пришло время приступить к созданию шаблонов мониторинга. По умолчанию в системе доступно множество готовых к использованию шаблонов и в большинстве случаев они вполне способны решать многие задачи по наблюдению и выявлению неисправностей, а потому вам остается лишь добавить необходимые для наблюдения узлы или устройства, настроить хотя бы небольшую иерархию и логически сгруппировать объекты мониторинга. Интерфейс ZABBIX в принципе позволяет без чтения документации самостоятельно разобраться в настройках, но все же новичка будут сильно раздражать неочевидные моменты и огрехи в разработке интерфейса — надо признать, что он получился далеко не самым удобным, а многие основные элементы управления выглядят просто «слепо» и неопытный администратор не сразу обратит на них внимание. Однако все же стоит сказать большое спасибо разработчикам продукта хотя бы за то, что этот интерфейс все же есть и подавляющее большинство задач администрирования и настройки можно выполнить именно из него.

Если вам интересна тематика ZABBIX, рекомендую обратиться к основной статье — Система мониторинга ZABBIX, в ней вы найдете дополнительную информацию.

Шаблоны ZABBIX

Дефолтные шаблоны ZABBIX покрывают достаточно большую область мониторинга, начиная от unix- и windows- систем, заканчивая сетевыми устройствами. Тем не менее перед системными администраторами часто встает задача ручного допиливания шаблонов, а иногда и вообще создания собственных с нуля. В этом вам помогут мои статьи, ну и конечно же официальная документация.

Найти информацию о шаблонах мониторинга в моем блоге вы сможете в следующих статьях:

  • Мониторинг MySQL в ZABBIX — тюнинг СУБД всегда был важной задачей и без отслеживания ключевых показателей вы вряд ли добьетесь в этом деле успеха;
  • Мониторинг Apache в ZABBIX — нельзя забывать про отслеживание показателей одного из самых популярных веб-сервисов;
  • Мониторинг дисков ZABBIX — дефолтные шаблоны не предоставляют возможности для широкого мониторинга дисков unix-систем, эта статья призвана устранить этот недочет;
  • Шаблоны Windows в ZABBIX — мониторинг Windows — это отдельная тематика, а потому я посветил ей целую статью и вероятнее всего на этом дело не кончится.

Тем не менее «затачивание» шаблонов под свои нужды представляет из себя далеко не самую простую задачу и сделать это можно не за один раз и не за короткий временной промежуток. Поскольку большинство системных администраторов вообще не используют системы мониторинга, следовательно каких-то больших сообществ и «клубов по интересам» касательно этих систем в интернете очень мало, либо нет вообще. Все это делает малодоступным свободное перенимание опыта со стороны новичков от их «видавших многое» коллег. И это особо актуально по отношению лучших практик мониторинга критически важных элементов серверов, сетевых устройств. Все это делает достаточно ценным ваши собственные шаблоны мониторинга, которые вы создавали, расширяли и совершенствовали на протяжении многих лет практики системного администрирования. Если кто-то пока не понимает о чем идет речь, то поясню: если единственная цель мониторинга сервера — понять включен он или выключен, то тут все просто и задача упирается во всего лишь один триггер, отвечающий за уведомление в случае отсутствия от сервера признаков жизни; однако если вы ставите целью понимание насколько аппаратное обеспечение сервера отвечает требованиям производительности со стороны ПО и когда может потребоваться сделать апгрейд, либо вашей задачей является тюнинг СУБД и выявление узких мест в работе системы, а может быть предмет вашего мониторинга — сложная система, состоящая из массы связанных друг с другом узлов с множеством служб (например, кластер), то в этих случаях вам придется самостоятельно «допиливать» шаблоны мониторинга под себя и никто с вами ничем не поделится и по-простому проскочить не получится.

Вот и у меня за годы использования ZABBIX накопились некоторые знания и навыки в администрировании этой системы и цель статьи этими знаниями поделиться. По мере изменений я буду выкладывать свои шаблоны ZABBIX и при необходимости их можно будет скачать. Пока основным и наиболее сложным моментом является анализ счетчиков производительности Windows, ведь их надо анализировать в комплексе и эту задачу я решаю следующим образом: по возможности в каждом ключе данных пишу комментарии как этот счетчик можно использовать и с какими другими показателями его надо анализировать. Что-то из этого — личный опыт, а что-то найдено в сети и источники я тоже буду стараться выкладывать.

Источник

Zabbix + Linux

Linux

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged in a Linux distribution.

Available solutions

Also available for: 5.0

Linux CPU by Zabbix agent

Overview

For Zabbix version: 5.4 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Load per CPU considered sustainable. Tune if needed.

There are no template links in this template.

Discovery rules

Items collected

CPU utilization in %

The time the CPU has spent running the kernel and its processes.

The time the CPU has spent running users’ processes that are not niced.

The time the CPU has spent running users’ processes that have been niced.

Amount of time the CPU has been waiting for I/O to complete.

The amount of CPU ‘stolen’ from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).

The amount of time the CPU has been servicing hardware interrupts.

The amount of time the CPU has been servicing software interrupts.

Guest time (time spent running a virtual CPU for a guest operating system)

Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)

Group Name Description Type Key and additional info
CPU Number of CPUs ZABBIX_PASSIVE system.cpu.num

Preprocessing:

ZABBIX_PASSIVE system.cpu.load[all,avg1]
CPU Load average (5m avg) ZABBIX_PASSIVE system.cpu.load[all,avg5]
CPU Load average (15m avg) ZABBIX_PASSIVE system.cpu.load[all,avg15]
CPU CPU utilization DEPENDENT system.cpu.util

Preprocessing:

— JAVASCRIPT: //Calculate utilization return (100 — value)

The time the CPU has spent doing nothing.

ZABBIX_PASSIVE system.cpu.util[,idle]
CPU CPU system time ZABBIX_PASSIVE system.cpu.util[,system]
CPU CPU user time ZABBIX_PASSIVE system.cpu.util[,user]
CPU CPU nice time ZABBIX_PASSIVE system.cpu.util[,nice]
CPU CPU iowait time ZABBIX_PASSIVE system.cpu.util[,iowait]
CPU CPU steal time ZABBIX_PASSIVE system.cpu.util[,steal]
CPU CPU interrupt time ZABBIX_PASSIVE system.cpu.util[,interrupt]
CPU CPU softirq time ZABBIX_PASSIVE system.cpu.util[,softirq]
CPU CPU guest time ZABBIX_PASSIVE system.cpu.util[,guest]
CPU CPU guest nice time ZABBIX_PASSIVE system.cpu.util[,guest_nice]
CPU Context switches per second ZABBIX_PASSIVE system.cpu.switches

Preprocessing:

— CHANGE_PER_SECOND

CPU Interrupts per second ZABBIX_PASSIVE system.cpu.intr

Preprocessing:

— CHANGE_PER_SECOND

Triggers

Per CPU load average is too high. Your system may be slow to respond.

CPU utilization is too high. The system might be slow to respond.

Depends on:

— Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m)

Feedback

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

Linux filesystems by Zabbix agent

Overview

For Zabbix version: 5.4 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

Name Description Expression Severity Dependencies and additional info
Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m) /> <$LOAD_AVG_PER_CPU.MAX.WARN>and >0 and >0 AVERAGE
High CPU utilization (over <$CPU.UTIL.CRIT>% for 5m) ^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

There are no template links in this template.

Discovery rules

Discovery of file systems of different types.

Name Description Type Key and additional info
Mounted filesystem discovery ZABBIX_PASSIVE vfs.fs.discovery

Filter:

Items collected

Used storage in Bytes

Total space in Bytes

Space utilization in % for

Group Name Description Type Key and additional info
Filesystems <#FSNAME>: Used space ZABBIX_PASSIVE vfs.fs.size[<#FSNAME>,used]
Filesystems <#FSNAME>: Total space ZABBIX_PASSIVE vfs.fs.size[<#FSNAME>,total]
Filesystems <#FSNAME>: Space utilization ZABBIX_PASSIVE vfs.fs.size[<#FSNAME>,pused]
Filesystems <#FSNAME>: Free inodes in % ZABBIX_PASSIVE vfs.fs.inode[<#FSNAME>,pfree]

Triggers

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 5G.

— The disk will be full in less than 24 hours.

Manual close: YES

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 10G.

— The disk will be full in less than 24 hours.

Manual close: YES

Depends on:

Depends on:

— <#FSNAME>: Running out of free inodes (free 20M

Name Description Expression Severity Dependencies and additional info
<#FSNAME>: Disk space is critically low (used > <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>%) ,pused].last()>><$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«> and ((,total].last()>-,used].last()>) AVERAGE ,pused].last()>><$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«> and ((,total].last()>-,used].last()>) WARNING
<#FSNAME>: Running out of free inodes (free ,pfree].min(5m)> AVERAGE
<#FSNAME>: Running out of free inodes (free ,pfree].min(5m)> WARNING

This macro is used as a threshold in memory utilization trigger.

There are no template links in this template.

Discovery rules

Items collected

Memory used percentage is calculated as (100-pavailable)

Total memory in Bytes

Available memory, in Linux, available = free + buffers + cache. On other platforms calculation may vary. See also: https://www.zabbix.com/documentation/5.4/manual/appendix/items/vm.memory.size_params

The total space of swap volume/file in bytes.

The free space of swap volume/file in bytes.

The free space of swap volume/file in percent.

Group Name Description Type Key and additional info
Memory Memory utilization DEPENDENT vm.memory.utilization

Preprocessing:

— JAVASCRIPT: return (100-value);

ZABBIX_PASSIVE vm.memory.size[pavailable]
Memory Total memory ZABBIX_PASSIVE vm.memory.size[total]
Memory Available memory ZABBIX_PASSIVE vm.memory.size[available]
Memory Total swap space ZABBIX_PASSIVE system.swap.size[,total]
Memory Free swap space ZABBIX_PASSIVE system.swap.size[,free]
Memory Free swap space in % ZABBIX_PASSIVE system.swap.size[,pfree]

Triggers

The system is running out of free memory.

Depends on:

— Lack of available memory ( 0

This trigger is ignored, if there is no swap configured

Depends on:

— High memory utilization (><$MEMORY.UTIL.MAX>% for 5m)

— Lack of available memory ( .+

Name Description Expression Severity Dependencies and additional info
High memory utilization (><$MEMORY.UTIL.MAX>% for 5m) AVERAGE
High swap space usage (less than <$SWAP.PFREE.MIN.WARN>% free)

This macro is used in block devices discovery. Can be overridden on the host or linked template level

^(loop9*|sd[a-z]7+|nbd2+|sr4+|fd2+|dm-5+|ram5+|ploop[a-z0-9]+|md4*|hcp5*|zram1*)

Disk read average response time (in ms) before the trigger would fire

Disk write average response time (in ms) before the trigger would fire

There are no template links in this template.

Discovery rules

Name Description Type Key and additional info
Block devices discovery ZABBIX_PASSIVE vfs.dev.discovery

Preprocessing:

Filter:

— A: <#DEVTYPE>MATCHES_REGEX disk

Items collected

r/s. The number (after merges) of read requests completed per second for the device.

w/s. The number (after merges) of write requests completed per second for the device.

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.

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.

Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected.

Rate of total read time counter. Used in r_await calculation

Rate of total write time counter. Used in w_await calculation

Group Name Description Type Key and additional info
Storage <#DEVNAME>: Disk read rate DEPENDENT vfs.dev.read.rate[<#DEVNAME>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk write rate DEPENDENT vfs.dev.write.rate[<#DEVNAME>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk read request avg waiting time (r_await) CALCULATED vfs.dev.read.await[<#DEVNAME>]

Expression:

(last(«vfs.dev.read.time.rate[<#DEVNAME>]»)/(last(«vfs.dev.read.rate[<#DEVNAME>]»)+(last(«vfs.dev.read.rate[<#DEVNAME>]»)=0)))*1000*(last(«vfs.dev.read.rate[<#DEVNAME>]») > 0)

Storage <#DEVNAME>: Disk write request avg waiting time (w_await) CALCULATED vfs.dev.write.await[<#DEVNAME>]

Expression:

(last(«vfs.dev.write.time.rate[<#DEVNAME>]»)/(last(«vfs.dev.write.rate[<#DEVNAME>]»)+(last(«vfs.dev.write.rate[<#DEVNAME>]»)=0)))*1000*(last(«vfs.dev.write.rate[<#DEVNAME>]») > 0)

Storage <#DEVNAME>: Disk average queue size (avgqu-sz) DEPENDENT vfs.dev.queue_size[<#DEVNAME>]

Preprocessing:

This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests.

DEPENDENT vfs.dev.util[<#DEVNAME>]

Preprocessing:

Get contents of /sys/block/<#DEVNAME>/stat for disk stats.

ZABBIX_PASSIVE vfs.file.contents[/sys/block/<#DEVNAME>/stat]

Preprocessing:

— JAVASCRIPT: return JSON.stringify(value.trim().split(/ +/));

Zabbix_raw_items <#DEVNAME>: Disk read time (rate) DEPENDENT vfs.dev.read.time.rate[<#DEVNAME>]

Preprocessing:

Zabbix_raw_items <#DEVNAME>: Disk write time (rate) DEPENDENT vfs.dev.write.time.rate[<#DEVNAME>]

Preprocessing:

Triggers

This trigger might indicate disk <#DEVNAME>saturation.

Manual close: YES

Feedback

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

Linux network interfaces by Zabbix agent

Overview

For Zabbix version: 5.4 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Filter out loopbacks, nulls, docker veth links and docker0 bridge by default

Name Description Expression Severity Dependencies and additional info
<#DEVNAME>: Disk read/write request responses are too high (read > <$VFS.DEV.READ.AWAIT.WARN:"<#DEVNAME>«> ms for 15m or write > <$VFS.DEV.WRITE.AWAIT.WARN:"<#DEVNAME>«> ms for 15m) (^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker3+|br-[a-z0-9]<12>)

There are no template links in this template.

Discovery rules

Discovery of network interfaces.

Indicates the interface RFC2863 operational state as a string.

Possible values are:»unknown», «notpresent», «down», «lowerlayerdown», «testing»,»dormant», «up».

Indicates the interface protocol type as a decimal value.

See include/uapi/linux/if_arp.h for all possible values.

Name Description Type Key and additional info
Network interface discovery ZABBIX_PASSIVE net.if.discovery

Filter:

Items collected

Group Name Description Type Key and additional info
Network_interfaces Interface <#IFNAME>: Bits received ZABBIX_PASSIVE net.if.in[«<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>: Bits sent ZABBIX_PASSIVE net.if.out[«<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>: Outbound packets with errors ZABBIX_PASSIVE net.if.out[«<#IFNAME>«,errors]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Inbound packets with errors ZABBIX_PASSIVE net.if.in[«<#IFNAME>«,errors]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Outbound packets discarded ZABBIX_PASSIVE net.if.out[«<#IFNAME>«,dropped]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Inbound packets discarded ZABBIX_PASSIVE net.if.in[«<#IFNAME>«,dropped]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Operational status ZABBIX_PASSIVE vfs.file.contents[«/sys/class/net/<#IFNAME>/operstate»]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Network_interfaces Interface <#IFNAME>: Interface type ZABBIX_PASSIVE vfs.file.contents[«/sys/class/net/<#IFNAME>/type»]

Preprocessing:

Triggers

Recovers when below 80% of <$IF.ERRORS.WARN:"<#IFNAME>«> threshold

Manual close: YES

Depends on:

— Interface <#IFNAME>: Link down

This trigger expression works as follows:

1. Can be triggered if operations status is down.

2. <$IFCONTROL:"<#IFNAME>«>=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.

3. =1) — trigger fires only if operational status was up(1) sometime before. (So, do not fire ‘ethernal off’ interfaces.)

WARNING: if closed manually — won’t fire again on next poll, because of .diff.

Manual close: YES

This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.

Manual close: YES

Depends on:

— Interface <#IFNAME>: Link down

Feedback

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

Known Issues

  • Description: High interface utilization trigger is removed since currently it is not possible to retrieve interface speed to determine the max bandwidth.

Linux generic by Zabbix agent

Overview

For Zabbix version: 5.4 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

There are no template links in this template.

Discovery rules

Items collected

Name Description Expression Severity Dependencies and additional info
Interface <#IFNAME>: High error rate (> <$IF.ERRORS.WARN:"<#IFNAME>«> for 5m) «,errors].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«> or «,errors].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«>

«,errors].max(5m)>

WARNING <$IFCONTROL:"<#IFNAME>«>=1 and (/operstate»].last()>=2 and /operstate»].diff()>=1)

/operstate»].last()><>2 or <$IFCONTROL:"<#IFNAME>«>=0

AVERAGE
Interface <#IFNAME>: Ethernet has changed to lower speed than it was before /type»].change()> 0 and (/type»].last()>=6 or /type»].last()>=1) and (/operstate»].last()><>2)

(/type»].change()>>0 and /type»].prev()>>0) or (/operstate»].last()>=2)

INFO

System host name.

Number of users who are currently logged in.

It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.

It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.

Operating system architecture of the host.

Group Name Description Type Key and additional info
General System boot time ZABBIX_PASSIVE system.boottime

Preprocessing:

System local time of the host.

ZABBIX_PASSIVE system.localtime
General System name ZABBIX_PASSIVE system.hostname

Preprocessing:

The information as normally returned by ‘uname -a’.

ZABBIX_PASSIVE system.uname

Preprocessing:

General Number of logged in users ZABBIX_PASSIVE system.users.num
General Maximum number of open file descriptors ZABBIX_PASSIVE kernel.maxfiles

Preprocessing:

General Maximum number of processes ZABBIX_PASSIVE kernel.maxproc

Preprocessing:

ZABBIX_PASSIVE proc.num
General Number of running processes ZABBIX_PASSIVE proc.num[,,run]
Inventory Operating system ZABBIX_PASSIVE system.sw.os

Preprocessing:

Inventory Operating system architecture ZABBIX_PASSIVE system.sw.arch

Preprocessing:

ZABBIX_PASSIVE system.sw.packages

Preprocessing:

Security Checksum of /etc/passwd ZABBIX_PASSIVE vfs.file.cksum[/etc/passwd]

Preprocessing:

System uptime in ‘N days, hh:mm:ss’ format.

ZABBIX_PASSIVE system.uptime

Triggers

The host system time is different from the Zabbix server time.

Manual close: YES

System name has changed. Ack to close.

Manual close: YES

Depends on:

— Getting closer to process limit (over 80% used)

Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.

Manual close: YES

Depends on:

— System name has changed (new name: )

Manual close: YES

Depends on:

— Operating system description has changed

— System name has changed (new name: )

Manual close: YES

Feedback

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

Linux by Zabbix agent

Overview

For Zabbix version: 5.4 and higher
New official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.

Setup

Install Zabbix agent on Linux OS according to Zabbix documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Name Description Expression Severity Dependencies and additional info
System time is out of sync (diff with Zabbix server > <$SYSTEM.FUZZYTIME.MAX>s)
System name has changed (new name: )
Configured max number of open filedescriptors is too low ( INFO
Configured max number of processes is too low ( INFO
Getting closer to process limit (over 80% used) /*100>80 WARNING
Operating system description has changed
has been restarted (uptime WARNING
Name
Linux CPU by Zabbix agent
Linux block devices by Zabbix agent
Linux filesystems by Zabbix agent
Linux generic by Zabbix agent
Linux memory by Zabbix agent
Linux network interfaces by Zabbix agent
Zabbix agent

Discovery rules

Items collected

Group Name Description Type Key and additional info

Triggers

Name Description Expression Severity Dependencies and additional info

Feedback

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

You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.

Known Issues

  • Description: Network discovery. Zabbix agent as of 4.2 doesn’t support items such as net.if.status, net.if.speed.

Also available for: 5.4

Linux CPU by Zabbix agent

Overview

For Zabbix version: 5.0 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Load per CPU considered sustainable. Tune if needed.

There are no template links in this template.

Discovery rules

Items collected

CPU utilization in %

The time the CPU has spent running the kernel and its processes.

The time the CPU has spent running users’ processes that are not niced.

The time the CPU has spent running users’ processes that have been niced.

Amount of time the CPU has been waiting for I/O to complete.

The amount of CPU ‘stolen’ from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).

The amount of time the CPU has been servicing hardware interrupts.

The amount of time the CPU has been servicing software interrupts.

Guest time (time spent running a virtual CPU for a guest operating system)

Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)

Group Name Description Type Key and additional info
CPU Number of CPUs ZABBIX_PASSIVE system.cpu.num

Preprocessing:

ZABBIX_PASSIVE system.cpu.load[all,avg1]
CPU Load average (5m avg) ZABBIX_PASSIVE system.cpu.load[all,avg5]
CPU Load average (15m avg) ZABBIX_PASSIVE system.cpu.load[all,avg15]
CPU CPU utilization DEPENDENT system.cpu.util

Preprocessing:

— JAVASCRIPT: //Calculate utilization return (100 — value)

The time the CPU has spent doing nothing.

ZABBIX_PASSIVE system.cpu.util[,idle]
CPU CPU system time ZABBIX_PASSIVE system.cpu.util[,system]
CPU CPU user time ZABBIX_PASSIVE system.cpu.util[,user]
CPU CPU nice time ZABBIX_PASSIVE system.cpu.util[,nice]
CPU CPU iowait time ZABBIX_PASSIVE system.cpu.util[,iowait]
CPU CPU steal time ZABBIX_PASSIVE system.cpu.util[,steal]
CPU CPU interrupt time ZABBIX_PASSIVE system.cpu.util[,interrupt]
CPU CPU softirq time ZABBIX_PASSIVE system.cpu.util[,softirq]
CPU CPU guest time ZABBIX_PASSIVE system.cpu.util[,guest]
CPU CPU guest nice time ZABBIX_PASSIVE system.cpu.util[,guest_nice]
CPU Context switches per second ZABBIX_PASSIVE system.cpu.switches

Preprocessing:

— CHANGE_PER_SECOND

CPU Interrupts per second ZABBIX_PASSIVE system.cpu.intr

Preprocessing:

— CHANGE_PER_SECOND

Triggers

Per CPU load average is too high. Your system may be slow to respond.

CPU utilization is too high. The system might be slow to respond.

Depends on:

— Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m)

Feedback

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

Linux filesystems by Zabbix agent

Overview

For Zabbix version: 5.0 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

Name Description Expression Severity Dependencies and additional info
Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m) /> <$LOAD_AVG_PER_CPU.MAX.WARN>and >0 and >0 AVERAGE
High CPU utilization (over <$CPU.UTIL.CRIT>% for 5m) ^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

There are no template links in this template.

Discovery rules

Discovery of file systems of different types.

Name Description Type Key and additional info
Mounted filesystem discovery ZABBIX_PASSIVE vfs.fs.discovery

Filter:

Items collected

Used storage in Bytes

Total space in Bytes

Space utilization in % for

Group Name Description Type Key and additional info
Filesystems <#FSNAME>: Used space ZABBIX_PASSIVE vfs.fs.size[<#FSNAME>,used]
Filesystems <#FSNAME>: Total space ZABBIX_PASSIVE vfs.fs.size[<#FSNAME>,total]
Filesystems <#FSNAME>: Space utilization ZABBIX_PASSIVE vfs.fs.size[<#FSNAME>,pused]
Filesystems <#FSNAME>: Free inodes in % ZABBIX_PASSIVE vfs.fs.inode[<#FSNAME>,pfree]

Triggers

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 5G.

— The disk will be full in less than 24 hours.

Manual close: YES

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 10G.

— The disk will be full in less than 24 hours.

Manual close: YES

Depends on:

Depends on:

— <#FSNAME>: Running out of free inodes (free 20M

Name Description Expression Severity Dependencies and additional info
<#FSNAME>: Disk space is critically low (used > <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>%) ,pused].last()>><$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«> and ((,total].last()>-,used].last()>) AVERAGE ,pused].last()>><$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«> and ((,total].last()>-,used].last()>) WARNING
<#FSNAME>: Running out of free inodes (free ,pfree].min(5m)> AVERAGE
<#FSNAME>: Running out of free inodes (free ,pfree].min(5m)> WARNING

This macro is used as a threshold in memory utilization trigger.

There are no template links in this template.

Discovery rules

Items collected

Memory used percentage is calculated as (100-pavailable)

Total memory in Bytes

Available memory, in Linux, available = free + buffers + cache. On other platforms calculation may vary. See also: https://www.zabbix.com/documentation/5.0/manual/appendix/items/vm.memory.size_params

The total space of swap volume/file in bytes.

The free space of swap volume/file in bytes.

The free space of swap volume/file in percent.

Group Name Description Type Key and additional info
Memory Memory utilization DEPENDENT vm.memory.utilization

Preprocessing:

— JAVASCRIPT: return (100-value);

ZABBIX_PASSIVE vm.memory.size[pavailable]
Memory Total memory ZABBIX_PASSIVE vm.memory.size[total]
Memory Available memory ZABBIX_PASSIVE vm.memory.size[available]
Memory Total swap space ZABBIX_PASSIVE system.swap.size[,total]
Memory Free swap space ZABBIX_PASSIVE system.swap.size[,free]
Memory Free swap space in % ZABBIX_PASSIVE system.swap.size[,pfree]

Triggers

The system is running out of free memory.

Depends on:

— Lack of available memory ( 0

This trigger is ignored, if there is no swap configured

Depends on:

— High memory utilization (><$MEMORY.UTIL.MAX>% for 5m)

— Lack of available memory ( .+

Name Description Expression Severity Dependencies and additional info
High memory utilization (><$MEMORY.UTIL.MAX>% for 5m) AVERAGE
High swap space usage (less than <$SWAP.PFREE.MIN.WARN>% free)

This macro is used in block devices discovery. Can be overridden on the host or linked template level

^(loop6*|sd[a-z]1+|nbd4+|sr6+|fd1+|dm-5+|ram1+|ploop[a-z0-9]+|md2*|hcp8*|zram1*)

Disk read average response time (in ms) before the trigger would fire

Disk write average response time (in ms) before the trigger would fire

There are no template links in this template.

Discovery rules

Name Description Type Key and additional info
Block devices discovery ZABBIX_PASSIVE vfs.dev.discovery

Preprocessing:

Filter:

— A: <#DEVTYPE>MATCHES_REGEX disk

Items collected

r/s. The number (after merges) of read requests completed per second for the device.

w/s. The number (after merges) of write requests completed per second for the device.

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.

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.

Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected.

Rate of total read time counter. Used in r_await calculation

Rate of total write time counter. Used in w_await calculation

Group Name Description Type Key and additional info
Storage <#DEVNAME>: Disk read rate DEPENDENT vfs.dev.read.rate[<#DEVNAME>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk write rate DEPENDENT vfs.dev.write.rate[<#DEVNAME>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk read request avg waiting time (r_await) CALCULATED vfs.dev.read.await[<#DEVNAME>]

Expression:

(last(«vfs.dev.read.time.rate[<#DEVNAME>]»)/(last(«vfs.dev.read.rate[<#DEVNAME>]»)+(last(«vfs.dev.read.rate[<#DEVNAME>]»)=0)))*1000*(last(«vfs.dev.read.rate[<#DEVNAME>]») > 0)

Storage <#DEVNAME>: Disk write request avg waiting time (w_await) CALCULATED vfs.dev.write.await[<#DEVNAME>]

Expression:

(last(«vfs.dev.write.time.rate[<#DEVNAME>]»)/(last(«vfs.dev.write.rate[<#DEVNAME>]»)+(last(«vfs.dev.write.rate[<#DEVNAME>]»)=0)))*1000*(last(«vfs.dev.write.rate[<#DEVNAME>]») > 0)

Storage <#DEVNAME>: Disk average queue size (avgqu-sz) DEPENDENT vfs.dev.queue_size[<#DEVNAME>]

Preprocessing:

This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests.

DEPENDENT vfs.dev.util[<#DEVNAME>]

Preprocessing:

Get contents of /sys/block/<#DEVNAME>/stat for disk stats.

ZABBIX_PASSIVE vfs.file.contents[/sys/block/<#DEVNAME>/stat]

Preprocessing:

— JAVASCRIPT: return JSON.stringify(value.trim().split(/ +/));

Zabbix_raw_items <#DEVNAME>: Disk read time (rate) DEPENDENT vfs.dev.read.time.rate[<#DEVNAME>]

Preprocessing:

Zabbix_raw_items <#DEVNAME>: Disk write time (rate) DEPENDENT vfs.dev.write.time.rate[<#DEVNAME>]

Preprocessing:

Triggers

This trigger might indicate disk <#DEVNAME>saturation.

Manual close: YES

Feedback

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

Linux network interfaces by Zabbix agent

Overview

For Zabbix version: 5.0 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Filter out loopbacks, nulls, docker veth links and docker0 bridge by default

Name Description Expression Severity Dependencies and additional info
<#DEVNAME>: Disk read/write request responses are too high (read > <$VFS.DEV.READ.AWAIT.WARN:"<#DEVNAME>«> ms for 15m or write > <$VFS.DEV.WRITE.AWAIT.WARN:"<#DEVNAME>«> ms for 15m) (^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker5+|br-[a-z0-9]<12>)

There are no template links in this template.

Discovery rules

Discovery of network interfaces.

Indicates the interface RFC2863 operational state as a string.

Possible values are:»unknown», «notpresent», «down», «lowerlayerdown», «testing»,»dormant», «up».

Indicates the interface protocol type as a decimal value.

See include/uapi/linux/if_arp.h for all possible values.

Name Description Type Key and additional info
Network interface discovery ZABBIX_PASSIVE net.if.discovery

Filter:

Items collected

Group Name Description Type Key and additional info
Network_interfaces Interface <#IFNAME>: Bits received ZABBIX_PASSIVE net.if.in[«<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>: Bits sent ZABBIX_PASSIVE net.if.out[«<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>: Outbound packets with errors ZABBIX_PASSIVE net.if.out[«<#IFNAME>«,errors]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Inbound packets with errors ZABBIX_PASSIVE net.if.in[«<#IFNAME>«,errors]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Outbound packets discarded ZABBIX_PASSIVE net.if.out[«<#IFNAME>«,dropped]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Inbound packets discarded ZABBIX_PASSIVE net.if.in[«<#IFNAME>«,dropped]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Operational status ZABBIX_PASSIVE vfs.file.contents[«/sys/class/net/<#IFNAME>/operstate»]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Network_interfaces Interface <#IFNAME>: Interface type ZABBIX_PASSIVE vfs.file.contents[«/sys/class/net/<#IFNAME>/type»]

Preprocessing:

Triggers

Recovers when below 80% of <$IF.ERRORS.WARN:"<#IFNAME>«> threshold

Manual close: YES

Depends on:

— Interface <#IFNAME>: Link down

This trigger expression works as follows:

1. Can be triggered if operations status is down.

2. <$IFCONTROL:"<#IFNAME>«>=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.

3. =1) — trigger fires only if operational status was up(1) sometime before. (So, do not fire ‘ethernal off’ interfaces.)

WARNING: if closed manually — won’t fire again on next poll, because of .diff.

Manual close: YES

This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.

Manual close: YES

Depends on:

— Interface <#IFNAME>: Link down

Feedback

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

Known Issues

  • Description: High interface utilization trigger is removed since currently it is not possible to retrieve interface speed to determine the max bandwidth.

Linux generic by Zabbix agent

Overview

For Zabbix version: 5.0 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

There are no template links in this template.

Discovery rules

Items collected

Name Description Expression Severity Dependencies and additional info
Interface <#IFNAME>: High error rate (> <$IF.ERRORS.WARN:"<#IFNAME>«> for 5m) «,errors].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«> or «,errors].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«>

«,errors].max(5m)>

WARNING <$IFCONTROL:"<#IFNAME>«>=1 and (/operstate»].last()>=2 and /operstate»].diff()>=1)

/operstate»].last()><>2 or <$IFCONTROL:"<#IFNAME>«>=0

AVERAGE
Interface <#IFNAME>: Ethernet has changed to lower speed than it was before /type»].change()> 0 and (/type»].last()>=6 or /type»].last()>=1) and (/operstate»].last()><>2)

(/type»].change()>>0 and /type»].prev()>>0) or (/operstate»].last()>=2)

INFO

System host name.

Number of users who are currently logged in.

It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.

It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.

Operating system architecture of the host.

Group Name Description Type Key and additional info
General System boot time ZABBIX_PASSIVE system.boottime

Preprocessing:

System local time of the host.

ZABBIX_PASSIVE system.localtime
General System name ZABBIX_PASSIVE system.hostname

Preprocessing:

The information as normally returned by ‘uname -a’.

ZABBIX_PASSIVE system.uname

Preprocessing:

General Number of logged in users ZABBIX_PASSIVE system.users.num
General Maximum number of open file descriptors ZABBIX_PASSIVE kernel.maxfiles

Preprocessing:

General Maximum number of processes ZABBIX_PASSIVE kernel.maxproc

Preprocessing:

ZABBIX_PASSIVE proc.num
General Number of running processes ZABBIX_PASSIVE proc.num[,,run]
Inventory Operating system ZABBIX_PASSIVE system.sw.os

Preprocessing:

Inventory Operating system architecture ZABBIX_PASSIVE system.sw.arch

Preprocessing:

ZABBIX_PASSIVE system.sw.packages

Preprocessing:

Security Checksum of /etc/passwd ZABBIX_PASSIVE vfs.file.cksum[/etc/passwd]

Preprocessing:

System uptime in ‘N days, hh:mm:ss’ format.

ZABBIX_PASSIVE system.uptime

Triggers

The host system time is different from the Zabbix server time.

Manual close: YES

System name has changed. Ack to close.

Manual close: YES

Depends on:

— Getting closer to process limit (over 80% used)

Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.

Manual close: YES

Depends on:

— System name has changed (new name: )

Manual close: YES

Depends on:

— Operating system description has changed

— System name has changed (new name: )

Manual close: YES

Feedback

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

Linux by Zabbix agent

Overview

For Zabbix version: 5.0 and higher
New official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.

Setup

Install Zabbix agent on Linux OS according to Zabbix documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Name Description Expression Severity Dependencies and additional info
System time is out of sync (diff with Zabbix server > <$SYSTEM.FUZZYTIME.MAX>s)
System name has changed (new name: )
Configured max number of open filedescriptors is too low ( INFO
Configured max number of processes is too low ( INFO
Getting closer to process limit (over 80% used) /*100>80 WARNING
Operating system description has changed
has been restarted (uptime WARNING
Name
Linux CPU by Zabbix agent
Linux block devices by Zabbix agent
Linux filesystems by Zabbix agent
Linux generic by Zabbix agent
Linux memory by Zabbix agent
Linux network interfaces by Zabbix agent
Zabbix agent

Discovery rules

Items collected

Group Name Description Type Key and additional info

Triggers

Name Description Expression Severity Dependencies and additional info

Feedback

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

You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.

Known Issues

  • Description: Network discovery. Zabbix agent as of 4.2 doesn’t support items such as net.if.status, net.if.speed.

Also available for: 5.0

Linux CPU by Zabbix agent active

Overview

For Zabbix version: 5.4 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Load per CPU considered sustainable. Tune if needed.

There are no template links in this template.

Discovery rules

Items collected

CPU utilization in %

The time the CPU has spent running the kernel and its processes.

The time the CPU has spent running users’ processes that are not niced.

The time the CPU has spent running users’ processes that have been niced.

Amount of time the CPU has been waiting for I/O to complete.

The amount of CPU ‘stolen’ from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).

The amount of time the CPU has been servicing hardware interrupts.

The amount of time the CPU has been servicing software interrupts.

Guest time (time spent running a virtual CPU for a guest operating system)

Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)

Group Name Description Type Key and additional info
CPU Number of CPUs ZABBIX_ACTIVE system.cpu.num

Preprocessing:

ZABBIX_ACTIVE system.cpu.load[all,avg1]
CPU Load average (5m avg) ZABBIX_ACTIVE system.cpu.load[all,avg5]
CPU Load average (15m avg) ZABBIX_ACTIVE system.cpu.load[all,avg15]
CPU CPU utilization DEPENDENT system.cpu.util

Preprocessing:

— JAVASCRIPT: //Calculate utilization return (100 — value)

The time the CPU has spent doing nothing.

ZABBIX_ACTIVE system.cpu.util[,idle]
CPU CPU system time ZABBIX_ACTIVE system.cpu.util[,system]
CPU CPU user time ZABBIX_ACTIVE system.cpu.util[,user]
CPU CPU nice time ZABBIX_ACTIVE system.cpu.util[,nice]
CPU CPU iowait time ZABBIX_ACTIVE system.cpu.util[,iowait]
CPU CPU steal time ZABBIX_ACTIVE system.cpu.util[,steal]
CPU CPU interrupt time ZABBIX_ACTIVE system.cpu.util[,interrupt]
CPU CPU softirq time ZABBIX_ACTIVE system.cpu.util[,softirq]
CPU CPU guest time ZABBIX_ACTIVE system.cpu.util[,guest]
CPU CPU guest nice time ZABBIX_ACTIVE system.cpu.util[,guest_nice]
CPU Context switches per second ZABBIX_ACTIVE system.cpu.switches

Preprocessing:

— CHANGE_PER_SECOND

CPU Interrupts per second ZABBIX_ACTIVE system.cpu.intr

Preprocessing:

— CHANGE_PER_SECOND

Triggers

Per CPU load average is too high. Your system may be slow to respond.

CPU utilization is too high. The system might be slow to respond.

Depends on:

— Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m)

Feedback

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

Linux filesystems by Zabbix agent active

Overview

For Zabbix version: 5.4 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

Name Description Expression Severity Dependencies and additional info
Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m) /> <$LOAD_AVG_PER_CPU.MAX.WARN>and >0 and >0 AVERAGE
High CPU utilization (over <$CPU.UTIL.CRIT>% for 5m) ^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

There are no template links in this template.

Discovery rules

Discovery of file systems of different types.

Name Description Type Key and additional info
Mounted filesystem discovery ZABBIX_ACTIVE vfs.fs.discovery

Filter:

Items collected

Used storage in Bytes

Total space in Bytes

Space utilization in % for

Group Name Description Type Key and additional info
Filesystems <#FSNAME>: Used space ZABBIX_ACTIVE vfs.fs.size[<#FSNAME>,used]
Filesystems <#FSNAME>: Total space ZABBIX_ACTIVE vfs.fs.size[<#FSNAME>,total]
Filesystems <#FSNAME>: Space utilization ZABBIX_ACTIVE vfs.fs.size[<#FSNAME>,pused]
Filesystems <#FSNAME>: Free inodes in % ZABBIX_ACTIVE vfs.fs.inode[<#FSNAME>,pfree]

Triggers

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 5G.

— The disk will be full in less than 24 hours.

Manual close: YES

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 10G.

— The disk will be full in less than 24 hours.

Manual close: YES

Depends on:

Depends on:

— <#FSNAME>: Running out of free inodes (free 20M

Name Description Expression Severity Dependencies and additional info
<#FSNAME>: Disk space is critically low (used > <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>%) ,pused].last()>><$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«> and ((,total].last()>-,used].last()>) AVERAGE ,pused].last()>><$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«> and ((,total].last()>-,used].last()>) WARNING
<#FSNAME>: Running out of free inodes (free ,pfree].min(5m)> AVERAGE
<#FSNAME>: Running out of free inodes (free ,pfree].min(5m)> WARNING

This macro is used as a threshold in memory utilization trigger.

There are no template links in this template.

Discovery rules

Items collected

Memory used percentage is calculated as (100-pavailable)

Total memory in Bytes

Available memory, in Linux, available = free + buffers + cache. On other platforms calculation may vary. See also: https://www.zabbix.com/documentation/5.4/manual/appendix/items/vm.memory.size_params

The total space of swap volume/file in bytes.

The free space of swap volume/file in bytes.

The free space of swap volume/file in percent.

Group Name Description Type Key and additional info
Memory Memory utilization DEPENDENT vm.memory.utilization

Preprocessing:

— JAVASCRIPT: return (100-value);

ZABBIX_ACTIVE vm.memory.size[pavailable]
Memory Total memory ZABBIX_ACTIVE vm.memory.size[total]
Memory Available memory ZABBIX_ACTIVE vm.memory.size[available]
Memory Total swap space ZABBIX_ACTIVE system.swap.size[,total]
Memory Free swap space ZABBIX_ACTIVE system.swap.size[,free]
Memory Free swap space in % ZABBIX_ACTIVE system.swap.size[,pfree]

Triggers

The system is running out of free memory.

Depends on:

— Lack of available memory ( 0

This trigger is ignored, if there is no swap configured

Depends on:

— High memory utilization (><$MEMORY.UTIL.MAX>% for 5m)

— Lack of available memory ( .+

Name Description Expression Severity Dependencies and additional info
High memory utilization (><$MEMORY.UTIL.MAX>% for 5m) AVERAGE
High swap space usage (less than <$SWAP.PFREE.MIN.WARN>% free)

This macro is used in block devices discovery. Can be overridden on the host or linked template level

^(loop4*|sd[a-z]5+|nbd8+|sr4+|fd6+|dm-5+|ram2+|ploop[a-z0-9]+|md8*|hcp7*|zram7*)

Disk read average response time (in ms) before the trigger would fire

Disk write average response time (in ms) before the trigger would fire

There are no template links in this template.

Discovery rules

Name Description Type Key and additional info
Block devices discovery ZABBIX_ACTIVE vfs.dev.discovery

Preprocessing:

Filter:

— A: <#DEVTYPE>MATCHES_REGEX disk

Items collected

r/s. The number (after merges) of read requests completed per second for the device.

w/s. The number (after merges) of write requests completed per second for the device.

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.

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.

Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected.

Rate of total read time counter. Used in r_await calculation

Rate of total write time counter. Used in w_await calculation

Group Name Description Type Key and additional info
Storage <#DEVNAME>: Disk read rate DEPENDENT vfs.dev.read.rate[<#DEVNAME>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk write rate DEPENDENT vfs.dev.write.rate[<#DEVNAME>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk read request avg waiting time (r_await) CALCULATED vfs.dev.read.await[<#DEVNAME>]

Expression:

(last(«vfs.dev.read.time.rate[<#DEVNAME>]»)/(last(«vfs.dev.read.rate[<#DEVNAME>]»)+(last(«vfs.dev.read.rate[<#DEVNAME>]»)=0)))*1000*(last(«vfs.dev.read.rate[<#DEVNAME>]») > 0)

Storage <#DEVNAME>: Disk write request avg waiting time (w_await) CALCULATED vfs.dev.write.await[<#DEVNAME>]

Expression:

(last(«vfs.dev.write.time.rate[<#DEVNAME>]»)/(last(«vfs.dev.write.rate[<#DEVNAME>]»)+(last(«vfs.dev.write.rate[<#DEVNAME>]»)=0)))*1000*(last(«vfs.dev.write.rate[<#DEVNAME>]») > 0)

Storage <#DEVNAME>: Disk average queue size (avgqu-sz) DEPENDENT vfs.dev.queue_size[<#DEVNAME>]

Preprocessing:

This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests.

DEPENDENT vfs.dev.util[<#DEVNAME>]

Preprocessing:

Get contents of /sys/block/<#DEVNAME>/stat for disk stats.

ZABBIX_ACTIVE vfs.file.contents[/sys/block/<#DEVNAME>/stat]

Preprocessing:

— JAVASCRIPT: return JSON.stringify(value.trim().split(/ +/));

Zabbix_raw_items <#DEVNAME>: Disk read time (rate) DEPENDENT vfs.dev.read.time.rate[<#DEVNAME>]

Preprocessing:

Zabbix_raw_items <#DEVNAME>: Disk write time (rate) DEPENDENT vfs.dev.write.time.rate[<#DEVNAME>]

Preprocessing:

Triggers

This trigger might indicate disk <#DEVNAME>saturation.

Manual close: YES

Feedback

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

Linux network interfaces by Zabbix agent active

Overview

For Zabbix version: 5.4 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Filter out loopbacks, nulls, docker veth links and docker0 bridge by default

Name Description Expression Severity Dependencies and additional info
<#DEVNAME>: Disk read/write request responses are too high (read > <$VFS.DEV.READ.AWAIT.WARN:"<#DEVNAME>«> ms for 15m or write > <$VFS.DEV.WRITE.AWAIT.WARN:"<#DEVNAME>«> ms for 15m) (^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker9+|br-[a-z0-9]<12>)

There are no template links in this template.

Discovery rules

Discovery of network interfaces.

Indicates the interface RFC2863 operational state as a string.

Possible values are:»unknown», «notpresent», «down», «lowerlayerdown», «testing»,»dormant», «up».

Indicates the interface protocol type as a decimal value.

See include/uapi/linux/if_arp.h for all possible values.

Name Description Type Key and additional info
Network interface discovery ZABBIX_ACTIVE net.if.discovery

Filter:

Items collected

Group Name Description Type Key and additional info
Network_interfaces Interface <#IFNAME>: Bits received ZABBIX_ACTIVE net.if.in[«<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>: Bits sent ZABBIX_ACTIVE net.if.out[«<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>: Outbound packets with errors ZABBIX_ACTIVE net.if.out[«<#IFNAME>«,errors]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Inbound packets with errors ZABBIX_ACTIVE net.if.in[«<#IFNAME>«,errors]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Outbound packets discarded ZABBIX_ACTIVE net.if.out[«<#IFNAME>«,dropped]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Inbound packets discarded ZABBIX_ACTIVE net.if.in[«<#IFNAME>«,dropped]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Operational status ZABBIX_ACTIVE vfs.file.contents[«/sys/class/net/<#IFNAME>/operstate»]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Network_interfaces Interface <#IFNAME>: Interface type ZABBIX_ACTIVE vfs.file.contents[«/sys/class/net/<#IFNAME>/type»]

Preprocessing:

Triggers

Recovers when below 80% of <$IF.ERRORS.WARN:"<#IFNAME>«> threshold

Manual close: YES

Depends on:

— Interface <#IFNAME>: Link down

This trigger expression works as follows:

1. Can be triggered if operations status is down.

2. <$IFCONTROL:"<#IFNAME>«>=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.

3. =1) — trigger fires only if operational status was up(1) sometime before. (So, do not fire ‘ethernal off’ interfaces.)

WARNING: if closed manually — won’t fire again on next poll, because of .diff.

Manual close: YES

This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.

Manual close: YES

Depends on:

— Interface <#IFNAME>: Link down

Feedback

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

Known Issues

  • Description: High interface utilization trigger is removed since currently it is not possible to retrieve interface speed to determine the max bandwidth.

Linux generic by Zabbix agent active

Overview

For Zabbix version: 5.4 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

There are no template links in this template.

Discovery rules

Items collected

Name Description Expression Severity Dependencies and additional info
Interface <#IFNAME>: High error rate (> <$IF.ERRORS.WARN:"<#IFNAME>«> for 5m) «,errors].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«> or «,errors].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«>

«,errors].max(5m)>

WARNING <$IFCONTROL:"<#IFNAME>«>=1 and (/operstate»].last()>=2 and /operstate»].diff()>=1)

/operstate»].last()><>2 or <$IFCONTROL:"<#IFNAME>«>=0

AVERAGE
Interface <#IFNAME>: Ethernet has changed to lower speed than it was before /type»].change()> 0 and (/type»].last()>=6 or /type»].last()>=1) and (/operstate»].last()><>2)

(/type»].change()>>0 and /type»].prev()>>0) or (/operstate»].last()>=2)

INFO

System host name.

Number of users who are currently logged in.

It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.

It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.

Operating system architecture of the host.

Group Name Description Type Key and additional info
General System boot time ZABBIX_ACTIVE system.boottime

Preprocessing:

System local time of the host.

ZABBIX_ACTIVE system.localtime
General System name ZABBIX_ACTIVE system.hostname

Preprocessing:

The information as normally returned by ‘uname -a’.

ZABBIX_ACTIVE system.uname

Preprocessing:

General Number of logged in users ZABBIX_ACTIVE system.users.num
General Maximum number of open file descriptors ZABBIX_ACTIVE kernel.maxfiles

Preprocessing:

General Maximum number of processes ZABBIX_ACTIVE kernel.maxproc

Preprocessing:

ZABBIX_ACTIVE proc.num
General Number of running processes ZABBIX_ACTIVE proc.num[,,run]
Inventory Operating system ZABBIX_ACTIVE system.sw.os

Preprocessing:

Inventory Operating system architecture ZABBIX_ACTIVE system.sw.arch

Preprocessing:

ZABBIX_ACTIVE system.sw.packages

Preprocessing:

Security Checksum of /etc/passwd ZABBIX_ACTIVE vfs.file.cksum[/etc/passwd]

Preprocessing:

System uptime in ‘N days, hh:mm:ss’ format.

ZABBIX_ACTIVE system.uptime

Triggers

The host system time is different from the Zabbix server time.

Manual close: YES

System name has changed. Ack to close.

Manual close: YES

Depends on:

— Getting closer to process limit (over 80% used)

Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.

Manual close: YES

Depends on:

— System name has changed (new name: )

Manual close: YES

Depends on:

— Operating system description has changed

— System name has changed (new name: )

Manual close: YES

Feedback

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

Linux by Zabbix agent active

Overview

For Zabbix version: 5.4 and higher
New official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.

Setup

Install Zabbix agent on Linux OS according to Zabbix documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Name Description Expression Severity Dependencies and additional info
System time is out of sync (diff with Zabbix server > <$SYSTEM.FUZZYTIME.MAX>s)
System name has changed (new name: )
Configured max number of open filedescriptors is too low ( INFO
Configured max number of processes is too low ( INFO
Getting closer to process limit (over 80% used) /*100>80 WARNING
Operating system description has changed
has been restarted (uptime WARNING
Name
Linux CPU by Zabbix agent active
Linux block devices by Zabbix agent active
Linux filesystems by Zabbix agent active
Linux generic by Zabbix agent active
Linux memory by Zabbix agent active
Linux network interfaces by Zabbix agent active
Zabbix agent

Discovery rules

Items collected

Group Name Description Type Key and additional info

Triggers

Name Description Expression Severity Dependencies and additional info

Feedback

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

You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.

Known Issues

  • Description: Network discovery. Zabbix agent as of 4.2 doesn’t support items such as net.if.status, net.if.speed.

Also available for: 5.4

Linux CPU by Zabbix agent active

Overview

For Zabbix version: 5.0 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Load per CPU considered sustainable. Tune if needed.

There are no template links in this template.

Discovery rules

Items collected

CPU utilization in %

The time the CPU has spent running the kernel and its processes.

The time the CPU has spent running users’ processes that are not niced.

The time the CPU has spent running users’ processes that have been niced.

Amount of time the CPU has been waiting for I/O to complete.

The amount of CPU ‘stolen’ from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).

The amount of time the CPU has been servicing hardware interrupts.

The amount of time the CPU has been servicing software interrupts.

Guest time (time spent running a virtual CPU for a guest operating system)

Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)

Group Name Description Type Key and additional info
CPU Number of CPUs ZABBIX_ACTIVE system.cpu.num

Preprocessing:

ZABBIX_ACTIVE system.cpu.load[all,avg1]
CPU Load average (5m avg) ZABBIX_ACTIVE system.cpu.load[all,avg5]
CPU Load average (15m avg) ZABBIX_ACTIVE system.cpu.load[all,avg15]
CPU CPU utilization DEPENDENT system.cpu.util

Preprocessing:

— JAVASCRIPT: //Calculate utilization return (100 — value)

The time the CPU has spent doing nothing.

ZABBIX_ACTIVE system.cpu.util[,idle]
CPU CPU system time ZABBIX_ACTIVE system.cpu.util[,system]
CPU CPU user time ZABBIX_ACTIVE system.cpu.util[,user]
CPU CPU nice time ZABBIX_ACTIVE system.cpu.util[,nice]
CPU CPU iowait time ZABBIX_ACTIVE system.cpu.util[,iowait]
CPU CPU steal time ZABBIX_ACTIVE system.cpu.util[,steal]
CPU CPU interrupt time ZABBIX_ACTIVE system.cpu.util[,interrupt]
CPU CPU softirq time ZABBIX_ACTIVE system.cpu.util[,softirq]
CPU CPU guest time ZABBIX_ACTIVE system.cpu.util[,guest]
CPU CPU guest nice time ZABBIX_ACTIVE system.cpu.util[,guest_nice]
CPU Context switches per second ZABBIX_ACTIVE system.cpu.switches

Preprocessing:

— CHANGE_PER_SECOND

CPU Interrupts per second ZABBIX_ACTIVE system.cpu.intr

Preprocessing:

— CHANGE_PER_SECOND

Triggers

Per CPU load average is too high. Your system may be slow to respond.

CPU utilization is too high. The system might be slow to respond.

Depends on:

— Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m)

Feedback

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

Linux filesystems by Zabbix agent active

Overview

For Zabbix version: 5.0 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

Name Description Expression Severity Dependencies and additional info
Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m) /> <$LOAD_AVG_PER_CPU.MAX.WARN>and >0 and >0 AVERAGE
High CPU utilization (over <$CPU.UTIL.CRIT>% for 5m) ^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

There are no template links in this template.

Discovery rules

Discovery of file systems of different types.

Name Description Type Key and additional info
Mounted filesystem discovery ZABBIX_ACTIVE vfs.fs.discovery

Filter:

Items collected

Used storage in Bytes

Total space in Bytes

Space utilization in % for

Group Name Description Type Key and additional info
Filesystems <#FSNAME>: Used space ZABBIX_ACTIVE vfs.fs.size[<#FSNAME>,used]
Filesystems <#FSNAME>: Total space ZABBIX_ACTIVE vfs.fs.size[<#FSNAME>,total]
Filesystems <#FSNAME>: Space utilization ZABBIX_ACTIVE vfs.fs.size[<#FSNAME>,pused]
Filesystems <#FSNAME>: Free inodes in % ZABBIX_ACTIVE vfs.fs.inode[<#FSNAME>,pfree]

Triggers

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 5G.

— The disk will be full in less than 24 hours.

Manual close: YES

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 10G.

— The disk will be full in less than 24 hours.

Manual close: YES

Depends on:

Depends on:

— <#FSNAME>: Running out of free inodes (free 20M

Name Description Expression Severity Dependencies and additional info
<#FSNAME>: Disk space is critically low (used > <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>%) ,pused].last()>><$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«> and ((,total].last()>-,used].last()>) AVERAGE ,pused].last()>><$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«> and ((,total].last()>-,used].last()>) WARNING
<#FSNAME>: Running out of free inodes (free ,pfree].min(5m)> AVERAGE
<#FSNAME>: Running out of free inodes (free ,pfree].min(5m)> WARNING

This macro is used as a threshold in memory utilization trigger.

There are no template links in this template.

Discovery rules

Items collected

Memory used percentage is calculated as (100-pavailable)

Total memory in Bytes

Available memory, in Linux, available = free + buffers + cache. On other platforms calculation may vary. See also: https://www.zabbix.com/documentation/5.0/manual/appendix/items/vm.memory.size_params

The total space of swap volume/file in bytes.

The free space of swap volume/file in bytes.

The free space of swap volume/file in percent.

Group Name Description Type Key and additional info
Memory Memory utilization DEPENDENT vm.memory.utilization

Preprocessing:

— JAVASCRIPT: return (100-value);

ZABBIX_ACTIVE vm.memory.size[pavailable]
Memory Total memory ZABBIX_ACTIVE vm.memory.size[total]
Memory Available memory ZABBIX_ACTIVE vm.memory.size[available]
Memory Total swap space ZABBIX_ACTIVE system.swap.size[,total]
Memory Free swap space ZABBIX_ACTIVE system.swap.size[,free]
Memory Free swap space in % ZABBIX_ACTIVE system.swap.size[,pfree]

Triggers

The system is running out of free memory.

Depends on:

— Lack of available memory ( 0

This trigger is ignored, if there is no swap configured

Depends on:

— High memory utilization (><$MEMORY.UTIL.MAX>% for 5m)

— Lack of available memory ( .+

Name Description Expression Severity Dependencies and additional info
High memory utilization (><$MEMORY.UTIL.MAX>% for 5m) AVERAGE
High swap space usage (less than <$SWAP.PFREE.MIN.WARN>% free)

This macro is used in block devices discovery. Can be overridden on the host or linked template level

^(loop8*|sd[a-z]4+|nbd3+|sr6+|fd2+|dm-9+|ram4+|ploop[a-z0-9]+|md6*|hcp3*|zram6*)

Disk read average response time (in ms) before the trigger would fire

Disk write average response time (in ms) before the trigger would fire

There are no template links in this template.

Discovery rules

Name Description Type Key and additional info
Block devices discovery ZABBIX_ACTIVE vfs.dev.discovery

Preprocessing:

Filter:

— A: <#DEVTYPE>MATCHES_REGEX disk

Items collected

r/s. The number (after merges) of read requests completed per second for the device.

w/s. The number (after merges) of write requests completed per second for the device.

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.

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.

Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected.

Rate of total read time counter. Used in r_await calculation

Rate of total write time counter. Used in w_await calculation

Group Name Description Type Key and additional info
Storage <#DEVNAME>: Disk read rate DEPENDENT vfs.dev.read.rate[<#DEVNAME>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk write rate DEPENDENT vfs.dev.write.rate[<#DEVNAME>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk read request avg waiting time (r_await) CALCULATED vfs.dev.read.await[<#DEVNAME>]

Expression:

(last(«vfs.dev.read.time.rate[<#DEVNAME>]»)/(last(«vfs.dev.read.rate[<#DEVNAME>]»)+(last(«vfs.dev.read.rate[<#DEVNAME>]»)=0)))*1000*(last(«vfs.dev.read.rate[<#DEVNAME>]») > 0)

Storage <#DEVNAME>: Disk write request avg waiting time (w_await) CALCULATED vfs.dev.write.await[<#DEVNAME>]

Expression:

(last(«vfs.dev.write.time.rate[<#DEVNAME>]»)/(last(«vfs.dev.write.rate[<#DEVNAME>]»)+(last(«vfs.dev.write.rate[<#DEVNAME>]»)=0)))*1000*(last(«vfs.dev.write.rate[<#DEVNAME>]») > 0)

Storage <#DEVNAME>: Disk average queue size (avgqu-sz) DEPENDENT vfs.dev.queue_size[<#DEVNAME>]

Preprocessing:

This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests.

DEPENDENT vfs.dev.util[<#DEVNAME>]

Preprocessing:

Get contents of /sys/block/<#DEVNAME>/stat for disk stats.

ZABBIX_ACTIVE vfs.file.contents[/sys/block/<#DEVNAME>/stat]

Preprocessing:

— JAVASCRIPT: return JSON.stringify(value.trim().split(/ +/));

Zabbix_raw_items <#DEVNAME>: Disk read time (rate) DEPENDENT vfs.dev.read.time.rate[<#DEVNAME>]

Preprocessing:

Zabbix_raw_items <#DEVNAME>: Disk write time (rate) DEPENDENT vfs.dev.write.time.rate[<#DEVNAME>]

Preprocessing:

Triggers

This trigger might indicate disk <#DEVNAME>saturation.

Manual close: YES

Feedback

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

Linux network interfaces by Zabbix agent active

Overview

For Zabbix version: 5.0 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Filter out loopbacks, nulls, docker veth links and docker0 bridge by default

Name Description Expression Severity Dependencies and additional info
<#DEVNAME>: Disk read/write request responses are too high (read > <$VFS.DEV.READ.AWAIT.WARN:"<#DEVNAME>«> ms for 15m or write > <$VFS.DEV.WRITE.AWAIT.WARN:"<#DEVNAME>«> ms for 15m) (^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker4+|br-[a-z0-9]<12>)

There are no template links in this template.

Discovery rules

Discovery of network interfaces.

Indicates the interface RFC2863 operational state as a string.

Possible values are:»unknown», «notpresent», «down», «lowerlayerdown», «testing»,»dormant», «up».

Indicates the interface protocol type as a decimal value.

See include/uapi/linux/if_arp.h for all possible values.

Name Description Type Key and additional info
Network interface discovery ZABBIX_ACTIVE net.if.discovery

Filter:

Items collected

Group Name Description Type Key and additional info
Network_interfaces Interface <#IFNAME>: Bits received ZABBIX_ACTIVE net.if.in[«<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>: Bits sent ZABBIX_ACTIVE net.if.out[«<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>: Outbound packets with errors ZABBIX_ACTIVE net.if.out[«<#IFNAME>«,errors]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Inbound packets with errors ZABBIX_ACTIVE net.if.in[«<#IFNAME>«,errors]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Outbound packets discarded ZABBIX_ACTIVE net.if.out[«<#IFNAME>«,dropped]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Inbound packets discarded ZABBIX_ACTIVE net.if.in[«<#IFNAME>«,dropped]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>: Operational status ZABBIX_ACTIVE vfs.file.contents[«/sys/class/net/<#IFNAME>/operstate»]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Network_interfaces Interface <#IFNAME>: Interface type ZABBIX_ACTIVE vfs.file.contents[«/sys/class/net/<#IFNAME>/type»]

Preprocessing:

Triggers

Recovers when below 80% of <$IF.ERRORS.WARN:"<#IFNAME>«> threshold

Manual close: YES

Depends on:

— Interface <#IFNAME>: Link down

This trigger expression works as follows:

1. Can be triggered if operations status is down.

2. <$IFCONTROL:"<#IFNAME>«>=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.

3. =1) — trigger fires only if operational status was up(1) sometime before. (So, do not fire ‘ethernal off’ interfaces.)

WARNING: if closed manually — won’t fire again on next poll, because of .diff.

Manual close: YES

This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.

Manual close: YES

Depends on:

— Interface <#IFNAME>: Link down

Feedback

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

Known Issues

  • Description: High interface utilization trigger is removed since currently it is not possible to retrieve interface speed to determine the max bandwidth.

Linux generic by Zabbix agent active

Overview

For Zabbix version: 5.0 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

There are no template links in this template.

Discovery rules

Items collected

Name Description Expression Severity Dependencies and additional info
Interface <#IFNAME>: High error rate (> <$IF.ERRORS.WARN:"<#IFNAME>«> for 5m) «,errors].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«> or «,errors].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«>

«,errors].max(5m)>

WARNING <$IFCONTROL:"<#IFNAME>«>=1 and (/operstate»].last()>=2 and /operstate»].diff()>=1)

/operstate»].last()><>2 or <$IFCONTROL:"<#IFNAME>«>=0

AVERAGE
Interface <#IFNAME>: Ethernet has changed to lower speed than it was before /type»].change()> 0 and (/type»].last()>=6 or /type»].last()>=1) and (/operstate»].last()><>2)

(/type»].change()>>0 and /type»].prev()>>0) or (/operstate»].last()>=2)

INFO

System host name.

Number of users who are currently logged in.

It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.

It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.

Operating system architecture of the host.

Group Name Description Type Key and additional info
General System boot time ZABBIX_ACTIVE system.boottime

Preprocessing:

System local time of the host.

ZABBIX_ACTIVE system.localtime
General System name ZABBIX_ACTIVE system.hostname

Preprocessing:

The information as normally returned by ‘uname -a’.

ZABBIX_ACTIVE system.uname

Preprocessing:

General Number of logged in users ZABBIX_ACTIVE system.users.num
General Maximum number of open file descriptors ZABBIX_ACTIVE kernel.maxfiles

Preprocessing:

General Maximum number of processes ZABBIX_ACTIVE kernel.maxproc

Preprocessing:

ZABBIX_ACTIVE proc.num
General Number of running processes ZABBIX_ACTIVE proc.num[,,run]
Inventory Operating system ZABBIX_ACTIVE system.sw.os

Preprocessing:

Inventory Operating system architecture ZABBIX_ACTIVE system.sw.arch

Preprocessing:

ZABBIX_ACTIVE system.sw.packages

Preprocessing:

Security Checksum of /etc/passwd ZABBIX_ACTIVE vfs.file.cksum[/etc/passwd]

Preprocessing:

System uptime in ‘N days, hh:mm:ss’ format.

ZABBIX_ACTIVE system.uptime

Triggers

The host system time is different from the Zabbix server time.

Manual close: YES

System name has changed. Ack to close.

Manual close: YES

Depends on:

— Getting closer to process limit (over 80% used)

Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.

Manual close: YES

Depends on:

— System name has changed (new name: )

Manual close: YES

Depends on:

— Operating system description has changed

— System name has changed (new name: )

Manual close: YES

Feedback

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

Linux by Zabbix agent active

Overview

For Zabbix version: 5.0 and higher
New official Linux template. Requires agent of Zabbix 3.0.14, 3.4.5 and 4.0.0 or newer.

Setup

Install Zabbix agent on Linux OS according to Zabbix documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Name Description Expression Severity Dependencies and additional info
System time is out of sync (diff with Zabbix server > <$SYSTEM.FUZZYTIME.MAX>s)
System name has changed (new name: )
Configured max number of open filedescriptors is too low ( INFO
Configured max number of processes is too low ( INFO
Getting closer to process limit (over 80% used) /*100>80 WARNING
Operating system description has changed
has been restarted (uptime WARNING
Name
Linux CPU by Zabbix agent active
Linux block devices by Zabbix agent active
Linux filesystems by Zabbix agent active
Linux generic by Zabbix agent active
Linux memory by Zabbix agent active
Linux network interfaces by Zabbix agent active
Zabbix agent

Discovery rules

Items collected

Group Name Description Type Key and additional info

Triggers

Name Description Expression Severity Dependencies and additional info

Feedback

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

You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.

Known Issues

  • Description: Network discovery. Zabbix agent as of 4.2 doesn’t support items such as net.if.status, net.if.speed.

Also available for: 5.0

Linux memory SNMP

Overview

For Zabbix version: 5.4 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

There are no template links in this template.

Discovery rules

Items collected

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.

The total amount of swap space configured for this host.

Group Name Description Type Key and additional info
Memory Memory utilization CALCULATED vm.memory.util[snmp]

Expression:

(last(«vm.memory.total[memTotalReal.0]»)-(last(«vm.memory.free[memAvailReal.0]»)+last(«vm.memory.buffers[memBuffer.0]»)+last(«vm.memory.cached[memCached.0]»)))/last(«vm.memory.total[memTotalReal.0]»)*100

Memory Free memory SNMP vm.memory.free[memAvailReal.0]

Preprocessing:

Memory used by kernel buffers (Buffers in /proc/meminfo)

SNMP vm.memory.buffers[memBuffer.0]

Preprocessing:

Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo)

SNMP vm.memory.cached[memCached.0]

Preprocessing:

Total memory in Bytes

SNMP vm.memory.total[memTotalReal.0]

Preprocessing:

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.

CALCULATED vm.memory.available[snmp]

Expression:

last(«vm.memory.free[memAvailReal.0]»)+last(«vm.memory.buffers[memBuffer.0]»)+last(«vm.memory.cached[memCached.0]»)

Memory Total swap space SNMP system.swap.total[memTotalSwap.0]

Preprocessing:

The amount of swap space currently unused or available.

SNMP system.swap.free[memAvailSwap.0]

Preprocessing:

The free space of swap volume/file in percent.

CALCULATED system.swap.pfree[snmp]

Expression:

last(«system.swap.free[memAvailSwap.0]»)/last(«system.swap.total[memTotalSwap.0]»)*100

Triggers

The system is running out of free memory.

Depends on:

— Lack of available memory ( 0

This trigger is ignored, if there is no swap configured

Depends on:

— High memory utilization (><$MEMORY.UTIL.MAX>% for 5m)

— Lack of available memory ( .+

Name Description Expression Severity Dependencies and additional info
High memory utilization (><$MEMORY.UTIL.MAX>% for 5m) AVERAGE
High swap space usage (less than <$SWAP.PFREE.MIN.WARN>% free)

This macro is used in block devices discovery. Can be overridden on the host or linked template level

^(loop1*|sd[a-z]8+|nbd4+|sr5+|fd4+|dm-2+|ram5+|ploop[a-z0-9]+|md5*|hcp8*|zram3*)

There are no template links in this template.

Discovery rules

Name Description Type Key and additional info
Block devices discovery SNMP vfs.dev.discovery[snmp]

Filter:

Items collected

The number of read accesses from this device since boot.

The number of write accesses from this device since boot.

The 1 minute average load of disk (%)

Group Name Description Type Key and additional info
Storage <#DEVNAME>: Disk read rate SNMP vfs.dev.read.rate[diskIOReads.<#SNMPINDEX>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk write rate SNMP vfs.dev.write.rate[diskIOWrites.<#SNMPINDEX>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk utilization SNMP vfs.dev.util[diskIOLA1.<#SNMPINDEX>]

Triggers

Name Description Expression Severity Dependencies and additional info

Feedback

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

Linux CPU SNMP

Overview

For Zabbix version: 5.4 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Load per CPU considered sustainable. Tune if needed.

There are no template links in this template.

Discovery rules

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.

Name Description Type Key and additional info
CPU discovery DEPENDENT cpu.discovery[snmp]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Items collected

Count the number of CPU cores by counting number of cores discovered in hrProcessorTable using LLD

The time the CPU has spent doing nothing.

Group Name Description Type Key and additional info
CPU Load average (1m avg) SNMP system.cpu.load.avg1[laLoad.1]
CPU Load average (5m avg) SNMP system.cpu.load.avg5[laLoad.2]
CPU Load average (15m avg) SNMP system.cpu.load.avg15[laLoad.3]
CPU Number of CPUs SNMP system.cpu.num[snmp]

Preprocessing:

— JAVASCRIPT: //count the number of cores return JSON.parse(value).length;

SNMP system.cpu.intr[ssRawInterrupts.0]

Preprocessing:

— CHANGE_PER_SECOND

CPU Context switches per second SNMP system.cpu.switches[ssRawContexts.0]

Preprocessing:

— CHANGE_PER_SECOND

CPU CPU idle time SNMP system.cpu.idle[ssCpuRawIdle.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The time the CPU has spent running the kernel and its processes.

SNMP system.cpu.system[ssCpuRawSystem.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The time the CPU has spent running users’ processes that are not niced.

SNMP system.cpu.user[ssCpuRawUser.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The amount of CPU ‘stolen’ from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).

SNMP system.cpu.steal[ssCpuRawSteal.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The amount of time the CPU has been servicing software interrupts.

SNMP system.cpu.softirq[ssCpuRawSoftIRQ.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The time the CPU has spent running users’ processes that have been niced.

SNMP system.cpu.nice[ssCpuRawNice.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

Amount of time the CPU has been waiting for I/O to complete.

SNMP system.cpu.iowait[ssCpuRawWait.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The amount of time the CPU has been servicing hardware interrupts.

SNMP system.cpu.interrupt[ssCpuRawInterrupt.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

Guest time (time spent running a virtual CPU for a guest operating system)

SNMP system.cpu.guest[ssCpuRawGuest.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)

SNMP system.cpu.guest_nice[ssCpuRawGuestNice.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

CPU utilization in %

DEPENDENT system.cpu.util[snmp,<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //Calculate utilization return (100 — value)

Triggers

Per CPU load average is too high. Your system may be slow to respond.

CPU utilization is too high. The system might be slow to respond.

Name Description Expression Severity Dependencies and additional info
Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m) /> <$LOAD_AVG_PER_CPU.MAX.WARN>and >0 and >0 AVERAGE
High CPU utilization (over <$CPU.UTIL.CRIT>% for 5m) ].min(5m)>>

WARNING

Feedback

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

Linux filesystems SNMP

Overview

For Zabbix version: 5.4 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

.*(\.4|\.9|hrStorageFixedDisk|hrStorageFlashMemory)$

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

There are no template links in this template.

Discovery rules

HOST-RESOURCES-MIB::hrStorage discovery with storage filter

Name Description Type Key and additional info
Mounted filesystem discovery SNMP vfs.fs.discovery[snmp]

Filter:

Items collected

The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.

If having problems collecting this item make sure access to UCD-SNMP-MIB is allowed.

Group Name Description Type Key and additional info
Storage <#FSNAME>: Used space SNMP vfs.fs.used[hrStorageUsed.<#SNMPINDEX>]

Preprocessing:

The size of the storage represented by this entry, in units of hrStorageAllocationUnits.

This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system.

For example, the amount of main storage allocated to a buffer pool might be modified or the amount of disk space allocated to virtual storage might be modified.

SNMP vfs.fs.total[hrStorageSize.<#SNMPINDEX>]

Preprocessing:

Space utilization in % for

CALCULATED vfs.fs.pused[storageUsedPercentage.<#SNMPINDEX>]

Expression:

(last(«vfs.fs.used[hrStorageUsed.<#SNMPINDEX>]»)/last(«vfs.fs.total[hrStorageSize.<#SNMPINDEX>]»))*100

Storage <#FSNAME>: Free inodes in % SNMP vfs.fs.inode.pfree[dskPercentNode.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: return (100-value);

Triggers

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 5G.

— The disk will be full in less than 24 hours.

Manual close: YES

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 10G.

— The disk will be full in less than 24 hours.

Manual close: YES

Depends on:

Depends on:

— <#FSNAME>: Running out of free inodes (free snmpconf :

Change <$SNMP_COMMUNITY>on the host level in Zabbix.

Zabbix configuration

No specific Zabbix configuration is required.

Name Description Expression Severity Dependencies and additional info
<#FSNAME>: Disk space is critically low (used > <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>%)
<#FSNAME>: Running out of free inodes (free ].min(5m)> AVERAGE
<#FSNAME>: Running out of free inodes (free ].min(5m)> WARNING
Name
EtherLike-MIB SNMP
Generic SNMP
Interfaces SNMP
Linux CPU SNMP
Linux block devices SNMP
Linux filesystems SNMP
Linux memory SNMP

Discovery rules

Items collected

Group Name Description Type Key and additional info

Triggers

Name Description Expression Severity Dependencies and additional info

Feedback

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

You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.

References

Also available for: 5.4

Linux memory SNMP

Overview

For Zabbix version: 5.0 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

There are no template links in this template.

Discovery rules

Items collected

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.

The total amount of swap space configured for this host.

Group Name Description Type Key and additional info
Memory Memory utilization CALCULATED vm.memory.util[snmp]

Expression:

(last(«vm.memory.total[memTotalReal.0]»)-(last(«vm.memory.free[memAvailReal.0]»)+last(«vm.memory.buffers[memBuffer.0]»)+last(«vm.memory.cached[memCached.0]»)))/last(«vm.memory.total[memTotalReal.0]»)*100

Memory Free memory SNMP vm.memory.free[memAvailReal.0]

Preprocessing:

Memory used by kernel buffers (Buffers in /proc/meminfo)

SNMP vm.memory.buffers[memBuffer.0]

Preprocessing:

Memory used by the page cache and slabs (Cached and Slab in /proc/meminfo)

SNMP vm.memory.cached[memCached.0]

Preprocessing:

Total memory in Bytes

SNMP vm.memory.total[memTotalReal.0]

Preprocessing:

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.

CALCULATED vm.memory.available[snmp]

Expression:

last(«vm.memory.free[memAvailReal.0]»)+last(«vm.memory.buffers[memBuffer.0]»)+last(«vm.memory.cached[memCached.0]»)

Memory Total swap space SNMP system.swap.total[memTotalSwap.0]

Preprocessing:

The amount of swap space currently unused or available.

SNMP system.swap.free[memAvailSwap.0]

Preprocessing:

The free space of swap volume/file in percent.

CALCULATED system.swap.pfree[snmp]

Expression:

last(«system.swap.free[memAvailSwap.0]»)/last(«system.swap.total[memTotalSwap.0]»)*100

Triggers

The system is running out of free memory.

Depends on:

— Lack of available memory ( 0

This trigger is ignored, if there is no swap configured

Depends on:

— High memory utilization (><$MEMORY.UTIL.MAX>% for 5m)

— Lack of available memory ( .+

Name Description Expression Severity Dependencies and additional info
High memory utilization (><$MEMORY.UTIL.MAX>% for 5m) AVERAGE
High swap space usage (less than <$SWAP.PFREE.MIN.WARN>% free)

This macro is used in block devices discovery. Can be overridden on the host or linked template level

^(loop4*|sd[a-z]4+|nbd3+|sr7+|fd5+|dm-8+|ram8+|ploop[a-z0-9]+|md1*|hcp3*|zram7*)

There are no template links in this template.

Discovery rules

Name Description Type Key and additional info
Block devices discovery SNMP vfs.dev.discovery[snmp]

Filter:

Items collected

The number of read accesses from this device since boot.

The number of write accesses from this device since boot.

The 1 minute average load of disk (%)

Group Name Description Type Key and additional info
Storage <#DEVNAME>: Disk read rate SNMP vfs.dev.read.rate[diskIOReads.<#SNMPINDEX>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk write rate SNMP vfs.dev.write.rate[diskIOWrites.<#SNMPINDEX>]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk utilization SNMP vfs.dev.util[diskIOLA1.<#SNMPINDEX>]

Triggers

Name Description Expression Severity Dependencies and additional info

Feedback

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

Linux CPU SNMP

Overview

For Zabbix version: 5.0 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Load per CPU considered sustainable. Tune if needed.

There are no template links in this template.

Discovery rules

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.

Name Description Type Key and additional info
CPU discovery DEPENDENT cpu.discovery[snmp]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Items collected

Count the number of CPU cores by counting number of cores discovered in hrProcessorTable using LLD

The time the CPU has spent doing nothing.

Group Name Description Type Key and additional info
CPU Load average (1m avg) SNMP system.cpu.load.avg1[laLoad.1]
CPU Load average (5m avg) SNMP system.cpu.load.avg5[laLoad.2]
CPU Load average (15m avg) SNMP system.cpu.load.avg15[laLoad.3]
CPU Number of CPUs SNMP system.cpu.num[snmp]

Preprocessing:

— JAVASCRIPT: //count the number of cores return JSON.parse(value).length;

SNMP system.cpu.intr[ssRawInterrupts.0]

Preprocessing:

— CHANGE_PER_SECOND

CPU Context switches per second SNMP system.cpu.switches[ssRawContexts.0]

Preprocessing:

— CHANGE_PER_SECOND

CPU CPU idle time SNMP system.cpu.idle[ssCpuRawIdle.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The time the CPU has spent running the kernel and its processes.

SNMP system.cpu.system[ssCpuRawSystem.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The time the CPU has spent running users’ processes that are not niced.

SNMP system.cpu.user[ssCpuRawUser.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The amount of CPU ‘stolen’ from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).

SNMP system.cpu.steal[ssCpuRawSteal.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The amount of time the CPU has been servicing software interrupts.

SNMP system.cpu.softirq[ssCpuRawSoftIRQ.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The time the CPU has spent running users’ processes that have been niced.

SNMP system.cpu.nice[ssCpuRawNice.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

Amount of time the CPU has been waiting for I/O to complete.

SNMP system.cpu.iowait[ssCpuRawWait.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

The amount of time the CPU has been servicing hardware interrupts.

SNMP system.cpu.interrupt[ssCpuRawInterrupt.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

Guest time (time spent running a virtual CPU for a guest operating system)

SNMP system.cpu.guest[ssCpuRawGuest.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)

SNMP system.cpu.guest_nice[ssCpuRawGuestNice.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //to get utilization in %, divide by N, where N is number of cores. return value/

CPU utilization in %

DEPENDENT system.cpu.util[snmp,<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: //Calculate utilization return (100 — value)

Triggers

Per CPU load average is too high. Your system may be slow to respond.

CPU utilization is too high. The system might be slow to respond.

Name Description Expression Severity Dependencies and additional info
Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m) /> <$LOAD_AVG_PER_CPU.MAX.WARN>and >0 and >0 AVERAGE
High CPU utilization (over <$CPU.UTIL.CRIT>% for 5m) ].min(5m)>>

WARNING

Feedback

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

Linux filesystems SNMP

Overview

For Zabbix version: 5.0 and higher

Setup

Refer to the vendor documentation.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

.*(\.4|\.9|hrStorageFixedDisk|hrStorageFlashMemory)$

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

There are no template links in this template.

Discovery rules

HOST-RESOURCES-MIB::hrStorage discovery with storage filter

Name Description Type Key and additional info
Mounted filesystem discovery SNMP vfs.fs.discovery[snmp]

Filter:

Items collected

The amount of the storage represented by this entry that is allocated, in units of hrStorageAllocationUnits.

If having problems collecting this item make sure access to UCD-SNMP-MIB is allowed.

Group Name Description Type Key and additional info
Storage <#FSNAME>: Used space SNMP vfs.fs.used[hrStorageUsed.<#SNMPINDEX>]

Preprocessing:

The size of the storage represented by this entry, in units of hrStorageAllocationUnits.

This object is writable to allow remote configuration of the size of the storage area in those cases where such an operation makes sense and is possible on the underlying system.

For example, the amount of main storage allocated to a buffer pool might be modified or the amount of disk space allocated to virtual storage might be modified.

SNMP vfs.fs.total[hrStorageSize.<#SNMPINDEX>]

Preprocessing:

Space utilization in % for

CALCULATED vfs.fs.pused[storageUsedPercentage.<#SNMPINDEX>]

Expression:

(last(«vfs.fs.used[hrStorageUsed.<#SNMPINDEX>]»)/last(«vfs.fs.total[hrStorageSize.<#SNMPINDEX>]»))*100

Storage <#FSNAME>: Free inodes in % SNMP vfs.fs.inode.pfree[dskPercentNode.<#SNMPINDEX>]

Preprocessing:

— JAVASCRIPT: return (100-value);

Triggers

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 5G.

— The disk will be full in less than 24 hours.

Manual close: YES

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 10G.

— The disk will be full in less than 24 hours.

Manual close: YES

Depends on:

Depends on:

— <#FSNAME>: Running out of free inodes (free snmpconf :

Change <$SNMP_COMMUNITY>on the host level in Zabbix.

Zabbix configuration

No specific Zabbix configuration is required.

Name Description Expression Severity Dependencies and additional info
<#FSNAME>: Disk space is critically low (used > <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>%)
<#FSNAME>: Running out of free inodes (free ].min(5m)> AVERAGE
<#FSNAME>: Running out of free inodes (free ].min(5m)> WARNING
Name
EtherLike-MIB SNMP
Generic SNMP
Interfaces SNMP
Linux CPU SNMP
Linux block devices SNMP
Linux filesystems SNMP
Linux memory SNMP

Discovery rules

Items collected

Group Name Description Type Key and additional info

Triggers

Name Description Expression Severity Dependencies and additional info

Feedback

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

You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.

References

Also available for: 5.0

Linux by Prom

Overview

For Zabbix version: 5.4 and higher
This template collects Linux metrics from node_exporter 0.18 and above. Support for older node_exporter versions is provided as ‘best effort’.

This template was tested on:

  • node_exporter, version 0.17.0
  • node_exporter, version 0.18.1

Setup

Please refer to the node_exporter docs. Use node_exporter v0.18.0 or above.

Zabbix configuration

No specific Zabbix configuration is required.

Macros used

Load per CPU considered sustainable. Tune if needed.

Filter out loopbacks, nulls, docker veth links and docker0 bridge by default

(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker4+|br-[a-z0-9]<12>)

TCP Port node_exporter is listening on.

This macro is used in block devices discovery. Can be overridden on the host or linked template level

This macro is used in block devices discovery. Can be overridden on the host or linked template level

^(loop5*|sd[a-z]6+|nbd3+|sr1+|fd4+|dm-5+|ram3+|ploop[a-z0-9]+|md1*|hcp7*|zram3*)

Disk read average response time (in ms) before the trigger would fire

Disk write average response time (in ms) before the trigger would fire

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

There are no template links in this template.

Discovery rules

Discovery of network interfaces. Requires node_exporter v0.18 and up.

Name Description Type Key and additional info
Network interface discovery DEPENDENT net.if.discovery[node_exporter]

Preprocessing:

Filter:

Discovery of file systems of different types.

DEPENDENT vfs.fs.discovery[node_exporter]

Preprocessing:

Filter:

DEPENDENT vfs.dev.discovery[node_exporter]

Preprocessing:

Filter:

Items collected

It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.

Operating system architecture of the host.

Total memory in Bytes

Sets value to 0 if metric is missing in node_exporter output.

node_network_protocol_type protocol_type value of /sys/class/net/ .

Indicates the interface RFC2863 operational state as a string.

Possible values are:»unknown», «notpresent», «down», «lowerlayerdown», «testing»,»dormant», «up».

Space utilization in % for

w/s. The number (after merges) of write requests completed per second for the device.

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.

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.

Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected.

This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests.

Rate of total read time counter. Used in r_await calculation

Rate of total write time counter. Used in w_await calculation

Group Name Description Type Key and additional info
CPU Load average (1m avg) DEPENDENT system.cpu.load.avg1[node_exporter]

Preprocessing:

DEPENDENT system.cpu.load.avg5[node_exporter]

Preprocessing:

DEPENDENT system.cpu.load.avg15[node_exporter]

Preprocessing:

DEPENDENT system.cpu.num[node_exporter]

Preprocessing:

— JAVASCRIPT: //count the number of cores return JSON.parse(value).length

CPU utilization in %

DEPENDENT system.cpu.util[node_exporter]

Preprocessing:

— JAVASCRIPT: //Calculate utilization return (100 — value)

The time the CPU has spent doing nothing.

DEPENDENT system.cpu.idle[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The time the CPU has spent running the kernel and its processes.

DEPENDENT system.cpu.system[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The time the CPU has spent running users’ processes that are not niced.

DEPENDENT system.cpu.user[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The amount of CPU ‘stolen’ from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).

DEPENDENT system.cpu.steal[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The amount of time the CPU has been servicing software interrupts.

DEPENDENT system.cpu.softirq[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The time the CPU has spent running users’ processes that have been niced.

DEPENDENT system.cpu.nice[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Amount of time the CPU has been waiting for I/O to complete.

DEPENDENT system.cpu.iowait[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The amount of time the CPU has been servicing hardware interrupts.

DEPENDENT system.cpu.interrupt[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Guest time (time spent running a virtual CPU for a guest operating system)

DEPENDENT system.cpu.guest[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)

DEPENDENT system.cpu.guest_nice[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

DEPENDENT system.cpu.intr[node_exporter]

Preprocessing:

— CHANGE_PER_SECOND

CPU Context switches per second DEPENDENT system.cpu.switches[node_exporter]

Preprocessing:

— CHANGE_PER_SECOND

General System boot time DEPENDENT system.boottime[node_exporter]

Preprocessing:

System local time of the host.

DEPENDENT system.localtime[node_exporter]

Preprocessing:

System host name.

DEPENDENT system.name[node_exporter]

Preprocessing:

— PROMETHEUS_PATTERN: node_uname_info nodename

Labeled system information as provided by the uname system call.

DEPENDENT system.descr[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

General Maximum number of open file descriptors DEPENDENT kernel.maxfiles[node_exporter]

Preprocessing:

General Number of open file descriptors DEPENDENT fd.open[node_exporter]

Preprocessing:

DEPENDENT system.sw.os[node_exporter]

Preprocessing:

Inventory Operating system architecture DEPENDENT system.sw.arch[node_exporter]

Preprocessing:

— PROMETHEUS_PATTERN: node_uname_info machine

Memory used percentage is calculated as (total-available)/total*100

CALCULATED vm.memory.util[node_exporter]

Expression:

(last(«vm.memory.total[node_exporter]»)-last(«vm.memory.available[node_exporter]»))/last(«vm.memory.total[node_exporter]»)*100

Memory Total memory DEPENDENT vm.memory.total[node_exporter]

Preprocessing:

Available memory, in Linux, available = free + buffers + cache. On other platforms calculation may vary. See also: https://www.zabbix.com/documentation/5.4/manual/appendix/items/vm.memory.size_params

DEPENDENT vm.memory.available[node_exporter]

Preprocessing:

The total space of swap volume/file in bytes.

DEPENDENT system.swap.total[node_exporter]

Preprocessing:

The free space of swap volume/file in bytes.

DEPENDENT system.swap.free[node_exporter]

Preprocessing:

The free space of swap volume/file in percent.

CALCULATED system.swap.pfree[node_exporter]

Expression:

last(«system.swap.free[node_exporter]»)/last(«system.swap.total[node_exporter]»)*100

Monitoring_agent Version of node_exporter running DEPENDENT agent.version[node_exporter]

Preprocessing:

— PROMETHEUS_PATTERN: node_exporter_build_info version

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Bits received DEPENDENT net.if.in[node_exporter,»<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Bits sent DEPENDENT net.if.out[node_exporter,»<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Outbound packets with errors DEPENDENT net.if.out.errors[node_exporter»<#IFNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Inbound packets with errors DEPENDENT net.if.in.errors[node_exporter,»<#IFNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Inbound packets discarded DEPENDENT net.if.in.discards[node_exporter,»<#IFNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Outbound packets discarded DEPENDENT net.if.out.discards[node_exporter,»<#IFNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Speed DEPENDENT net.if.speed[node_exporter,»<#IFNAME>«]

Preprocessing:

⛔️ON_FAIL: CUSTOM_VALUE -> 0

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Interface type DEPENDENT net.if.type[node_exporter,»<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Operational status DEPENDENT net.if.status[node_exporter,»<#IFNAME>«]

Preprocessing:

— PROMETHEUS_PATTERN: node_network_info«> operstate

— JAVASCRIPT: Text is too long. Please see the template.

System uptime in ‘N days, hh:mm:ss’ format.

DEPENDENT system.uptime[node_exporter]

Preprocessing:

— JAVASCRIPT: //use boottime to calculate uptime return (Math.floor(Date.now()/1000)-Number(value));

DEPENDENT vfs.fs.free[node_exporter,»<#FSNAME>«]

Preprocessing:

Total space in Bytes

DEPENDENT vfs.fs.total[node_exporter,»<#FSNAME>«]

Preprocessing:

Used storage in Bytes

CALCULATED vfs.fs.used[node_exporter,»<#FSNAME>«]

Expression:

(last(«vfs.fs.total[node_exporter,\»<#FSNAME>\»]»)-last(«vfs.fs.free[node_exporter,\»<#FSNAME>\»]»))

Storage <#FSNAME>: Space utilization CALCULATED vfs.fs.pused[node_exporter,»<#FSNAME>«]

Expression:

(last(«vfs.fs.used[node_exporter,\»<#FSNAME>\»]»)/last(«vfs.fs.total[node_exporter,\»<#FSNAME>\»]»))*100

Storage <#FSNAME>: Free inodes in % DEPENDENT vfs.fs.inode.pfree[node_exporter,»<#FSNAME>«]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

r/s. The number (after merges) of read requests completed per second for the device.

DEPENDENT vfs.dev.read.rate[node_exporter,»<#DEVNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk write rate DEPENDENT vfs.dev.write.rate[node_exporter,»<#DEVNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk read request avg waiting time (r_await) CALCULATED vfs.dev.read.await[node_exporter,»<#DEVNAME>«]

Expression:

(last(«vfs.dev.read.time.rate[node_exporter,\»<#DEVNAME>\»]»)/(last(«vfs.dev.read.rate[node_exporter,\»<#DEVNAME>\»]»)+(last(«vfs.dev.read.rate[node_exporter,\»<#DEVNAME>\»]»)=0)))*1000*(last(«vfs.dev.read.rate[node_exporter,\»<#DEVNAME>\»]») > 0)

Storage <#DEVNAME>: Disk write request avg waiting time (w_await) CALCULATED vfs.dev.write.await[node_exporter,»<#DEVNAME>«]

Expression:

(last(«vfs.dev.write.time.rate[node_exporter,\»<#DEVNAME>\»]»)/(last(«vfs.dev.write.rate[node_exporter,\»<#DEVNAME>\»]»)+(last(«vfs.dev.write.rate[node_exporter,\»<#DEVNAME>\»]»)=0)))*1000*(last(«vfs.dev.write.rate[node_exporter,\»<#DEVNAME>\»]») > 0)

Storage <#DEVNAME>: Disk average queue size (avgqu-sz) DEPENDENT vfs.dev.queue_size[node_exporter,»<#DEVNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk utilization DEPENDENT vfs.dev.util[node_exporter,»<#DEVNAME>«]

Preprocessing:

Zabbix_raw_items Get node_exporter metrics HTTP_AGENT node_exporter.get
Zabbix_raw_items <#DEVNAME>: Disk read time (rate) DEPENDENT vfs.dev.read.time.rate[node_exporter,»<#DEVNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Zabbix_raw_items <#DEVNAME>: Disk write time (rate) DEPENDENT vfs.dev.write.time.rate[node_exporter,»<#DEVNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Triggers

Per CPU load average is too high. Your system may be slow to respond.

CPU utilization is too high. The system might be slow to respond.

Depends on:

— Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m)

The host system time is different from the Zabbix server time.

Manual close: YES

System name has changed. Ack to close.

Manual close: YES

Depends on:

— Running out of file descriptors (less than /*100>80

Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.

Manual close: YES

Depends on:

— System name has changed (new name: )

The system is running out of free memory.

Depends on:

— Lack of available memory ( 0

This trigger is ignored, if there is no swap configured

Depends on:

— High memory utilization (><$MEMORY.UTIL.MAX>% for 5m)

— Lack of available memory ( <$IF.UTIL.MAX:"<#IFNAME>«>% )

The network interface utilization is close to its estimated maximum bandwidth.

Manual close: YES

Depends on:

Recovers when below 80% of <$IF.ERRORS.WARN:"<#IFNAME>«> threshold

Manual close: YES

Depends on:

This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.

Manual close: YES

Depends on:

This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.

Manual close: YES

Depends on:

This trigger expression works as follows:

1. Can be triggered if operations status is down.

2. <$IFCONTROL:"<#IFNAME>«>=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.

3. =1) — trigger fires only if operational status was up(1) sometime before. (So, do not fire ‘ethernal off’ interfaces.)

WARNING: if closed manually — won’t fire again on next poll, because of .diff.

Manual close: YES

Manual close: YES

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 5G.

— The disk will be full in less than 24 hours.

Manual close: YES

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 10G.

— The disk will be full in less than 24 hours.

Manual close: YES

Depends on:

Depends on:

— <#FSNAME>: Running out of free inodes (free <$VFS.DEV.READ.AWAIT.WARN:"<#DEVNAME>«> ms for 15m or write > <$VFS.DEV.WRITE.AWAIT.WARN:"<#DEVNAME>«> ms for 15m)

This trigger might indicate disk <#DEVNAME>saturation.

Manual close: YES

Failed to fetch system metrics from node_exporter in time.

Manual close: YES

Feedback

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

You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.

Known Issues

Description: node_exporter v0.16.0 renamed many metrics. CPU utilization for ‘guest’ and ‘guest_nice’ metrics are not supported in this template with node_exporter 90

Name Description Expression Severity Dependencies and additional info
Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m) /> <$LOAD_AVG_PER_CPU.MAX.WARN>and >0 and >0 AVERAGE
High CPU utilization (over <$CPU.UTIL.CRIT>% for 5m)
System time is out of sync (diff with Zabbix server > <$SYSTEM.FUZZYTIME.MAX>s)
System name has changed (new name: )
Configured max number of open filedescriptors is too low ( INFO WARNING
Operating system description has changed
High memory utilization (><$MEMORY.UTIL.MAX>% for 5m) AVERAGE
High swap space usage (less than <$SWAP.PFREE.MIN.WARN>% free) («].avg(15m)>>(<$IF.UTIL.MAX:"<#IFNAME>«>/100)*«].last()> or «].avg(15m)>>(<$IF.UTIL.MAX:"<#IFNAME>«>/100)*«].last()>) and «].last()>>0

«].avg(15m)>

WARNING
Interface <#IFNAME>(<#IFALIAS>): High error rate (> <$IF.ERRORS.WARN:"<#IFNAME>«> for 5m) «].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«> or «].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«>

«].max(5m)>

WARNING
Interface <#IFNAME>(<#IFALIAS>): Ethernet has changed to lower speed than it was before «].change()> 0 and («].last()>=6 or «].last()>=7 or «].last()>=11 or «].last()>=62 or «].last()>=69 or «].last()>=117 ) and («].last()><>2)

(«].change()>>0 and «].prev()>>0) or («].last()>=2)

INFO
Interface <#IFNAME>(<#IFALIAS>): Ethernet has changed to lower speed than it was before «].change()> 0 and («].last()>=6 or «].last()>=1) and («].last()><>2)

(«].change()>>0 and «].prev()>>0) or («].last()>=2)

INFO <$IFCONTROL:"<#IFNAME>«>=1 and («].last()>=2 and «].diff()>=1)

«].last()><>2 or <$IFCONTROL:"<#IFNAME>«>=0

AVERAGE
has been restarted (uptime WARNING
<#FSNAME>: Disk space is critically low (used > <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>%)
<#FSNAME>: Running out of free inodes (free «].min(5m)> AVERAGE
<#FSNAME>: Running out of free inodes (free «].min(5m)> WARNING
node_exporter is not available (or no data for 30m)

Load per CPU considered sustainable. Tune if needed.

Filter out loopbacks, nulls, docker veth links and docker0 bridge by default

(^Software Loopback Interface|^NULL[0-9.]*$|^[Ll]o[0-9.]*$|^[Ss]ystem$|^Nu[0-9.]*$|^veth[0-9a-z]+$|docker7+|br-[a-z0-9]<12>)

TCP Port node_exporter is listening on.

This macro is used in block devices discovery. Can be overridden on the host or linked template level

This macro is used in block devices discovery. Can be overridden on the host or linked template level

^(loop9*|sd[a-z]1+|nbd4+|sr1+|fd9+|dm-2+|ram1+|ploop[a-z0-9]+|md1*|hcp3*|zram2*)

Disk read average response time (in ms) before the trigger would fire

Disk write average response time (in ms) before the trigger would fire

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

^(btrfs|ext2|ext3|ext4|reiser|xfs|ffs|ufs|jfs|jfs2|vxfs|hfs|apfs|refs|ntfs|fat32|zfs)$

This macro is used in filesystems discovery. Can be overridden on the host or linked template level

There are no template links in this template.

Discovery rules

Discovery of network interfaces. Requires node_exporter v0.18 and up.

Name Description Type Key and additional info
Network interface discovery DEPENDENT net.if.discovery[node_exporter]

Preprocessing:

Filter:

Discovery of file systems of different types.

DEPENDENT vfs.fs.discovery[node_exporter]

Preprocessing:

Filter:

DEPENDENT vfs.dev.discovery[node_exporter]

Preprocessing:

Filter:

Items collected

It could be increased by using sysctrl utility or modifying file /etc/sysctl.conf.

Operating system architecture of the host.

Total memory in Bytes

Sets value to 0 if metric is missing in node_exporter output.

node_network_protocol_type protocol_type value of /sys/class/net/ .

Indicates the interface RFC2863 operational state as a string.

Possible values are:»unknown», «notpresent», «down», «lowerlayerdown», «testing»,»dormant», «up».

Space utilization in % for

w/s. The number (after merges) of write requests completed per second for the device.

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.

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.

Current average disk queue, the number of requests outstanding on the disk at the time the performance data is collected.

This item is the percentage of elapsed time that the selected disk drive was busy servicing read or writes requests.

Rate of total read time counter. Used in r_await calculation

Rate of total write time counter. Used in w_await calculation

Group Name Description Type Key and additional info
CPU Load average (1m avg) DEPENDENT system.cpu.load.avg1[node_exporter]

Preprocessing:

DEPENDENT system.cpu.load.avg5[node_exporter]

Preprocessing:

DEPENDENT system.cpu.load.avg15[node_exporter]

Preprocessing:

DEPENDENT system.cpu.num[node_exporter]

Preprocessing:

— JAVASCRIPT: //count the number of cores return JSON.parse(value).length

CPU utilization in %

DEPENDENT system.cpu.util[node_exporter]

Preprocessing:

— JAVASCRIPT: //Calculate utilization return (100 — value)

The time the CPU has spent doing nothing.

DEPENDENT system.cpu.idle[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The time the CPU has spent running the kernel and its processes.

DEPENDENT system.cpu.system[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The time the CPU has spent running users’ processes that are not niced.

DEPENDENT system.cpu.user[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The amount of CPU ‘stolen’ from this virtual machine by the hypervisor for other tasks (such as running another virtual machine).

DEPENDENT system.cpu.steal[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The amount of time the CPU has been servicing software interrupts.

DEPENDENT system.cpu.softirq[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The time the CPU has spent running users’ processes that have been niced.

DEPENDENT system.cpu.nice[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Amount of time the CPU has been waiting for I/O to complete.

DEPENDENT system.cpu.iowait[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

The amount of time the CPU has been servicing hardware interrupts.

DEPENDENT system.cpu.interrupt[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Guest time (time spent running a virtual CPU for a guest operating system)

DEPENDENT system.cpu.guest[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

Time spent running a niced guest (virtual CPU for guest operating systems under the control of the Linux kernel)

DEPENDENT system.cpu.guest_nice[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

DEPENDENT system.cpu.intr[node_exporter]

Preprocessing:

— CHANGE_PER_SECOND

CPU Context switches per second DEPENDENT system.cpu.switches[node_exporter]

Preprocessing:

— CHANGE_PER_SECOND

General System boot time DEPENDENT system.boottime[node_exporter]

Preprocessing:

System local time of the host.

DEPENDENT system.localtime[node_exporter]

Preprocessing:

System host name.

DEPENDENT system.name[node_exporter]

Preprocessing:

— PROMETHEUS_PATTERN: node_uname_info nodename

Labeled system information as provided by the uname system call.

DEPENDENT system.descr[node_exporter]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

General Maximum number of open file descriptors DEPENDENT kernel.maxfiles[node_exporter]

Preprocessing:

General Number of open file descriptors DEPENDENT fd.open[node_exporter]

Preprocessing:

DEPENDENT system.sw.os[node_exporter]

Preprocessing:

Inventory Operating system architecture DEPENDENT system.sw.arch[node_exporter]

Preprocessing:

— PROMETHEUS_PATTERN: node_uname_info machine

Memory used percentage is calculated as (total-available)/total*100

CALCULATED vm.memory.util[node_exporter]

Expression:

(last(«vm.memory.total[node_exporter]»)-last(«vm.memory.available[node_exporter]»))/last(«vm.memory.total[node_exporter]»)*100

Memory Total memory DEPENDENT vm.memory.total[node_exporter]

Preprocessing:

Available memory, in Linux, available = free + buffers + cache. On other platforms calculation may vary. See also: https://www.zabbix.com/documentation/5.0/manual/appendix/items/vm.memory.size_params

DEPENDENT vm.memory.available[node_exporter]

Preprocessing:

The total space of swap volume/file in bytes.

DEPENDENT system.swap.total[node_exporter]

Preprocessing:

The free space of swap volume/file in bytes.

DEPENDENT system.swap.free[node_exporter]

Preprocessing:

The free space of swap volume/file in percent.

CALCULATED system.swap.pfree[node_exporter]

Expression:

last(«system.swap.free[node_exporter]»)/last(«system.swap.total[node_exporter]»)*100

Monitoring_agent Version of node_exporter running DEPENDENT agent.version[node_exporter]

Preprocessing:

— PROMETHEUS_PATTERN: node_exporter_build_info version

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Bits received DEPENDENT net.if.in[node_exporter,»<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Bits sent DEPENDENT net.if.out[node_exporter,»<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Outbound packets with errors DEPENDENT net.if.out.errors[node_exporter»<#IFNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Inbound packets with errors DEPENDENT net.if.in.errors[node_exporter,»<#IFNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Inbound packets discarded DEPENDENT net.if.in.discards[node_exporter,»<#IFNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Outbound packets discarded DEPENDENT net.if.out.discards[node_exporter,»<#IFNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Speed DEPENDENT net.if.speed[node_exporter,»<#IFNAME>«]

Preprocessing:

⛔️ON_FAIL: CUSTOM_VALUE -> 0

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Interface type DEPENDENT net.if.type[node_exporter,»<#IFNAME>«]

Preprocessing:

Network_interfaces Interface <#IFNAME>(<#IFALIAS>): Operational status DEPENDENT net.if.status[node_exporter,»<#IFNAME>«]

Preprocessing:

— PROMETHEUS_PATTERN: node_network_info«> operstate

— JAVASCRIPT: Text is too long. Please see the template.

System uptime in ‘N days, hh:mm:ss’ format.

DEPENDENT system.uptime[node_exporter]

Preprocessing:

— JAVASCRIPT: //use boottime to calculate uptime return (Math.floor(Date.now()/1000)-Number(value));

DEPENDENT vfs.fs.free[node_exporter,»<#FSNAME>«]

Preprocessing:

Total space in Bytes

DEPENDENT vfs.fs.total[node_exporter,»<#FSNAME>«]

Preprocessing:

Used storage in Bytes

CALCULATED vfs.fs.used[node_exporter,»<#FSNAME>«]

Expression:

(last(«vfs.fs.total[node_exporter,\»<#FSNAME>\»]»)-last(«vfs.fs.free[node_exporter,\»<#FSNAME>\»]»))

Storage <#FSNAME>: Space utilization CALCULATED vfs.fs.pused[node_exporter,»<#FSNAME>«]

Expression:

(last(«vfs.fs.used[node_exporter,\»<#FSNAME>\»]»)/last(«vfs.fs.total[node_exporter,\»<#FSNAME>\»]»))*100

Storage <#FSNAME>: Free inodes in % DEPENDENT vfs.fs.inode.pfree[node_exporter,»<#FSNAME>«]

Preprocessing:

— JAVASCRIPT: Text is too long. Please see the template.

r/s. The number (after merges) of read requests completed per second for the device.

DEPENDENT vfs.dev.read.rate[node_exporter,»<#DEVNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk write rate DEPENDENT vfs.dev.write.rate[node_exporter,»<#DEVNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk read request avg waiting time (r_await) CALCULATED vfs.dev.read.await[node_exporter,»<#DEVNAME>«]

Expression:

(last(«vfs.dev.read.time.rate[node_exporter,\»<#DEVNAME>\»]»)/(last(«vfs.dev.read.rate[node_exporter,\»<#DEVNAME>\»]»)+(last(«vfs.dev.read.rate[node_exporter,\»<#DEVNAME>\»]»)=0)))*1000*(last(«vfs.dev.read.rate[node_exporter,\»<#DEVNAME>\»]») > 0)

Storage <#DEVNAME>: Disk write request avg waiting time (w_await) CALCULATED vfs.dev.write.await[node_exporter,»<#DEVNAME>«]

Expression:

(last(«vfs.dev.write.time.rate[node_exporter,\»<#DEVNAME>\»]»)/(last(«vfs.dev.write.rate[node_exporter,\»<#DEVNAME>\»]»)+(last(«vfs.dev.write.rate[node_exporter,\»<#DEVNAME>\»]»)=0)))*1000*(last(«vfs.dev.write.rate[node_exporter,\»<#DEVNAME>\»]») > 0)

Storage <#DEVNAME>: Disk average queue size (avgqu-sz) DEPENDENT vfs.dev.queue_size[node_exporter,»<#DEVNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Storage <#DEVNAME>: Disk utilization DEPENDENT vfs.dev.util[node_exporter,»<#DEVNAME>«]

Preprocessing:

Zabbix_raw_items Get node_exporter metrics HTTP_AGENT node_exporter.get
Zabbix_raw_items <#DEVNAME>: Disk read time (rate) DEPENDENT vfs.dev.read.time.rate[node_exporter,»<#DEVNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Zabbix_raw_items <#DEVNAME>: Disk write time (rate) DEPENDENT vfs.dev.write.time.rate[node_exporter,»<#DEVNAME>«]

Preprocessing:

— CHANGE_PER_SECOND

Triggers

Per CPU load average is too high. Your system may be slow to respond.

CPU utilization is too high. The system might be slow to respond.

Depends on:

— Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m)

The host system time is different from the Zabbix server time.

Manual close: YES

System name has changed. Ack to close.

Manual close: YES

Depends on:

— Running out of file descriptors (less than /*100>80

Operating system description has changed. Possible reasons that system has been updated or replaced. Ack to close.

Manual close: YES

Depends on:

— System name has changed (new name: )

The system is running out of free memory.

Depends on:

— Lack of available memory ( 0

This trigger is ignored, if there is no swap configured

Depends on:

— High memory utilization (><$MEMORY.UTIL.MAX>% for 5m)

— Lack of available memory ( <$IF.UTIL.MAX:"<#IFNAME>«>% )

The network interface utilization is close to its estimated maximum bandwidth.

Manual close: YES

Depends on:

Recovers when below 80% of <$IF.ERRORS.WARN:"<#IFNAME>«> threshold

Manual close: YES

Depends on:

This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.

Manual close: YES

Depends on:

This Ethernet connection has transitioned down from its known maximum speed. This might be a sign of autonegotiation issues. Ack to close.

Manual close: YES

Depends on:

This trigger expression works as follows:

1. Can be triggered if operations status is down.

2. <$IFCONTROL:"<#IFNAME>«>=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.

3. =1) — trigger fires only if operational status was up(1) sometime before. (So, do not fire ‘ethernal off’ interfaces.)

WARNING: if closed manually — won’t fire again on next poll, because of .diff.

Manual close: YES

Manual close: YES

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 5G.

— The disk will be full in less than 24 hours.

Manual close: YES

Two conditions should match: First, space utilization should be above <$VFS.FS.PUSED.MAX.WARN:"<#FSNAME>«>.

Second condition should be one of the following:

— The disk free space is less than 10G.

— The disk will be full in less than 24 hours.

Manual close: YES

Depends on:

Depends on:

— <#FSNAME>: Running out of free inodes (free <$VFS.DEV.READ.AWAIT.WARN:"<#DEVNAME>«> ms for 15m or write > <$VFS.DEV.WRITE.AWAIT.WARN:"<#DEVNAME>«> ms for 15m)

This trigger might indicate disk <#DEVNAME>saturation.

Manual close: YES

Failed to fetch system metrics from node_exporter in time.

Manual close: YES

Feedback

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

You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.

Источник

Читайте также:  Включение защиты от вирусов windows 10 как убрать уведомление
Оцените статью
Name Description Expression Severity Dependencies and additional info
Load average is too high (per CPU load over <$LOAD_AVG_PER_CPU.MAX.WARN>for 5m) /> <$LOAD_AVG_PER_CPU.MAX.WARN>and >0 and >0 AVERAGE
High CPU utilization (over <$CPU.UTIL.CRIT>% for 5m)
System time is out of sync (diff with Zabbix server > <$SYSTEM.FUZZYTIME.MAX>s)
System name has changed (new name: )
Configured max number of open filedescriptors is too low ( INFO WARNING
Operating system description has changed
High memory utilization (><$MEMORY.UTIL.MAX>% for 5m) AVERAGE
High swap space usage (less than <$SWAP.PFREE.MIN.WARN>% free) («].avg(15m)>>(<$IF.UTIL.MAX:"<#IFNAME>«>/100)*«].last()> or «].avg(15m)>>(<$IF.UTIL.MAX:"<#IFNAME>«>/100)*«].last()>) and «].last()>>0

«].avg(15m)>

WARNING
Interface <#IFNAME>(<#IFALIAS>): High error rate (> <$IF.ERRORS.WARN:"<#IFNAME>«> for 5m) «].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«> or «].min(5m)>><$IF.ERRORS.WARN:"<#IFNAME>«>

«].max(5m)>

WARNING
Interface <#IFNAME>(<#IFALIAS>): Ethernet has changed to lower speed than it was before «].change()> 0 and («].last()>=6 or «].last()>=7 or «].last()>=11 or «].last()>=62 or «].last()>=69 or «].last()>=117 ) and («].last()><>2)

(«].change()>>0 and «].prev()>>0) or («].last()>=2)

INFO
Interface <#IFNAME>(<#IFALIAS>): Ethernet has changed to lower speed than it was before «].change()> 0 and («].last()>=6 or «].last()>=1) and («].last()><>2)

(«].change()>>0 and «].prev()>>0) or («].last()>=2)

INFO <$IFCONTROL:"<#IFNAME>«>=1 and («].last()>=2 and «].diff()>=1)

«].last()><>2 or <$IFCONTROL:"<#IFNAME>«>=0

AVERAGE
has been restarted (uptime WARNING
<#FSNAME>: Disk space is critically low (used > <$VFS.FS.PUSED.MAX.CRIT:"<#FSNAME>«>%)
<#FSNAME>: Running out of free inodes (free «].min(5m)> AVERAGE
<#FSNAME>: Running out of free inodes (free «].min(5m)> WARNING
node_exporter is not available (or no data for 30m)