У нас есть эта платформа, которая следит за состоянием всей нашей сети, когда происходит инцидент (сервер не работает, соединение не работает, соединение и т. Д.), Она отправляет предупреждение. Это предупреждение должно быть перехвачено программным обеспечением, которое я разрабатываю, и мое программное обеспечение должно распространять это событие через ловушку SNMP на другие устройства в сети.
Все до этого момента кажется нормальным ... за исключением того, что сервер, обнаруживающий сбой, может просто отправлять электронные письма. Поэтому мне нужно определять, когда приходит новое электронное письмо, и отправлять сообщение SNMP. Проблема здесь в том, что время между приемом события и передачей сообщения должно быть меньше 5 секунд. У меня не может быть процесса, проверяющего мою электронную почту каждые 5 секунд, так как это убьет производительность.
Я думал о триггере, активированном поп-сервером. Я обдумал все, начиная с установки Outlook и проверки моего поп-сервера каждую секунду, до разработки модуля поверх поп-сервера с открытым исходным кодом ... у меня пока нет успеха.
Что посоветуете? любое руководство будет высоко оценено.
С Уважением,
Я рекомендую вам преобразовать это из процесса опроса в процесс push. Я могу придумать пару способов:
Сделайте так, чтобы электронное письмо отправлялось на сервер Linux и сбрасывалось в каталог. Тогда беги icrond в этом каталоге. Это будет использовать inotify для немедленного выполнения действия, когда в каталоге появится новый файл.
Альтернатива: отправьте почту на сервер Linux и используйте procmail рецепт блюда. Этот рецепт может выполнять произвольную команду для этого сообщения, например:
:0
* ^To.*alert@example.com
* ^Subject.*ALERT
| ~/bin/do_trap_thingie
Любой подход работает, вероятно, проще настроить procmail.