Взаимодействие с компонентами программного комплекса

Взаимодействие с компонентами программного комплекса осуществляется с помощью файлов мета-конфигурации (.mmc). Эти файлы включены в пакеты тех продуктов, компоненты которых могут работать под управлением Dr.Web Monitor, и располагаются в каталоге, определяемом параметром MetaConfDir (по умолчанию – %etc_dir/monitor). В этих файлах описывается состав компонентов, расположение бинарных файлов, порядок их запуска и параметры запуска. Как правило, в одном файле указывается описание одного компонента, а имя файла совпадает с именем компонента Dr.Web для почтовых серверов UNIX.

Описание каждого компонента содержится в секции Application "имя_компонента". В конце секции обязательно должно быть поставлено EndApplication.

В описании компонента должны присутствовать следующие параметры:

FullName: полное имя приложения;

Path: путь к бинарным файлам;

Depends: имена компонентов, которые должны запускаться до запуска описываемого компонента. Например, компонент AGENT должен запускаться до компонента DAEMON, поэтому в mmc-файле для Dr.Web Daemon параметр Depends имеет значение "AGENT". Если подобные зависимости отсутствуют, то параметр может быть пропущен;

Components: список бинарных файлов компонентов, запускаемых при старте приложения. Компоненты запускаются в том порядке, в котором перечислены. Для каждого из компонентов через пробел указываются:

oАргументы командной строки, передаваемые модулю при запуске (могут быть заключены в кавычки);

oМаксимальное время в секундах, отводимое на запуск компонента (StartTimeout);

oМаксимальное время в секундах для остановки (StopTimeout);

oТип оповещения и права для запуска.

Тип оповещения указывает, куда высылать сообщения о сбоях компонента. Он может принимать значения MAIL (осуществляется отсылка оповещений по почте) и LOG (информация о сбоях только записывается в журнал).

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

Пример mmc-файла для Dr.Web Daemon:

Application "DAEMON"

FullName    "Dr.Web (R) Daemon"

Path        "/opt/drweb/"

Depends     "AGENT"

Components

 # name  args  MaxStartTime  MaxStopTime  NotifyType  User:Group

 drwebd "-a=local:/var/drweb/ipc/.agent --foreground=yes" 30 10 MAIL drweb:drweb

EndComponents

EndApplication

Пример mmc-файла для Dr.Web MailD:

Application "MAILD"

FullName    "Dr.Web (R) MailD"

Path        "/opt/drweb/"

Depends     "AGENT"

Components

 # name  args  MaxStartTime  MaxStopTime  NotifyType  User:Group

 drweb-notifier  local:/var/drweb/ipc/.agent  30   30  MAIL  drweb:drweb

 drweb-sender    local:/var/drweb/ipc/.agent  15   30  LOG   drweb:drweb

 drweb-maild     local:/var/drweb/ipc/.agent  120  30  MAIL  drweb:drweb

 drweb-receiver  local:/var/drweb/ipc/.agent  15   30  MAIL  root:drweb

EndComponents

EndApplication