Exchange to O365 Mail Flow Monitor

O365SMP.ExchangetoO365.MailFlow.Monitor (UnitMonitor)

This monitor logs into Exchange using the OnPrem Sender Profile and sends a test message to the O365 Receiver Profile. It then logs into the account specified in the O365 Receiver Profile and verifies receipt of the email from the OnPrem Sender Profile.

Knowledge Base article:

Summary

This monitor utilizes synthetic transactions to verify the flow of email from an Exchange email account to an O365 email account. This monitor has two health states, healthy and critical. The health state is determined if the synthetic transaction is or is not able to successfully complete for any reason. The synthetic transaction works by logging into a sender account using the "Exchange Sender Profile" and sending a test email to the receiver account specified in the "O365 Receiver Profile". The monitor then logs into the receiver account using the "O365 Receiver Profile" to verify the test email was received.

This monitor contains the following overridable parameters.

-Script Timeout- Default Value: 300 seconds - This set the amount of time the synthetic transaction has to complete before it errors out. The default value can be left or can be adjusted to fit the environment.

-Interval Seconds- Default Value: 900 seconds - This sets how long the monitor waits until running the synthetic transaction again. The default value can be left or can be adjusted to fit the environment.

-Enabled- Default Value: False -This need to be overridden to true for all watcher nodes. This allows the monitor to run the synthetic transaction workflows.

-O365URL- Default Value: None - This needs to be overridden and populated with the URL for the O365 EWS URL utilized in your environment.

-ExchangeURL- Default Value: None - This needs to be overridden and populated with the URL for the Exchange EWS URL utilized in your environment.

-SleepInt- Default Value: 5 seconds - This value determines how long the monitor waits between search attempts during each run of the synthetic transaction. The synthetic transaction will attempt to search for the received email 10 times. The default value can be left or can be adjusted to fit the environment.

Element properties:

TargetO365.SMP.WatcherNode.Registry.Class
Parent MonitorO365SMP.WatcherNode.Aggregate.Monitor.Availability
CategoryAvailabilityHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeO365SMP.ExchangetoO365.MailFlow.Monitor.UnitMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Exchange to O365 Mail Flow Monitor: Failure
This monitor has detected a mail flow issue while attempting to send email from an Exchange email account to an O365 email account. The account details can be found in the alert context.
RunAsDefault

Source Code:

<UnitMonitor ID="O365SMP.ExchangetoO365.MailFlow.Monitor" Accessibility="Public" Enabled="false" Target="O365.SMP.WatcherNode.Registry.Class" ParentMonitorID="O365SMP.WatcherNode.Aggregate.Monitor.Availability" Remotable="true" Priority="Normal" TypeID="O365SMP.ExchangetoO365.MailFlow.Monitor.UnitMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="O365SMP.ExchangetoO365.MailFlow.Monitor.Alert.Message">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Critical" HealthState="Error"/>
</OperationalStates>
<Configuration>
<TimeoutSeconds>300</TimeoutSeconds>
<IntervalSeconds>900</IntervalSeconds>
<SenderUser>$RunAs[Name="O365SMP.Exchange.Sender.Profile"]/UserName$</SenderUser>
<ReceiverUser>$RunAs[Name="O365SMP.O365.Receiver.Profile"]/UserName$</ReceiverUser>
<SenderPassword>$RunAs[Name="O365SMP.Exchange.Sender.Profile"]/Password$</SenderPassword>
<ReceiverPassword>$RunAs[Name="O365SMP.O365.Receiver.Profile"]/Password$</ReceiverPassword>
<O365URL>Enter O365 EWS URL</O365URL>
<ExchangeURL>Enter Exchange EWS URL</ExchangeURL>
<SleepINT>5</SleepINT>
</Configuration>
</UnitMonitor>