이 글에서는 주로 WeChat 알람 Zabbix 방식에 대한 관련 정보를 소개하고 있습니다. 필요한 친구들은 참고하시면 됩니다.
실제 제작 환경에서는 Zabbix 알람 정보를 받기 위해 주로 이메일과 SMS를 사용하지만, 이메일은 업무에 자주 사용됩니다. 직원은 구석에 남겨지거나 심지어 스팸으로 필터링되도록 설정됩니다. 회사의 SMS 인터페이스는 너무 비싸고 복잡한 환경에서 SMS 알람을 사용하면 운영 및 유지 관리 비용이 많이 증가합니다. WeChat은 우수한 타사 인터페이스를 제공하여 운영 및 유지 관리 비용을 줄이기 위해 WeChat을 사용하여 경보를 울릴 수 있습니다.
WeChat의 제3자 인터페이스를 사용하려면 먼저 기업 계정을 신청해야 합니다. 포털: https://qy.weixin.qq.com/
기업 계정은 어떻게 운영하나요?
1. 주소록에 기업회원 추가
소속부서에 회원정보를 미리 추가해야 하며, 필수항목 + 휴대폰번호 또는 위챗을 이용해주세요. ID이므로 다른 사람이 QR 코드를 스캔해야만 기업 계정을 성공적으로 팔로우할 수 있습니다.
참고: 여기서 사용해야 하는 정보는 조직의 부서 ID와 부서 구성원의 계좌 번호라는 두 가지 정보입니다(계좌 번호는 WeChat ID와 달리 사용자가 수동으로 지정하는 것이 가장 좋습니다. 문자, 숫자 사용)
2. 지원센터에서 지원서를 작성하세요
여기에서 애플리케이션을 만들고 싶습니다. 앱을 통해 부서 구성원에게 메시지 보내기
참고: 여기에서 애플리케이션 ID
값을 기억하세요.
3. 부서 관리자 설정
설정--->기능 설정--->권한 관리---> ;새 관리 그룹 생성
관리자 기업 계정을 미리 팔로우하고 이메일 주소를 설정해야 합니다
관리자가 주소록을 확인하고 앱을 사용하여 메시지를 보내세요.
참고: 관리자의 CorpID 및 비밀번호가 필요합니다
다음 사항을 준비해야 합니다.
WeChat 기업 계정
부서원이 기업 계정을 팔로우하고 있습니다
기업 계정에 메시지를 보낼 수 있는 애플리케이션이 있습니다
승인된 관리자가 애플리케이션을 사용하여 구성원에게 메시지를 보낼 수 있습니다
이 정보를 얻고 싶습니다:
회원 계정
조직 부서 ID
애플리케이션 ID
CropID
비밀
WeChat 인터페이스를 호출하는 방법은 무엇입니까?
WeChat 인터페이스를 호출하려면 인터페이스 호출을 위한 인증서가 필요합니다: access_token
Access_token은 CropID, Secret을 통해 얻을 수 있지만 얻은 토큰은 2분 동안 유효합니다
微信企业号接口调试工具传送门:http://qydev.weixin.qq.com/debug
Shell脚本原理
使用:
curl -s -G url 获取 AccessToken
使用:
curl --data url 传送凭证调用企业号接口
zabbix会传递三个参数给脚本,$1是消息接收账号,$2报警标题,$3报警内容
#!/bin/bash ###SCRIPT_NAME:weixin.sh### ###send message from weixin for zabbix monitor### ###wuhf### ###V1-2015-08-25### CropID=‘xxxxxx‘ Secret=‘xxxxxx‘ GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" ‘{print $4}‘) PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken" function body() { local int AppID=3 企业号中的应用id local UserID=$1 部门成员id,zabbix中定义的微信接收者 local PartyID=1 部门id,定义了范围,组内成员都可接收到消息 local Msg=$(echo "$@" | cut -d" " -f3-) 过滤出zabbix中传递的第三个参数 printf ‘{\n‘ printf ‘\t"touser": "‘"$User"\"",\n" printf ‘\t"toparty": "‘"$PartyID"\"",\n" printf ‘\t"msgtype": "text",\n‘ printf ‘\t"agentid": "‘" $AppID "\"",\n" printf ‘\t"text": {\n‘ printf ‘\t\t"content": "‘"$Msg"\""\n" printf ‘\t},\n‘ printf ‘\t"safe":"0"\n‘ printf ‘}\n‘ } /usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
为什么要这样写脚本?
因为微信企业号开放的端口有固定的格式限制
企业号支持的格式:http://qydev.weixin.qq.com/wiki/index.php?title消息类型及数据格式
将脚本放入zabbix默认执行路径下
mv weixin.sh /usr/local/zabbix/share/zabbix/alertscripts
chown zabbix.zabbix /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh
chmod +x /usr/local/zabbix/share/zabbix/alertscripts/weixin.sh
服务器端
1.创建媒介
2.创建用户
3.创建触发器动作发送内容
4.设置触发器动作发送方式
收到的微信消息:
以上就是微信报警 zabbix 的资料整理,后续继续补充相关资料,谢谢大家对本站的支持!
更多微信报警 zabbix实现详解相关文章请关注PHP中文网!