Полное руководство по настройке мониторинга SMB/NFS шары без монтирования
Используем 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%:
{HOST:custom.smb.free.last()} < ( {HOST:vfs.fs.size[/,total].last()} * 0.1 )
Если можно примонтировать папку, используем стандартный ключ:
vfs.fs.size[/mnt/nas_share,pfree]
Нужна помощь с настройкой графиков или Telegram-оповещений? Оставьте комментарий!
Комментарии
Пока нет комментариев. Будьте первым!