Инструменты контроля и мониторинга EC2 не могут предоставить вам эти данные, потому что файловая система ваших экземпляров доступна ТОЛЬКО для самого экземпляра . Как базовая архитектура оборудования, так и модель безопасности требуют этого ограничения. Подумайте о том, как было бы плохо, если бы программное обеспечение за пределами вашего компьютера могло копаться в файлах на ваших жестких дисках!
Вот простой способ заставить cron (установленный на большинстве систем в любом случае) периодически проверять эти данные. В любом случае ваши системы должны иметь минимальные требования для обработки корневых почтовых уведомлений. Я рекомендую иметь по крайней мере материалистического агента исходящей почты и настроить псевдоним root или администратора для перенаправления вам на всех системах, которыми вы управляете. Многие программы, в том числе cron
ожидают такой конфигурации.
Вы можете добавить это в ваш crontab:
0 0 * * * test $(df / | grep ^/ | awk '{print $4}') -lt 1048576 && echo "Warning: Free disk space is less than 1G on /"
Чтобы сломать это, это
- Создает задание, которое запускается один раз в день в 00:00.
- Cron автоматически обрабатывает электронную почту системного администратора с выводом заданий. Это задание выдает результат только в случае ошибки или если на диске мало места
- Команда
test
устанавливает простое сравнение оболочки, используя -lt
оператор less than и фиксированное значение, эквивалентное 1 ГБ свободного пространства.
- Команда
df
проверяет свободное место в /
файловой системе
grep
Получает вас только строку вывода вам нужно вместо заголовков df
включают в себя.
awk
Прибудет только четвертый столбец в выводе, свободное пространство номер.
- Команда
&&
говорит выполнить следующую команду, только если первая ( test x -lt y
) возвращает true.