2009-08-19 2 views
1

Я создаю приложение ruby, которое захватывает электронные письма, отправленные на сервер, и записывает их в базу данных. Прямо сейчас у меня нет способа полностью протестировать стек (Email -> Ruby -> Database) для простоев. Я использую службы, которые тестируют сервер, на котором работает ruby ​​для простоя, и я использую monit, чтобы убедиться, что демон ruby ​​не слишком долгое время не работает. Кроме ручной проверки периодически, есть ли какие-либо услуги, которые я могу использовать для проверки:Монитор Postfix Server и ответ Ruby на Ubuntu

1) Является ли мой постфикса еще и прием/отправка почте

2) Есть сообщения все еще делает это от моего демона к базе данных

Если нет, есть ли какие-либо рекомендации по мониторингу и отправке предупреждений для любого из этих двух сценариев или любых методов домашнего приготовления, которые могли бы работать надежно?

ответ

1

У вас может быть задание cron отправить сообщение «canary», а затем провести еще один тест задания cron, чтобы узнать, было ли в базу данных ожидаемое канарейное сообщение. (необязательно удаляя его и т. д.)

+0

Я думал об этом, но не знал, как этот метод был взломан ... чем больше я думаю об этом, тем больше мне это нравится. Любые дополнительные мысли оцениваются – Schneems

+1

Вы можете отправить канарейку из удаленной системы, если хотите ... с адекватной отметкой времени вы можете отслеживать задержку через систему ... Если у вас есть статистика по сообщениям, вы можете запрограммировать ее на игнорировать канарейки. Тогда вам нужна система для поиска канарейки и электронной почты, если они не появятся. – DGM

0

Если вы ищете коммерческий инструмент, www.logicmonitor.com может это сделать. Он имеет мониторинг Postfix (статус мониторинга и графические сообщения в очереди, доставка, отскок, отклонение и т. Д.). Также мониторинг базы данных (Mysql, oracle, postgres, sql server) - так что он будет предупреждать и тренда в базе данных и давать некоторые рекомендации по настройке, если это необходимо. Он также может легко отслеживать такие вещи, как время последней вставки электронной почты в базу данных - и предупреждать, если больше времени, чем ожидалось. Плюс контролировать файлы журнала для отслеживания времени отклика приложения.

Зависит от критичности этой системы и времени/денег.

0

У меня нет опыта с Monit, но это может быть сделано для настройки этих тестов. Если это не так, я бы порекомендовал вам взглянуть на Nagios - API для написания собственных тестов очень прост.

Проверьте, что:

  • SMTP, сервер отвечает на сети.
  • Выполнены процессы постфикса.
  • Посты постфикса пустые.

Испытание на круговое путешествие может быть выполнено с предложением DGMs «canary» - если вы можете настроить такую ​​процедуру, она, вероятно, имеет лучшую точность и дает самую быструю реакцию на ошибку.

Альтернативой, которая может быть полезна, если трафик является относительно частым, является мониторинг журналов постфикса и, возможно, сервера базы данных, - убедитесь, что последнее успешное сообщение не старше, чем, например, 30 минут (для соответствующего значения «30 «... и« минуты »...). Этот подход будет медленнее реагировать, но будет охватывать более возможные условия ошибки.

Смежные вопросы