SMTP

Назначение, приципы работы и особенности

Плагин smtp предназначен для проверки работы SMTP сервиса на удаленных хостах. Плагин показывает достижимость порта, работу SMTP сервиса на нем и понимание MIME расширений работающим на удаленном хосте сервисом. Для проверки каждого сервиса плагин порождает ребенка. Отделившйся от плагина ребенок выполняет следующие действия: Каждый порожденный плагином ребенок обрабатывает только одну сессию Запрос-Ответ. Ребенок может ожидать ответа достаточно долго. Эта особенность ярко проявляется при плохих линиях связи или высокой загруженности запрашиваемого сервера. Время ожидания ответа может в общем случеа превышать прдел, после которого сервис будет считаться неработающим. В этом случае получение ответа приведет к "включению" сервиса. Плагин убивает детей, когда превышается отведенное ему пространство процессов. Цикл запросов повторяется через определенный период. Поэтому один и тот же сервис могут опрашивать несколько детей одновременно.

Параметры сервиса

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

Кроме общих параметров в карточке объекта находятся следующие: Имя хоста и номер порта на удаленной стороне а также номер порта на локальном хосте однозначно определяют сокет, который используется ребенком.

Параметры плагина

Поскольку параметры сервиса немногочисленны, то параметры плагина более богаты:

eye=# select * from parametrs where nameofcfg = 'smtp';
 nameofcfg |   parametr   |         value         
-----------+--------------+-----------------------
 smtp      | StartCounter | 700
 smtp      | SendTime     | 200
 smtp      | ChaildNumber | 10
 smtp      | LogFile      | /var/log/eye/smtp.err
(4 rows)

eye=# 


Если число детей превышает ChaildNumber, то плагин убивает всех запущенных детей. Что при неверном подборе параметров StartCounter и SendTime может привести к ошибочному отображению сервиса как неработающего в течении некоторого времени. Таким образом, естественным является выбор параметра ChaildNumber не меньшим чем количество сервисов, проверяемых данным экземпляром плагина. Рекомендуется устанавливать значение этого параметра равным 120-150% от числа сервисов обрабатываемых данным плагином. При хорошей работе сервисов и не очень малом параметре SendTime число одновременно работающих детей данного экземпляра плагина не превысит число сервисов обрабатываемых данным плагином. Имеет сысл устанавливать величину параметра SendTime как минимум на порядок больше чем характерное время сессии.

Применение

Возможные состояния сервиса:
Up[_]SMTP сервер достижим и поддерживает MIME.
Can not connect to port or host[_]Запрашиваемый хост или SMTP сервис хоста не работает. Либо неверно указан порт.
MIME not supporting[_]SMTP сервер доступен, но не пооддерживает MIME.
Error in resolve[_]Невозможно определить IP адрес хоста. ПРи послеующих запросах попытки определить IP адрес хоста повторятся.
Unknown error[_]Неопознаная ошибка. Вероятнее всего по указанному порту отвечает другой (не SMTP) протокол.