ManageEngine技术支持

微信告警动作配置步骤

1. 下载最新的脚本。从下面的地址克隆或者下载:
     从下载的文件夹中把WeChatJava文件夹复制到产品安装到主机。建议使用以下默认路径:
      Applications Manager: AppManagerXX\working\WeChatJava
      OpManager: OpManager\WeChatJava
2. 配置脚本的配置文件conf.properties:
     1)首先配置你使用的微信公众号类型
         企业号设置: 
         ACCOUNTTYPE =   企业微信填写“enterprise”
         服务号设置:         
         ACCOUNTTYPE =   服务号微信填写" service"

      2)企业微信需要配置的内容 conf.properties:

           corpid = yourCorpid
           secret = yourSecret
           AGENTID = yourAppID

          服务号需要配置的内容:

          AppID = your appid
          AppSecret = your appsecret
          MsgTemplateId = 找到消息模板OPENTM207112010,记录其ID填写到这里
          serviceTagedUsersCacheHrs = 0   微信API有日调用次数限制,可以更改获取标签用户id的周期来减少API调用。单位小时。0表示每次脚本执行都获取最新的用户列表。
   
      3) sendMsg*.bat用来直接发送消息。
            -  sendMsg.bat 可用于AppManager。
            -  sendMsg_OPM11.bat 可用于OpManager11.6及以前版本。
            -  sendMsg_OPM12.bat 可用于OpManager12版本。
         
       参数说明:
             服务号:
                  格式:sendMsg.bat <标签名> <告警URL> <严重性> <告警类型> <告警日期> <设备> <监视器组> <其他信息>
                  例子:sendMsg.bat ME测试 www.bing.com 停止 应用服务器 1999-1-1 server1 CRM系统 CPU利用率过高 88%
                                 sendMsg.bat ME测试 www.bing.com "$SEVERITY" "$MONITORTYPE" "$DATE" "$MONITORNAME" "$ATTRIBUTE"
                           
                     - 标签名:微信后台设置的用户标签。可以是多个,用|分开。
                     - 告警URL:在微信中点击告警消息打开的网页地址。

             企业微信:
                  格式:sendMsg.bat <@all> <部门名> <标签名> <其他消息>
                  例子:sendMsg.bat @all "" "" CPU利用率过高 88%
                      [更多例子参考视频]

                      - @all:发送给该应用关联所有人。或者多个用户的ID,用|分开。
                      - 部门名:微信后台设置的部门。可以是多个,用|分开。
                      - 标签名:微信后台设置的标签。可以是多个,用|分开。

3. 在产品中添加动作
      Applications Manager如下图:动作 -- 添加执行程序动作
      

   OpManager 11如下图:管理 -- 通知配置文件 -- 新建运行程序
    
   
   OpManager 12如下图:管理 -- 告警通知 -- 添加 -- 运行程序
    


故障排查:
 1. 在命令行下运行,确保可以成功发送信息。
 2. 搜索产品日志,查看命令执行日志。AppManager日志为logs\actions.txt
 3. OpManager的“运行程序”会把脚本的标准输出附加到告警信息中。如果不需要告警信息中显示命令输出,可以
     1)使用“运行系统命令”代替“运行程序”
 2)禁用脚本的标准输出。打开log4j.properites文件,在最后一行中,把console删除

参考资料:
1. 操作步骤请参考视频::
2. sendMsg*.bat的参数对于服务号和企业微信是不一样的。具体参数格式请参考bat文件中的例子。
3. WeChatJava\readme.md中是最新说明,请参考。
4. 更多信息请参考document文件夹中文章