Полное руководство по настройке мониторинга SMB/NFS шары без монтирования
📌 Что вам понадобится
Сервер Zabbix (версия 4.0+)
Доступ к NAS/SMB серверу
Учетные данные для подключения к сетевой папке
Права sudo на сервере Zabbix
📌 Что вам понадобится
Используем 🔧 Решение без монтирования диска
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.109" # IP NAS
SHARE="win1" # Имя шары
USER="it" # Пользователь
PASS="Abudfv09540056" # Пароль
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-оповещений? Оставьте комментарий!🚀 Итог
Преимущества решения
Ограничения
Комментарии