Полное руководство по настройке мониторинга SMB/NFS шары без монтирования
📌 Что вам понадобится
Используем 🔧 Решение без монтирования диска
smbclient для проверки свободного места через скрипт.1. Установка smbclient
# Для Debian/Ubuntu:
sudo apt install smbclient -y
# Для CentOS/RHEL:
sudo yum install samba-client -y
sudo nano /usr/lib/zabbix/externalscripts/check_smb_free.sh
#!/bin/bash
SERVER="192.168.1.19" # IP NAS
SHARE="asd" # Имя шары
USER="asd" # Пользователь
PASS="Abusad" # Пароль
OUTPUT=$(echo q | smbclient //$SERVER/$SHARE -U "$USER%$PASS" -c "dir" 2>&1 | tr -cd '[:print:] ')
FREE_BLOCKS=$(echo "$OUTPUT" | grep -oP "[0-9]+(?= blocks available)" | head -n1)
BLOCK_SIZE=$(echo "$OUTPUT" | grep -oP "[0-9]+(?=\. blocks of size)" | head -n1)
if [[ "$FREE_BLOCKS" =~ ^[0-9]+$ && "$BLOCK_SIZE" =~ ^[0-9]+$ ]]; then
echo $((FREE_BLOCKS * BLOCK_SIZE))
else
echo "0"
fi
sudo chmod +x /usr/lib/zabbix/externalscripts/check_smb_free.sh
sudo nano /etc/zabbix/zabbix_agentd.conf
UserParameter=custom.smb.free[*],/usr/lib/zabbix/externalscripts/check_smb_free.sh
sudo systemctl restart zabbix-agent
Для оповещения при свободном месте < 10%:📊 Настройка в веб-интерфейсе Zabbix
1. Добавляем Item
2. Создаем триггер
{HOST:custom.smb.free.last()} < ( {HOST:vfs.fs.size[/,total].last()} * 0.1 )
Если можно примонтировать папку, используем стандартный ключ:💡 Альтернативный способ с монтированием
vfs.fs.size[/mnt/nas_share,pfree]
Нужна помощь с настройкой графиков или Telegram-оповещений? Оставьте комментарий!🚀 Итог
Преимущества решения
Ограничения
Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!