是否有简单但自动化的方法来测试 Exchange 是否正常运行?具体来说,我们想看看 Outlook 用户是否可以连接到 Exchange 并且电子邮件流量是否畅通。
有时我们的服务器会遇到一些虚拟内存问题,当我们尝试解决这些问题的原因时,立即知道我们的服务器已关闭会很有帮助。
答案1
几乎每个网络监控工具都有电子邮件测试。它们通常会向电子邮件地址发送电子邮件(SMTP 测试),然后检索电子邮件(POP 测试)。这在很大程度上可以验证 Exchange 是否正常运行并且电子邮件是否正常流动。例如,如果 SA 服务关闭,测试将失败;如果 IS 服务关闭,测试将失败;如果邮件存储区已卸载,测试将失败,等等。
这不会测试像 OWA 这样的组件,但您可以为其配置 HTTP 测试。
答案2
这并不能完全回答你的问题,但我写了一个脚本来监控 Exchange 服务器。(它是为 E2k3 编写的,但应该可以在 E2k7 上运行,但 E2k10 不太稳定)。就目前而言,它会检查指定的服务器是否可 ping、Exchange 服务是否正在运行、连接器是否正在运行、数据存储是否已安装,以及事务日志驱动器是否至少已满 50%(当然,阈值可以更改)。
我将其作为计划任务每 10 分钟运行一次,如果检测到问题,则发送电子邮件/寻呼机警报。如果您有独立的 SMTP 服务器(比如安静地放在某处的小型 Linux/Unix sendmail 服务器),则此方法效果最佳,因为如果您的邮件环境在单点故障处中断,则不会发生任何事情……
解决此限制(SPoF)的另一种方法是制作一个修改后的副本,从命令提示符运行,然后将结果打印到屏幕上。
这并不是说您不能修改它以输出您选择的文件格式(html/json/xml)以供仪表板读取,或触发其他类型的警报。您只受想象力的限制。
答案3
我昨天碰到了这个链接 -http://www.msexchange.org/articles-tutorials/exchange-server-2007/monitoring-operations/testing-exchange-2007-powershell-part1.html。我认为,如果您在 1 分钟、2 分钟或 5 分钟的睡眠时间内运行所需的测试命令行,解析返回的对象以查找故障情况,那么当出现故障时,您就会得到警告。