Exchange Mail Flow Monitor (Receiver Part)

Mail_flow_receiver.Monitor (UnitMonitor)

Knowledge Base article:

Summary

This monitor verifies if the messages generated by the Mail Flow Monitoring (Sender) are received and how long this deliver took. Alerts will be generated if test e-mails are not received within the defined interval.

The Mail Flow receiver and sender monitor are active each server or virtual server running Exchange 2003 to send mail to other servers running Exchange 2003, and to receive mail from another server. If the mail flow between the servers is interrupted, mail administrators can be notified before a user experiences a problem.

The mail flow verification scripts use the mailbox (<servername>MOM) that is created for MAPI logon verification, Frontend services (OWA, OMA, EAS).

Resolutions

If messages can be sent and received, the servers running Exchange and their components are functioning. If messages are not received, an alert is raised and you are able to quickly investigate the issue, potentially before your customers notice a change in their ability to send and receive e-mail messages.

The receiver monitor verifies whether the test e-mail messages sent by the sender monitor are received within the specified time, referred to as the Schedule or Interval, and how long delivery took, referred to as the Allowed Latency or Latency. The Health State of mail flow changes to critical and alerts are generated if test e-mail messages are not received within the specified Schedule and the number of attempts has been exceeded, referred to as Max Missed Runs or Number of max missed runs. The default number of attempts is 4. The receiving monitor also generates an alert if it took longer to receive the e-mail message than the allowed latency, for which the default is 60 seconds.

Important:

The interval must be identical on the sending and receiving servers. The rule Performance Collection Rule for Mail flow receiver and the monitor Exchange Mail Flow Monitor (Receiver Part) must have the same override values for the parameters that they share

Usually this is a "Send As" permission, which applies to the identity of an Active Directory user object, not to mailbox contents stored in a database. When e-mail messages are sent, they are not sent from a particular mailbox or database, but from a user. The user may be the mailbox owner or any other account that has the Send As permission.

To resolve the issue for the Exchange Management Pack follow these steps:

Verify the following items to resolve this problem:

Check the server sending the message and ensure that it is working properly. Verify that the delivery queues are emptying regularly, that mailboxes are accessible, and that the services are working properly

Check the server receiving the message and ensure that it is working properly and receiving mail from other sources.

Check the configuration required by the receiver script.

Views Exchange Mail Flow Overview

Tasks Launch Exchange System Manager

Configuration

Use the Exchange Management Pack Configuration Wizard or for each server participating in the mail flow verification (either as senders, receivers, or both).

In addition, overrides can be applied to this monitor.

The interval and timeout of this monitor can be customized to control the frequency at which test e-mails are generated (by default every 15 minutes) and a timeout value (by default 60 seconds). If the values are changed, they have to be changed the same way for the "Exchange Mail Flow Monitor (Receiver Part)", "Exchange Mail Flow Monitor (Sender Part)" as well as for the "Performance Collection Rule for Mail flow receiver" data collection rule.

MaxSafeMissedRuns: Configure the number of failed attempts to receive mail before an alert is generated (the default is 0 attempts). If the values are changed, they have to be changed the same way for the "Exchange Mail Flow Monitor (Receiver Part)" as well as for the "Performance Collection Rule for Mail flow receiver" data collection rule.

LatencyThreshold: Acceptable latency for the e-mail delivery for Mail Flow to be considered ok (the default is 60 seconds). If the values are changed, they have to be changed the same way for the "Exchange Mail Flow Monitor (Receiver Part)" as well as for the "Performance Collection Rule for Mail flow receiver" data collection rule.

MaxNegativeLatency: Negative latency indicates that there is a clock sync problem between the sending and the receiving Exchange server. The monitor will cause an alert if the clocks are skewed by more that this threshold (the default is 30 seconds). If the values are changed, they have to be changed the same way for the "Exchange Mail Flow Monitor (Receiver Part)" as well as for the "Performance Collection Rule for Mail flow receiver" data collection rule.

Although it is recommended to configure the sending and receiving Exchange server through the Configuration Wizard, you can also manually configure via the registry to specify the server that will send or receive e-mails:

The keys are in each server or virtual server running Exchange 2003:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\

Exchange MOM\Mail Flow\<Servername>

Under this key, create a string value named SendTo as a string and set its value to a comma delimited list containing the server names to which this server will send mail. If the server does not send mail, you must keep this entry empty.

Under the same key, create a string value named ExpectedFrom as a string and set its data to comma-delimited list of all servers from which mail is expected to be sent to server. If the server is not expecting mail from another server, you must keep this entry empty.

Element properties:

TargetMicrosoft.Exchange.SyntheticTransaction.Mailflow
Parent MonitorSystem.Health.AvailabilityState
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMail_flow_receiver.Monitortype
RemotableTrue
AccessibilityPublic
Alert Message
Mailflow monitor (receiver) reported a problem
See other alerts for details on the problem
RunAsDefault

Source Code:

<UnitMonitor ID="Mail_flow_receiver.Monitor" Accessibility="Public" Enabled="onStandardMonitoring" Target="Exch2003Core!Microsoft.Exchange.SyntheticTransaction.Mailflow" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Mail_flow_receiver.Monitortype" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Mail_flow_receiver.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="VerifyMailFlowReceiverOK" MonitorTypeStateID="VerifyMailFlowReceiverOK" HealthState="Success"/>
<OperationalState ID="VerifyMailFlowReceiveBad" MonitorTypeStateID="VerifyMailFlowReceiveBad" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>900</IntervalSeconds>
<SyncTime>00:10</SyncTime>
<TargetNetbiosComputer>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetbiosComputerName$</TargetNetbiosComputer>
<MaxSafeMissedRuns>0</MaxSafeMissedRuns>
<LatencyThreshold>60</LatencyThreshold>
<MaxNegativeLatency>30</MaxNegativeLatency>
<TimeoutSeconds>300</TimeoutSeconds>
</Configuration>
</UnitMonitor>