Настроить Zabbix-агента на использование скрипта. Для этого в файле /etc/zabbix/zabbix_agentd.conf задать параметры UnsafeUserParameters и UserParameter:
Перезапустить Zabbix-агента для вступления настроек в силу:
sudo systemctl restart zabbix-agent
Настройка Zabbix-сервера
На локальном компьютере создать файл iostat_template.xml, содержащий шаблон с описанием параметров статистики.
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
<version>6.0</version>
<date>2025-03-18T13:22:13Z</date>
<groups>
<group>
<uuid>23b4cb78db6e4cd194f3600a0006af6c</uuid>
<name>MyTemplates</name>
</group>
</groups>
<templates>
<template>
<uuid>753644a41edb4dcaa1d110cd93e90242</uuid>
<template>Performance Metrics</template>
<name>Performance Metrics</name>
<groups>
<group>
<name>MyTemplates</name>
</group>
</groups>
<discovery_rules>
<discovery_rule>
<uuid>daaeac93f1244836b063034061377c00</uuid>
<name>IOSTAT: Hard disk drive discovery</name>
<key>iostat[]</key>
<delay>60s</delay>
<lifetime>1d</lifetime>
<item_prototypes>
<item_prototype>
<uuid>0bb6bf63770a4630a0389c3122739325</uuid>
<name>Доля объединенных запросов на чтение (от всех запросов на чтение)</name>
<key>iostat[%rrqm,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>Процент</units>
</item_prototype>
<item_prototype>
<uuid>c9ad769abab54a08b95d2ce74c1fec8e</uuid>
<name>Процент времени, в течение которого диск был занят выполнением запросов</name>
<key>iostat[%util,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>Процент</units>
</item_prototype>
<item_prototype>
<uuid>348df69b695b4a3cb1ff02311c9d050e</uuid>
<name>Доля объединенных запросов на запись (от всех запросов на запись).</name>
<key>iostat[%wrqm,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>Процент</units>
</item_prototype>
<item_prototype>
<uuid>9d546f3a7a5b4ea7b31153690bd71b3f</uuid>
<name>Среднее количество активных (ожидающих выполнения) операций.</name>
<key>iostat[aqu-sz,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>number</units>
</item_prototype>
<item_prototype>
<uuid>17edea89307740ce83f8f0366db87cb1</uuid>
<name>Количество операций удаления (discard) в секунду (актуально для SSD).</name>
<key>iostat[d/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops/s</units>
</item_prototype>
<item_prototype>
<uuid>b7bbda24b9e74a2597070790214e4388</uuid>
<name>Средний размер запроса на удаление.</name>
<key>iostat[dareq-sz,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>kBytes</units>
</item_prototype>
<item_prototype>
<uuid>792ea57a779e4298befa1f205191d12f</uuid>
<name>Количество данных, удаляемых в секунду</name>
<key>iostat[dkB/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>kBytes</units>
</item_prototype>
<item_prototype>
<uuid>1f79c62da23c4ac6b766242e379aae42</uuid>
<name>Количество объединенных (merged) запросов на удаление в секунду</name>
<key>iostat[drqm/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops/s</units>
</item_prototype>
<item_prototype>
<uuid>b9ae57862ad341df9066fae0455bc457</uuid>
<name>Среднее время ожидания операции удаления</name>
<key>iostat[d_await,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ms</units>
</item_prototype>
<item_prototype>
<uuid>31d99d98afec4f808071708d9ad309c4</uuid>
<name>Количество операций принудительного сброса кеша (flush) в секунду</name>
<key>iostat[f/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops/s</units>
</item_prototype>
<item_prototype>
<uuid>f39804e082d34f67b1bc1d8a41ec1cad</uuid>
<name>Среднее время ожидания операции flush.</name>
<key>iostat[f_await,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ms</units>
</item_prototype>
<item_prototype>
<uuid>b1e754be49d4453185d3bfae0b2c20e0</uuid>
<name>Количество операций чтения в секунду</name>
<key>iostat[r/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops/s</units>
<description>Скорость чтения килобайт в секунду</description>
</item_prototype>
<item_prototype>
<uuid>88db077435e441c6936fcfac82da91b0</uuid>
<name>Средний размер запроса на чтение.</name>
<key>iostat[rareq-sz,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>kBytes</units>
</item_prototype>
<item_prototype>
<uuid>089779fb67e34c63bdbd8b256983c24d</uuid>
<name>Объем данных, читаемых с диска</name>
<key>iostat[rkB/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>kBytes/s</units>
</item_prototype>
<item_prototype>
<uuid>0f1149f20cc14d4bb6d39e7d8749b8be</uuid>
<name>Количество объединенных (merged) запросов</name>
<key>iostat[rrqm/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops/s</units>
</item_prototype>
<item_prototype>
<uuid>6a62aa51da90454aa78d2f783a8e231f</uuid>
<name>Среднее время ожидания операции чтения</name>
<key>iostat[r_await,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ms</units>
<description>Время задержки на чтение</description>
</item_prototype>
<item_prototype>
<uuid>dec7a67b116448d298b88d9618e929cb</uuid>
<name>Количество операций записи в секунду</name>
<key>iostat[w/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops/s</units>
</item_prototype>
<item_prototype>
<uuid>b4ca236fad94413e947c2fe8f58f4305</uuid>
<name>Средний размер запроса на запись</name>
<key>iostat[wareq-sz,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>kBytes</units>
</item_prototype>
<item_prototype>
<uuid>5016437f0c804a80bf261681dc5135cc</uuid>
<name>Объем данных, записываемых на диск.</name>
<key>iostat[wkB/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
</item_prototype>
<item_prototype>
<uuid>fd59e2645c36415ca3a435f180a07e89</uuid>
<name>Количество объединенных (merged) запросов на запись</name>
<key>iostat[wrqm/s,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ops</units>
</item_prototype>
<item_prototype>
<uuid>b790d46d0c564a57b1b666d75285865e</uuid>
<name>Среднее время ожидания операции записи</name>
<key>iostat[w_await,{#HDNAME}]</key>
<delay>30s</delay>
<value_type>FLOAT</value_type>
<units>ms</units>
<description>Время ожидания на запись</description>
</item_prototype>
</item_prototypes>
<graph_prototypes>
<graph_prototype>
<uuid>0391be4240e04a8f97e7bc50a25300b7</uuid>
<name>Average Ask Size</name>
<graph_items>
<graph_item>
<color>1A7C11</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[wareq-sz,{#HDNAME}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>274482</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[dareq-sz,{#HDNAME}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<color>F63100</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[rareq-sz,{#HDNAME}]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype>
<uuid>47d0189c82d24e69995b4e30e53e1f48</uuid>
<name>Data volume Read/Write</name>
<graph_items>
<graph_item>
<color>1A7C11</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[wkB/s,{#HDNAME}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>274482</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[rkB/s,{#HDNAME}]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype>
<uuid>6d0413c48295437fb494b7d7a2916237</uuid>
<name>Disk Latency</name>
<graph_items>
<graph_item>
<color>1A7C11</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[w_await,{#HDNAME}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>274482</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[d_await,{#HDNAME}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<color>F63100</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[r_await,{#HDNAME}]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
<graph_prototype>
<uuid>2dee0215de194ae7ba017b68d044dd64</uuid>
<name>Read/Write speed</name>
<graph_items>
<graph_item>
<color>1A7C11</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[dkB/s,{#HDNAME}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>1</sortorder>
<color>274482</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[w/s,{#HDNAME}]</key>
</item>
</graph_item>
<graph_item>
<sortorder>2</sortorder>
<color>F63100</color>
<calc_fnc>ALL</calc_fnc>
<item>
<host>Performance Metrics</host>
<key>iostat[r/s,{#HDNAME}]</key>
</item>
</graph_item>
</graph_items>
</graph_prototype>
</graph_prototypes>
</discovery_rule>
</discovery_rules>
</template>
</templates>
</zabbix_export>
На Zabbix-сервере импортированный шаблон будет называться "Performance Metrics" и состоять в группе шаблонов "MyTemplates".
В веб-интерфейсе Zabbix-сервера настроить получение статистики от Zabbix-агента:
Загрузить шаблон отчёта. Для этого в главном меню выбрать пункт "Сбор данных → Шаблоны". Откроется страница: На странице справа вверху нажать на кнопку "Импорт".
Откроется окно. В окне нажать на кнопку "Выберите файл"; выбрать файл с шаблоном iostat_template.xml : Нажать на кнопку "Импорт".
Откроется окно с шаблоном: Нажать на кнопку "Импорт". Окно закроется. Вверху страницы отобразится сообщение "Импортировано успешно".
Добавить узел, на котором установлен агент для сбора статистики. Для этого в главном меню выбрать пункт "Мониторинг → Узлы сети". Откроется страница: На странице справа вверху нажать на кнопку "Создать узел сети".
Откроется окно: В окне заполнить поля: - "Имя узла сети"; - "Шаблоны" – выбрать шаблон "Performance Metrics" из группы шаблонов "MyTemplates"; - "Группы узлов сети" – выбрать "Linux servers"; - "Интерфейсы" – справа внизу от поля нажать на "Добавить"; выбрать из раскрывшегося меню пункт "Агент"; в появившейся строке "Агент" в поле "IP адрес" ввести адрес узла, на котором установлен Zabbix-агент; В правом нижнем углу окна нажать на кнопку "Добавить". Вверху страницы отобразится сообщение "Узел сети добавлен".
Просмотр статистики
В веб-интерфейсе Zabbix-сервера в главном меню выбрать пункт "Мониторинг → Узлы сети".
Откроется страница: На странице внизу: в таблице нажать левой кнопкой мыши на имя узла, на котором настроен сбор статистики Zabbix-агентом. В раскрывшемся меню выбрать пункт "Последние данные".
Откроется страница со статистикой работы дисковых накопителей узла: