windows批处理bat脚本实现微信告警——运维监控系统WGCLOUD
本文是在windows系统用bat方式实现微信告警,Linux系统用shell方式实现微信告警请点击此处
1、首先下载curl工具,并配置环境变量path,安装包里有使用说明
https://www.wgstart.com/help/docs8.html
2、下载微信发送消息工具https://www.wgstart.com/help/docs8.html,下载后和server放到同一个主机上,运行即可,不要关闭,因为bat会调用这个服务
也可以将它注册为系统服务,就可以隐藏窗口运行了,查看说明
3、我们要去注册企业微信了,然后创建一个应用,记得以下图片中的标红信息,企业ID,应用ID,应用Secret
4、新建一个sendMsg_weixin.bat文件,此处目录和文件名称是为测试方便,自己可以根据实际场景自定义,内容如下
@echo off echo warn content is : %1 set timeHour=%time:~0,2% set timeMin=%time:~3,2% set timeSec=%time:~6,2% set content="WGCLOUD: %timeHour%:%timeMin%:%timeSec%, %1" set content=%content:"=% set ding_url="http://192.168.1.9:10000" curl -H "Content-Type: application/json" -d "{\"content\":\"%content%\"}" -s %ding_url%
其中192.168.1.9为wgcloud-msg所在主机的IP,我们改成自己的实际IP
5、修改wgcloud-msg/config/application.properties配置,修改企业微信应用配置部分,如下
#本程序的端口 msgPort=10000 #wgcloud-server端访问地址,将下方替换为server主机IP和web端口即可 serverUrl=http://localhost:9999 #企业微信应用告警方式,不需要此方式告警,就不用填写或重置为空 #微信企业ID cropID=xxxxxxxx #企业微信应用Secret secret=xxxxxxxxxxxx #企业微中的应用id appID=xxxxxx #接受部门成员id,微信接收者,多个接收者用|隔开,如'zhangsan|lisi' userID=xxxxxxx #企业微信机器人告警方式,access_token即为webHook地址的最后的key值,不需要此方式告警,就不用填写或重置为空 qywxAccessToken= #钉钉机器人告警方式,access_token即为机器人webHook地址的最后的access_token值,不需要此方式告警,就不用填写或重置为空 ddAccessToken= #飞书告警方式,webhook即为飞书机器人webHook地址,不需要此方式告警,就不用填写或重置为空 fsTitle= fsWebhook= #邮件告警方式,不需要此方式告警,就不用填写或重置为空 #发送邮箱SMTP服务器,如smtp.qq.com smtpHost= #发送邮箱的SMTP端口,如25或465 smtpPort= #发送邮箱帐号,如test@qq.com smtpUsername= #发送邮箱密码,如123456 smtpPassword= #接受邮件,多个邮件用;隔开,如test@qq.com smtpToUser= #告警邮件标题前缀,此功能需升级到专业版 mailTitlePrefix=[WGCLOUD]监测平台告警 #告警邮件内容后缀,此功能需升级到专业版 mailContentSuffix=WGCLOUD敬上
修改如上xxxxxxxx部分,即为企业应用的配置信息,其它告警方式不用可以保持为空状态,修改完成后保存
部门成员ID查看方式如下图,鼠标放在成员名字上即可看到账号,即是成员ID
6、bat测试
7、测试完成,修改/server/config/application.yml
#告警脚本文件,可以为空,参考:/server/template/sendMsg.sh
warnScript: d:\sendMsg_weixin.bat
#是否将告警脚本内容转为unicode,yes是,no否,在windows执行告警脚本时,一般需要转码,否则接受到会是乱码
warnToUnicode: yes
注意要把warnToUnicode改为yes,不然钉钉接收到会是乱码,此配置项是v3.3.6新增的特性。
另外告警脚本文件需要填写完整的路径
8、好了,重启server,这样就可以在微信收到告警消息了