Мониторинг дисков с помощью zabbix

0
4097
Обложка статьи: Мониторинг дисков с помощью zabbix

Инструкция входит в цикл про Zabbix. Общая картина: мониторинг Linux и Windows в Zabbix, справочник ключей: ключи агента.

Нужно видеть заполнение дисков в Zabbix. Скрипты iostat 2021 года не копируйте: в поставке есть шаблон Linux/Windows by Zabbix agent. Чистка места — df и du.

1. Шаблон, не самописный userparameter

На узел навесьте официальный шаблон вашей версии (Linux by Zabbix agent 2 / Windows by Zabbix agent). В нём уже discovery томов и ключи вроде:

vfs.fs.size[/,pused]
vfs.fs.inode[/,pused]

Точные имена макросов и LLD смотрите в шаблоне, не в статье 2021. Проверка ключа:

zabbix_get -s 192.0.2.20 -k vfs.fs.size[/,pused]

Ожидание: число процентов. ZBX_NOTSUPPORTED — нет такого ФС или старый агент.

2. Триггер

В шаблоне обычно пороги на pused. Не ставьте 95% на крошечный /boot без исключения: будет шум. Inode считайте отдельно: диск «не полный», а писать нельзя.

Предупредить заранее, а не по факту

Порог в 90% срабатывает, когда времени на реакцию уже мало. Для дисков с ростом полезны функции прогноза: timeleft() показывает, через сколько секунд значение достигнет порога, исходя из тренда за выбранный период. Пример идеи триггера (синтаксис выражений различается между версиями, сверьтесь с документацией своей):

timeleft(/web-01/vfs.fs.size[/,pused],1d,95) < 7d

Условие читается так: по данным за сутки диск заполнится до 95% меньше чем через 7 дней. Так вы получаете задачу «расширить том в рабочее время», а не ночной звонок. Для томов с резкими скачками (логи, временные файлы) тренд врёт, там нужен обычный порог.

Windows-узлы

В Windows ключи те же, но с буквой диска: vfs.fs.size[C:,pused]. Обнаружение томов делает шаблон Windows by Zabbix agent. Следите отдельно за системным диском: при нуле свободного места перестают работать обновления и журналы.

Что делать, когда сработал триггер

  1. Найти, что занимает место: df, du и ncdu.
  2. Если место занимают журналы systemd: journalctl --disk-usage, затем sudo journalctl --vacuum-size=500M.
  3. Если том виртуальный и данные нужны: расширить LVM.
  4. Закрепить причину: ротация логов, лимит в журнале, перенос данных. Иначе через месяц триггер вернётся.

Не удаляйте файлы из каталога базы данных и из репозитория резервных копий ради освобождения места.

Как проверить

df -hT /
zabbix_get -s 192.0.2.20 -k vfs.fs.size[/,pused]

Процент в Zabbix близок к Use% в df. Discovery нашёл тома, которые вы ждёте. Самописный UserParameter=iostat из старого текста не нужен, если шаблон отвечает.

Источники

Комментарии закрыты.