Добрый день!
Как лучше всего реализовать мониторинг свободного места на дисках sql-сервера?
disk_free_space не подходит, потому что выводит свободное место на локалхосте, а в моём случае вебсервер, и sql — сервер — разные машины.
ssh есть. Да, на второй машине вебсервера нет.
Реализовать мониторинг надо именно средствами php, т.е. выводить в веб-интерфейс. shushu Вы что-то подобное имеете ввиду?
(обратная кавычка, не знаю просто как парсер сайта отобразит этот символ)
а потом парсить результат в $str
Но нужно будет ключ положить на sql сервер, что бы авторизацию не спрашивало.
ключ, который будет использоваться, можно указать явно, например:
Пишите кроном раз в минуту место в sql-базу отдельную на sql-сервере в подходящем формате, а на втором сервере делайте запрос в эту базу.
По ssh этого делать не стоит. Разве что шеллом пользователю, от которого будете мониторить выставлять что-то в духе df в правильном формате.
Да думал, может есть ещё какие-то интересные варианты, о которых я просто не знаю :)
Но похоже, что именно на этом методе и придётся остановиться, как на самом логичном.
Поставить простенькую систему мониторинга на sql-сервер? (см. munin).
Если нужно получать данные самостоятельно, то можно вместо сервера munin'a, опрашивать клиентов самостоятельно (там весьма тривиальный протокол обмена данными).
Не хотелось бы ничего дополнительного туда ставить. Вернее, мне-то в принципе не сложно, но с этим будет сопряжено много лишних вопросов и ненужных споров.
В любом случае на SQL-сервере придётся что-то делать — например, писать простенький скрипт, который бы по крону делал df, а его результаты бы отсылал куда-то, либо парсил и уведомлял админа при уменьшении ниже заданного предела.
Есть mysql — библиотека lib_mysqludf_sys, которая позволяет выполнять системные команды. Просто почитав про неё повнимательнее, я понял, что такая штука — это огромная пробоина в безопасности.