0

在此处输入图像描述请告诉我如何在 BizTalk 中的消息失败以及事件查看器中出现错误时获取电子邮件通知。

4

2 回答 2

1

我认为这取决于您的解决方案。在我开发的解决方案中,我已经确定了消息路由的大多数故障点,原因是转换错误、缺少字段等。然后将它们路由到一个编排,该编排专门只发送 SMTP 电子邮件来设置地址。这非常适合我公司的要求。- 您可以通过快速 google 找到大量 SMTP 编排示例。我从这里开始

与此同时 - 对于未知数,我还设置了一个 powershell 脚本来通过电子邮件发送 Windows 日志事件查看器的最后一条消息。我使用 BizTalk 管理控制台创建了一个自定义查看器。

<QueryList>
  <Query Id="0" Path="Application">
    <Select Path="Application">*[System[Provider[@Name='BizTalk DW Reporting' or @Name='BizTalk Server' or @Name='BizTalk Server Deployment' or @Name='BizTalk Server EDI' or @Name='ENTSSO' or @Name='XLANG/s'] and (Level=1  or Level=2)]]</Select>
  </Query>
</QueryList>

然后将其导出到 Windows 任务计划中,只要它检测到自定义查看器中有新条目,就会触发一个 powershell 脚本。

我遵循了此处为 powershell 脚本提供的粗略原则。

希望这会为您指明所需的正确方向。可能有更好的解决方案,但这工作得很好。

这是我正在使用的 powershell 脚本

$event = get-eventlog -LogName Application -Source "XLANG/s","BizTalk Server","BizTalk DW Reporting","BizTalk Server Deployment","BizTalk Server EDI","ENTSSO" -EntryType "Error" -newest 1
#get-help get-eventlog will show there are a handful of other options available for selecting the log entry you want.
$eventtime = $event.TimeGenerated


#ignore any messagebox errors
if (($event.EntryType -eq "Error"  -and $event.EventID -inotin 6998, 10514))
{
    $Source = $event.Source
    $PCName = $env:COMPUTERNAME
    $EmailBody = "$Source Error captured at " + $event.TimeGenerated + " in windows error log on BizTalk-UAT server: `n`n" + $event.Message
    $EmailFrom = "????-BizTalk-UAT@???.com"
    $EmailTo = @('????-BizTalk-UAT@???.com') 
    $EmailSubject = "BizTalk-UAT Server - Windows Log - " + $event.EntryType
    $SMTPServer = "mail.????.com"
    Write-host "Sending Email" $EmailFrom "To" $EmailTo
    Send-MailMessage -From $EmailFrom -To $EmailTo -Subject $EmailSubject -body $EmailBody -SmtpServer $SMTPServer

}
else
{
    write-host "No error found"
    write-host "Here is the log entry that was inspected:"
$event
}
于 2019-01-14T10:36:05.560 回答
0

执行此操作的“正确”方法是使用 Windows 和其他平台的监视工具。

首先,作为您的网络或服务器团队,如果他们拥有诸如 SCOM 或 Splunk 之类的工具,无论如何他们都应该使用这些工具来监控服务器。然后,您可以配置您/他们想要的任何规则,包括电子邮件。

在您的 BizTalk 应用程序中,请务必在您的异常处理代码中创建 Windows 事件(事件查看器)。

于 2019-01-12T13:12:49.197 回答