Как организовать мониторинг служб windows через web-приложение?
Доброго времени суток.
Вопрос вероятней всего без однозначного ответа и довольно-таки общий.
Есть несколько десятков машин на windows xp/7 на каждой из которых запущены службы (не виндовые, автоматически запускаются при старте системы) .
Бывает, что службы отваливаются ну это же окна или пропадает соединение с машинами и узнаю об этом - когда уже "поздно" и "всё плохо".
Хотелось бы видеть единый список со всеми машинами и их состоянием.
Предполагаю, что для этого нужно написать демона (установить на каждую машину) , который будет мониторить состояние интересующих служб и отправлять данные на сервер.
С сервера я буду получать данные в реальном времени посредством web-приложения/сайта.
Отсюда несколько вопросов: "Правильный" ли ход мыслей? Мб есть другие варианты и мой - "велосипед"? На чем писать(любые варианты, в любом случае планирую новый язык учить)? Возможно ли большую часть из этого сделать на Python? Как бы Вы поступили?
Буду благодарен за советы, списки литературы и возможно, примеры.
данные о службах винда готова отдавать и без всяких самописных демонов - через SNMP (если установить этот компонент в выборе компонентов Windows и настроить службу SNMP) или через WMI. другими словами, опрашивайте из вашего web-приложения машины по SNMP или WMI. соответствующие запросы надо гуглить.
записи о падении службы также всегда попадают в журнал событий - eventvwr.msc.
по средствам данные не получают, по средствам живут. а данные - посредством.
Правильный ход мыслей. Есть уже готовые системы - nagios, zabbix... Для nagios есть готовые агенты - nrpe, которые ставятся на винду и отдают многое множество данных - от размера свопа до свободного места. Кроме того, всегда можно забрать данные по SNMP - nrpe имеет в совем составе датчик, отдающий данные из всех стандартных MIB. Если же сервер и клиенты в одной сети - и nrpe не нужен - в nagios есть тоже полный комплект датчиков - nrpe нужен для мониторнига других сетей (по отношению к локальной)