windows批处理bat脚本实现微信告警——运维监控系统WGCLOUD

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,这样就可以在微信收到告警消息了

 

posted @ 2021-09-29 11:26  沧海1980  阅读(1409)  评论(0编辑  收藏  举报