SQL邮件预警工具:自动化数据监控与报表推送完整实现教程

背景

针对目前用户对ERP、OA、WMS等多系统数据的监控与预警需求,现有方案(如金蝶“监控方案”)虽然在配置灵活性上具有一定优势,但其在以下方面存在局限:

  1. 数据范围局限:无法有效覆盖预定义监控范围之外的业务场景;

  2. 跨系统取数限制:难以接入和整合第三方系统的数据源,制约了整体监控的覆盖度与实时性。

金数开发了MailBox程序,以实现优化监控体系的灵活性与扩展性,支持跨系统、多场景的阈值监控与定向预警。

现免费分享MailBox程序和发布部署教程,最终实现邮件预警效果如下图:

方案

定时监控预警功能通过以下两步协同实现
  1. 监控与预警执行端(MailBox监控程序)

    • 这是一个独立的Web应用程序,核心功能是主动查询ERP、OA、WMS等系统的数据。

    • 程序内可配置业务规则与阈值逻辑,当检测到符合预警条件的数据时,自动生成并发送邮件至指定负责人。

  2. 定时任务调度端

    • 为驱动监控程序定期执行,需借助外部调度工具。可选用:

      • 金蝶云星空“执行计划”,或

      • Windows Server的“任务计划程序”。

    • 该调度器按预设频率(如每5分钟)访问MailBox监控程序的特定URL(HTTP端点),从而触发一次完整的检查与预警流程。

方案优势:实现了解耦,监控逻辑与调度机制分离,便于各自维护与扩展。

程序部署

MailBox监控程序部署

下载MailBox程序,解压到有IIS服务的服务器上,本例中直接在金蝶应用服务器上部署,解压到C:\inetpub\MailBox。

Web.config文件中修改数据库连接配置和邮件发送服务器配置。

ConnectionString,值内容改成要查询数据库名称用户名和密码

SMTP,邮件发送服务器的SMTP配置,截图中是阿里云企业邮箱的SMTP,其他服务器联系邮箱服务商获取。

SMTPort,邮件服务器SMTP端口

emailSender,邮件发送人邮件地址

senderNickName,邮件发送人别名

encryptedPassword,邮件发送人邮箱密码,以密文形式填写,需要联系我们获取加密工具加密后填写,无加密工具请留空。

senderPassword,邮件发送人邮箱密码的明文。

ccAddresses,发送邮件抄送人。此处配置了操作人后所有通过程序发送的邮件都会抄送给他。

config.json文件中修改监控任务,内容必须是json格式,有多个监控任务,请添加Tasks内节点。

querySql,查询数据的sql语句,查询不到数据不发送

mailSubject,邮件主题

contentType,邮件内容格式,table为数据表格,效果如本文第一效果图

mailTo,邮件收件人,多收件人逗号或分号分隔,支持角括号包裹格式如下图。

ccRecipients,抄送人,多收件人逗号或分号分隔,支持角括号包裹格式如下图。

Logs文件夹为日志目录,存储程序执行后的日志记录,为保证日志正常写入,添加IIS_IUSRS用户组的修改权限,如下图。

最后把MailBox添加到默认站点下的应用程序,如下图。

定时任务调度程序

使用金蝶“执行计划”作为定时任务调度端。

把解压后的“金蝶执行计划dll”目录下的“Gold.ScheduledTask.dll”文件剪切到金蝶web程序bin目录,金蝶应用程序安装在C盘的为“C:\Program Files (x86)\Kingdee\K3Cloud\WebSite\bin”

 

 

有权限添加执行计划的用户登录后添加“执行计划”

关键参数说明

执行时间和间隔请按实际需求填写。

服务插件:GoldBank_Task_GetTradeDetail.GetTradeDetail,GoldBank_Task_GetTradeDetail

参数表单Id:post或者留空

参数:http://localhost/MailBox/SqlDataMailer.aspx

参数是要访问的网址,本文和金蝶部署在一起所有直接填写从金蝶应用服务器能访问到的网址。

 

如无金蝶服务器使用Windows计划任务定时触发以上网址访问实现任务调度。

 

暂无评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

本站提供金蝶、钉钉等开发实施相关技术文章的发布和转载。如有侵权,联系立删(info@zjgkd.cn) 。
苏公网安备32058202011935 · 苏ICP备13058196号-11
Powered by WordPress