Перейти к содержимому

SecurityGateway for Email Servers

Службы почтового шлюза SecurityGateway, проверяемые снаружи, и, начиная с SecurityGateway 12.5, версия и счётчики производительности, публикуемые его REST API: очередь доставки, карантин, сессии SMTP.

Все метрики с префиксом dumbmonit_securitygateway_.

МетрикаМеткиЗначение
service_upservice, port1, если порт принял соединение и, для SMTP, поприветствовал кодом 220. 0, если не ответил, либо ответил, отказывая в обслуживании (421, 554).
service_response_secondsservice, portВремя до приветствия, либо до соединения для порта без приветствия.
api_upТолько с ключом API: 1, если REST API ответил, 0, если нет.
api_response_secondsВремя, за которое ответил REST API.
counters_available1, если счётчики производительности были прочитаны; 0, если API не описывает ни одного, либо учётная запись ключа не может их читать.
countercounterОдин ряд на каждое числовое значение счётчиков производительности, названный так, как называет его API, в snake_case: deliveryQueue становится delivery_queue. Не более 64.
info (значение 1)version, sourceВерсия, данная описанием API (source="openapi"), либо иначе приветствием SMTP, когда шлюз объявляет её там (source="smtp_banner").
scrape_duration_secondsВремя, за которое прошла вся проверка.

Как находятся счётчики. REST API SecurityGateway описывает себя по /api/v1/openapi. DumbMonit читает это описание, берёт самый короткий путь только для чтения без параметров, чьё имя упоминает счётчики, читает его и сохраняет каждое число из ответа. Ничего не переименовывается и ничего не предполагается: если будущая версия переименует счётчик, ряд последует за новым именем. Счётчики, перечисленные в справке SecurityGateway, — это активные входящие и исходящие сессии SMTP, очередь доставки, административный карантин, время работы, счётчики доменов и пользователей и пул соединений базы данных; некоторые из них меняются только раз в минуту.

Частичный отказ всё равно считается успешной проверкой. Одна остановленная служба даёт service_up 0 для этой службы, а остальные всё равно измеряются. Только когда вообще не отвечают ни служба, ни API, монитор недоступен. Отклонённый ключ — это ошибка конфигурации, показывается на странице монитора и не уведомляется.

Что не читается. Лицензия и её истечение, дисковое пространство и статистика сообщений панели не описаны опубликованной документацией REST API. Чтобы наблюдать за самой службой Windows SecurityGateway и дисками сервера, установите агент на сервере и перечислите службу в его настройке services.

Применяемые встроенные правила: «Служба SecurityGateway не отвечает», «API SecurityGateway не отвечает», «Очередь доставки SecurityGateway растёт», плюс «Монитор недоступен».

Монитор SecurityGateway показывает панель Mail services над графиками, считанную из последнего сохранённого измерения: открытие страницы никогда не подключается к шлюзу. Она перечисляет каждую отслеживаемую службу с её портом, словом и цветом (Answering, Down) и временем отклика, версию, и, с ключом API, каждый счётчик производительности с его последним значением.

Наблюдение за службами шлюза и, опционально, REST API

Заголовок раздела «Наблюдение за службами шлюза и, опционально, REST API»
  1. На сервере ничего устанавливать не нужно. Без учётных данных DumbMonit подключается к SMTP (25) и веб-интерфейсу (4000) снаружи и читает приветствие SMTP. Измените список в опции Services, например, чтобы проверять HTTPS вместо HTTP.

    smtp,web_https
  2. Чтобы также читать счётчики производительности, нужен SecurityGateway 12.5 или новее. Создайте выделенную учётную запись с именем, указанным ниже, с длинным паролем, не используемым где-либо ещё, и дайте ей роль Domain Administrator. Если счётчики остаются пустыми на странице монитора, ваша версия хранит их для роли Global Administrator, и учётной записи нужна именно эта роль.

    dumbmonit
  3. Войдите этой учётной записью и создайте ключ в Setup/Users → Accounts → API Keys, со сроком действия. Ключ несёт права учётной записи, которая его создаёт, поэтому он должен быть создан именно из этой учётной записи, а не из вашей.

  4. Ограничьте учётную запись адресом, с которого подключается DumbMonit, в её IP-ограничениях: ключи API тоже их соблюдают.

  5. Проверьте с хоста DumbMonit, что ключ работает. Команда выводит описание API, которое также перечисляет счётчики, читаемые DumbMonit.

    curl -k -H 'Authorization: Bearer YOUR_KEY' https://sg.example.com:4443/api/v1/openapi
  6. В DumbMonit введите адрес шлюза, например «sg.example.com», и вставьте ключ. API доступен на HTTPS-порту веб-интерфейса, по умолчанию 4443, под /api/v1.

Учётные данныеПоля
Только службыНичего: порты проверяются без входа.
Ключ API (12.5 и новее)Ключ, отправляется как Authorization: Bearer ….

Адрес: имя хоста или IP шлюза, например sg.example.com. Порт, указанный в адресе (sg.example.com:8443), принимается как порт API.

ОпцияПо умолчаниюЭффект
servicessmtp,webЧто проверять, через запятую: smtp (25), smtps (465), web (4000), web_https (4443). name:port меняет порт; любое другое имя со своим портом добавляет собственную службу, проверяемую только подключением. none не проверяет ни один порт.
request_timeout_seconds10Время, отведённое на каждое соединение, приветствие и вызов API, от 1 до 60.
api_port4443Порт веб-интерфейса, обслуживающий /api/v1. Используется только с ключом API.
api_tlstrueHTTPS для REST API. Снимите отметку только для веб-интерфейса по обычному HTTP (по умолчанию порт 4000): тогда ключ пересекает сеть в открытом виде.
insecure_tlsfalseПринимать самоподписанный сертификат на REST API.
counterstrueЧитать счётчики производительности.