У меня есть сервер ubuntu, и я часто сталкиваюсь с проблемой свободного места, т. Е. Журналы занимают много места на диске. Итак, я хочу, чтобы была применена проверка, чтобы всякий раз, когда на диске меньше 5 ГБ свободного места, я получал уведомление по электронной почте, чтобы я мог удалить журналы. Как я могу это настроить. Нужны ли мне другие приложения?
Ты можешь использовать Nagios для мониторинга и отправки электронной почты. Но, прежде чем настраивать мониторинг, я бы начал с настройки logrotate для периодической ротации файлов журналов.
Подходящая система зависит от того, где вы размещаете свой сервер. Например, если он размещен на AWS, вы можете настроить встроенный в Amazon CloudWatch для мониторинга его работоспособности, а не для развертывания нового решения для мониторинга.
Вы можете использовать две разные стратегии:
Для одного сервера решение №1, безусловно, является более быстрым путем. Однако для нескольких серверов и / или для проверки нескольких точек данных (например, использование оперативной памяти, загрузка процессора и т. Д.) Второй вариант, безусловно, предпочтительнее.
На моем сервере Ubuntu у меня есть следующий скрипт в /etc/cron.daily
который предупреждает меня по электронной почте, когда /dev/sdc
(мой /srv
раздел) имеет менее 200 МБ свободного места.
ALERT=200
UNIT=M
PARTITION=/dev/sdc
df -B$UNIT | grep "^$PARTITION" |
while read partition size used free perc mnt ;
do
free_space=$(echo $free | tr -d $UNIT )
if [ $free_space -le $ALERT ]; then
echo "Partition $partition ($mnt) running out of space ($free) on $(hostname) as on $(date)" |
mail -s "Alert: $mnt almost out of disk space on $(hostname) - $free" root
fi
done
Изначально это было взято и адаптировано из этого сообщения в блоге на nixCraft. Сохраните это в файл в /etc/cron.hourly
от имени пользователя root измените первые 3 строки в соответствии с вашим сервером и потребностями и сделайте файл исполняемым. Если вы хотите, чтобы он выполнялся чаще, сохраните его как скрипт и создайте обычное задание cron.
Обратите внимание, что вам понадобится что-то, обеспечивающее mail
команда, обычно из пакетов qmail-run
или courier-mta
.