Как мониторить новые письма за определенный промежуток времени в почтовом ящике Exchange?
Ситуация такая созданы 6 почтовых ящик (как я понял по одному в каждой базе Exchange), которые посредством скрипта на PS отправляют друг другу письма раз 2 часа.
Необходимо мониторить новые письма полученные за последние два часа, в каждом из 6 почтовых ящиков. Далее отправлять уведомление по почте, о наличии или отсутствии новых писем заинтересованному лицу. В случае наличия новых писем за последние два часа в ящиках, отправляется письмо - всё ок, письма в наличии. Если новые письма отсутствуют за последние 2 часа, то прописывается в каких из 6 ящиках отсутствуют новые письма и отправляется уведомление.
Возможно ли это реализовать на самом Exchange или может с помощью какого то софта ? Так же думал как это можно сделать на PS, но каких то конкретных примеров не получилось сделать, опыта маловато.
С такой формулировкой я бы сделал тупо правило пересылки - при поступлении любого письма на любой из шести ящиков отправлять копию этого письма руководству.
Когда им надоест все эти письма читать, может они пересмотрит требования к проверке работоспособности почты.
А вообще за счёт чего на самом Exchange осуществляется мониторинг того, что все письма ходят как внутри компании и так и наружу без проблем уходят ? Уточню у админа, может это у нас уже настроено и мы пытаемся велосипед изобрести.
А вообще за счёт чего на самом Exchange осуществляется мониторинг
Сергей, HealthMailbox в каждой базе есть и Exchange что-то с ним делает.
Правда, в подробности не вдавался
Можно посмотреть что там, как раз настроив правила пересылки. Если что-то, что сможет убедить руководство, то, как говорил Владимир, таки настроить пересылку из этих ящиков на руководство.
Насколько я знаю, проверки там чаще, чем раз в 6 часов, это должно выглядеть убедительно
Сергей,
Если любопытно, PRTG мониторит Exchange с помощью Powershell и WMI в том числе.
Можно покопаться у них на форуме, а что-то они и на GitHub выкладывают.
Но это, скорее, для саморазвития пригодится, потому что в условиях данной задачи (админ Exchange говорит, что мониторинг настроен) получается получается классический вопрос - "Quis custodiet ipsos custodes?"
Нужен инструмент, который контролирует, работает ли почта? А кто контролирует, работает ли инструмент, который контроллирует?
В концепции электронной почты весьма конкретно определена зона ответственности.
На чем основаны сомнения, что почта будет приходить? - Получив ответ на этот вопрос можно будет скорректировать задачу, чтобы она стала "решаемой".
Владимир, С руководителем сегодня ещё раз пообщался сегодня, когда он вернулся с совещания где тему эту и поднимали. Как сказали хотят мониторить сервис именно со стороны пользователя, уходят ли письма и приходят ли они. Видят это так, при отправке письма с тестового ящика на другой тестовый ящик , если письмо по истечению нескольких попыток не уходит, то создаётся письмо с алертом. Так же если письмо на другой ящик в течении определённого времени не приходит - создаётся письмо с алертом.
Ещё говорят, что должна быть программа, которая может собирать письма с ящиков и выполнять что то на подобии выше описанного функционал.
Первое что мне пришло в голову это был Outlook о чём я и сказал, но там насколько я помню нет возможностей отслеживания попыток отправки сообщения и на основе этого слать алерты. Сказали что должны быть какие то сортировщики которые могут обрабатывать почту с заданным функционалом. Я правда такого так ниче и не нашёл, всё сводилось к различным почтовым клиентам.
Сергей, какой-то паранойей попахивает...у вас настолько плохо работает почта, что надо изобретать описанный "веселопед"? Электронная почта не является средством мгновенного обмена сообщениями...
1. самое простое - уведомление о доставке. Если внутри организации - то можно насильно заставить использовать, если письмо внешнему адресату - скорее всего, запрос о доставке будет проигнорирован
2. мониторинг очередей на сервере Exchange (Get-Queue и т.д.)
3. мониторинг транспортных логов (Get-MessageTrackingLog, указав отправителя/получателя и события RECEIVE/SEND и т.д.)
4. мониторинг состояния Exchange Transport
Get-ExchangeServer | ForEach {Get-ServerHealth $_.Name | where {($_.AlertValue -eq "Unhealthy") -and ($_.HealthSetName -like "*Transport*")} | ft -auto}
Get-ExchangeServer | ForEach {Get-HealthReport -Identity $_.Name | where {($_.AlertValue -eq "Unhealthy") -and ($_.HealthSetName -like "*Transport*")} | ft -auto}
5. Ну и после этого можно начинать разбираться вплотную:
Сергей,
Смотрите, если почта работает - значить письма ходят. Если не работает - не ходят.
Мониторинг работоспособности электронной почты строится на проверке работоспособности компонентов электронной почты.
Вот, пример выше от Роман Безруков, по сути, сводится к проверке работоспособности сервера Exchange - если сервер сигнализирует что что-то не так, надо его "лечить".
А вы (ну ладно, руководство) хотите в обратную сторону: берете утверждение "если письма ходят - значит почта работает" и пытаетесь его инвертировать.
А если есть объективные причины?
Письмо не пришло, так как является спамом?
А если письмо не ушло из-за слишком большого вложения?
А если ящик переполнен?
если письмо на другой ящик в течении определённого времени не приходит - создаётся письмо с алерто
А это опять то, о чем я выше писал - а если письмо с алертом не уйдёт (или не придёт)?
Придётся думать о том, как смастерить велосипед, проверяющих отправку алертов?
То есть, Вы можете сделать видимость системы контроля, возможно, начальник оставит Вас в покое.
А если же цель - разрешить проблему, то надо в обязательном порядке получить ответ на вопрос "Почему есть опасения, что почта не будет ходить?"
Без этого никак.
Ещё говорят, что должна быть программа
Ещё говорят, что политики должны быть честными, например.
Программ, которые занимаются выемкой (т. е. получают письма и на основании содержимого выполняют действий) почты довольно много - CRM, help desk / service desk и т. д.
Программ, которые используют выемку почты как способ мониторинга работоспособности я не встречал.
Да и кому они могут понадобится? Если почта работает - это не значит, что кто-то будет писать письма...
Владимир, я ещё дополню: в Exchange Server, начиная с 2013, используется специальный механизм самодиагностики Managed Availability (Health Mailboxes как раз часть этого механизма и активно используются для разного рода встроенных проверок и тестов), Exchange сам регулярно проверяет все свои сервисы на работоспособность и, в случае неполадок, предпринимает разные способы восстановления сбойного сервиса. Система не без вопросов, но работает...
А вот таким способом у нас хотят проверять хождение в писем между ящиками. Если письма в тестовых ящиках присутствую то значит всё ок, если нет то проблема. Администратор Exchage говорит, что у него мониторинг серверов и баз в принципе настроен, но руководство говорит, что надо ещё вот так и не убедить их =/