zabbix使用企业微信机器人报警及中文乱码解决
前言:
传统企业微信创建应用方式报警目前已收费 采用免费方式 企微机器人
一、企业微信设置
企业微信创建报警机器人
如何设置群机器人 -帮助中心-企业微信
wechat.py文件留存
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
import requests import json import sys
API_URL = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=42d6sdhfj0205-77c0-4ef6-b903-2953bd705a65"
HEADERS = { 'Content-Type': 'application/json;charset=utf-8' }
def send_text(text): texts = { "msgtype": "text", "text": { "content": text } } response = requests.post(API_URL, json=texts, headers=HEADERS) print(response.content)
if __name__ == '__main__': if len(sys.argv) != 2: print("Usage: python send_text.py <text>") sys.exit(1) text = sys.argv[1] send_text(text)
|
二、zabbix设置
https://www.cnblogs.com/xiykj/p/18075308
- 脚本上传在服务器目录:/usr/lib/zabbix/alertscripts/wechat.py
- 脚本名称与后端脚本一致
1、管理 > 媒介
脚本参数:{ALERT.MESSAGE}
2、配置 > 动作 > 触发器动作 > 创建动作微信告警
动作
2.1、操作(报警发送定义)
主题
1
| 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
|
消息
1 2 3 4 5 6 7 8 9
| 告警主机:{HOSTNAME1} 告警地址:{HOST.IP} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}
|
2.2、操作(报警恢复定义)
主题
1
| 故障恢复{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}已恢复!
|
消息
1 2 3 4 5 6 7 8 9
| 恢复告警主机:{HOSTNAME1} 告警地址:{HOST.IP} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}
|
3、管理 > 用户
设置报警媒介微信报警
三、设置中文及解决中文乱码
zabbix图形界面显示方框+zabbix web页面不支持中文 - GEGEWU- - 博客园
1、zabbix不支持中文切换
1 2
| sudo apt-get install language-pack-zh-hans
|
2、中文乱码解决
2.1、从Windows系列系统复制一种中文字体:
- windows存放字体目录
C:\Windows\Fonts
复制一个中文字 SIMKAI.TTF
字体留存onedrive
查看zabbix安装路径的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| # 或者直接 whereis zabbix find / -name "fornts " # 搜索目录 find / -name "graphfont.ttf" # 备份原字体文件 cp /usr/share/zabbix/assets/fonts/graphfont.ttf{,.bak} (ubuntu部署所在目录) # 上传中文字体文件到该目录 rz # 删除软连接默认字体文件 rm -f graphfont.ttf # 将上传的字体文件重命名为 mv SIMKAI.TTF graphfont.ttf # 授予权限 刷新web页面此时生效 chmod 777 graphfont.ttf
|
备注
2、修改php配置文件(错误配置不操作)
1 2 3 4 5 6 7 8 9 10 11 12
|
cp /usr/share/zabbix/include/defines.inc.php{,.bak} vim /usr/share/zabbix/include/defines.inc.php
define(‘ZBX_GRAPH_FONT_NAME’, ‘DejaVuSans’); define(‘ZBX_FONT_NAME’, ‘DejaVuSans’);
define(‘ZBX_GRAPH_FONT_NAME’, ‘simsun’); define(‘ZBX_FONT_NAME’, ‘simsun’);
|
备注:这里不需要添加文件后缀名
最后重启:systemctl restart zabbix-server zabbix-agent nginx php7.4-fpm