Система мониторинга рабочих станций windows

Кирилл15 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
12.01.2010

Модули:

1. Агент

2. Сервер

3. Выдача

Суть задачи.

Агенты, установленные на компьютерах, посылают серверу сообщения из журналов событий windows. Фильтры событий регулируются на сервере для каждого клиента. Запись событий происходит в mysql. Выдача происходит по web. Также нужно высылать настроенные сообщения на email.

Агент для windows.

Агенты должны работать под 2000, XP, Vista, 7

Агент устанавливается на компьютер в виде службы.

Файл настроек - текстовый.

Настройки:

ip server, порт, password(md5), какие журналы мониторим, time1, time2

Настроенные на этого агента фильтры он забирает с сервера. В фильтре указываются события по условиям: все кроме или ничего кроме. Фильтр по eventid and source или message (regexp).

Раз в time1 минут агент опрашивает журналы. При выпадании события (warning или critical) агент посылает (SSL или TLS) их на сервер.

Если за time1 минут была куча одинаковых событий, прислать одно и написать сколько раз оно было.

Если связи с сервером нет, складывать эти сообщения в файл. Файл не может превышать 10 Мб. Как только связь появляется - высылать сообщения на сервер.

Предусмотреть механизм сжатия сообщений (опция агента).

Раз в time2 минут, агент лезет на сервер за новыми фильтрами.

Также агент лезет на сервер за новыми фильтрами после своего старта.

Сервер.

Желательно серверную часть делать на Java. Так, чтобы можно было установить в связке с tomcat. Это обсуждается.

Агенты регистрируются на сервере руками. Регистрационные данные - переменная %COMPUTERNAME%. Имя агента может меняться. Т.е. если поменялось имя компьютера, необходимо, чтобы при переименовании агента, история никуда не делась.

Фильтры создаются и просматриваются для каждой станции отдельно.

Агенты должы формироваться в группы. У группы может меняться название.

Интерфейс древовидный.

Щелкнув на группу, открывается окно настроек, примененных к этой группе.

Щелкнув на агента в дереве группы, открывается окно с его настройками, где их можно изменить и сохранить. Настройки группы наследуются агентом.

Также щелкнув на корень дерева, открывается окно настроек, примененных ко всем группам => агентам.

Настройки агента:

- фильтры событий (event id, source, message (regexp))

- период хранения сообщений (period1)

- ответственный пользователь (не пользователь компьютера, который мониторим). Может быть один или несколько. Про уровни пользователей ниже.

- период в днях (period2), после которого, сервер начинает оповещать раз в сутки ответственного пользователя, о том, что агент с ним не соединялся n дней.

- отключение агента. Это значит, что сообщения, присланные от этого агента игнорируются.

Удаление агента означает, что удаляются все события, связанные с этим агентом и агент, придя очередной раз за настройками и увидев, что он удален, должен остановиться и больше не включиться, т.е. либо он должен удалиться, либо служба должна перейти в disabled + файл с настройками должен удалиться. Это нужно для того, чтобы организация, с которой разорвали отношения, не мусорила в базу и не генерировала трафик.

При удалении группы, удаляются все агенты.

Настройка email.

Поддержка аутентификации на SMTP сервере.

Настраиваемые значения:

login/password

email from

smtp server

Почтовые сообщения должны использовать шаблоны, которые в будущем можно редактировать.

Пользователи.

Уровней будет 2. Админ и инженер.

Админ:

- показываются все группы

- приходят оповещения по всем группам

- манипулирование пользователями (добавление, изменение, удаление). Удаление/изменение должны проходить централизованно, т.е. при удалении/изменения пользователя он должен удалиться/измениться во всех настроек агента, где он есть.

- Добавлять/удалять пользователей в список ответственных у агентов.

У одного агента, может быть отвественных несколько. Например, два админа и два инженера.

Выдача.

На главной странице показывать группы, чьи агенты за period3 (цифра может меняться) дней имели хотя бы один critical. При нажатии на группу, открывается древовидный список с проблемными агентами. Щелкнув на агента, попадаем на страницу агента, где указаны все проблемы за неделю. Поля:

Период выдачи можно менять на этой же странице. Максимальные период выдачи, соответсвенно, равен period1.

Все возможноые сортировки. При нажатии на событие, открывается событие в попапе.

Сделать навигацию по всем агентам сервер, по всем агентам группы.

Также внутри просмотра группы, сделать возможность просматривать всех агентов (не только проблемных).

Формирование отчетов.

critical и(или) warning по группе за период.

critical и(или) warning по всем группам за период

Выходить за рамки данного ТЗ можно. Идеи приветствуются.

Выдача и серверная часть должны быть кроссплатформенны.

Заявки фрилансеров