Oracle数据库调用企业微信发送运维告警消息

运维系统在发生告警时需要及时将告警信息通知给运维部门。以前是通过短信方式通知。经过探索,我们找到了使用微信企业号来发送告警消息的方法。
运维系统后台数据库为Oracle。另外在专用服务器上安装了EasySQLMAIL(1.0.1207)。

1、在公司的企业微信上创建一个新应用“运维告警台”,并将运维部门加入应用的可见范围。

Oracle数据库调用企业微信发送运维告警消息

2、在EasySQLMAIL中配置好微信企业号和“运维告警台”应用的信息。主要是要把企业微信的CorpID和应用的AgentId及Secret配置进去。

Oracle数据库调用企业微信发送运维告警消息

Oracle数据库调用企业微信发送运维告警消息

3、在EasySQLMAIL中配置好运维系统的数据库信息,并启用数据源上的“外部接口”,允许在运维系统数据库中调用EasySQLMAIL的消息发送能力。

Oracle数据库调用企业微信发送运维告警消息

4、上述配置好后,EasySQLMAIL会在运维数据库中创建一个名为EASYSQLMAIL_WX_INTF的表。在有告警消息时,将要发送的告警消息插入这个接口表即可。
例如
INSERT INTO EASYSQLMAIL_WX_INTF(wx_app_id,content,to_user) (1,'模块8有告警。方向:新南路2号光交接箱,请及时处理。','@all');
语句中"1"是“运维告警台”应用在EasySQLMAIL中的ID,可在EasySQLMAIL的“消息通道管理"中查到。@all表示发送给此此应用或见的所有人。当然也可以指定发给某一个人。

Oracle数据库调用企业微信发送运维告警消息

除了Oracle,此方法也适用于SQL Server、MySQL、PostgreSQL、Informix数据库。同时还可以使用EasySQLMAIL的邮件功能将告警的详细信息发送到相关人员的邮箱。