python 脚本

  1. cat alertscripts/alert-mc-web210908.py
  2. #!/usr/bin/python
  3. # -*- coding: utf-8 -*-
  4. import requests
  5. import json
  6. import sys
  7. import os
  8. headers = {'Content-Type': 'application/json;charset=utf-8'}
  9. api_url = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=6e639ed4-d81d-4646-84d6-00@dfc075d2f48a"
  10. def msg(text):
  11. json_text= {
  12. "msgtype": "text",
  13. "text": {
  14. "content": text
  15. },
  16. }
  17. print requests.post(api_url,json.dumps(json_text),headers=headers).content
  18. if __name__ == '__main__':
  19. text = sys.argv[1]
  20. msg(text)

配置告警媒介

image.png

配置脚本参数

image.png

配置告警动作

image.png

image.png


告警消息通知

告警恢复

  1. ### 告警
  2. 默认接收:{TRIGGER.STATUS}: {EVENT.NAME} {TRIGGER.NAME}
  3. Status: {TRIGGER.STATUS}
  4. Trigger: {TRIGGER.NAME}
  5. IP: {HOST.IP1}
  6. {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}
  7. ID: N{TRIGGER.ID}
  8. DATE: {EVENT.DATE} {EVENT.TIME}
  9. ### 恢复
  10. 默认接收:{TRIGGER.STATUS}: {EVENT.NAME} {TRIGGER.NAME}
  11. Status: {TRIGGER.STATUS}
  12. Trigger: {TRIGGER.NAME}
  13. IP: {HOST.IP1}
  14. {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}
  15. ID: N{TRIGGER.ID}
  16. DATE: {EVENT.DATE} {EVENT.TIME}

告警通知中文版

  1. #################
  2. 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
  3. 故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
  4. 告警主机:{HOSTNAME1}
  5. 告警地址:{HOST.IP}
  6. 告警时间:{EVENT.DATE} {EVENT.TIME}
  7. 告警等级:{TRIGGER.SEVERITY}
  8. 告警信息: {TRIGGER.NAME}
  9. 告警项目:{TRIGGER.KEY1}
  10. 问题详情:{ITEM.NAME}:{ITEM.VALUE}
  11. 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
  12. 事件ID:{EVENT.ID}
  13. 恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
  14. 恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
  15. 告警主机:{HOSTNAME1}
  16. 告警地址:{HOST.IP}
  17. 告警时间:{EVENT.DATE} {EVENT.TIME}
  18. 告警等级:{TRIGGER.SEVERITY}
  19. 告警信息: {TRIGGER.NAME}
  20. 告警项目:{TRIGGER.KEY1}
  21. 问题详情:{ITEM.NAME}:{ITEM.VALUE}
  22. 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
  23. 事件ID:{EVENT.ID}

告警通知系统默认

  1. ################
  2. ### 告警
  3. 默认接收:{TRIGGER.STATUS}: {EVENT.NAME}
  4. Status: {TRIGGER.STATUS}
  5. Trigger: {TRIGGER.NAME} IP: {HOST.IP1}
  6. {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}
  7. ID: N{TRIGGER.ID} {EVENT.DATE} {EVENT.TIME}
  8. ### 恢复
  9. 默认接收:{TRIGGER.STATUS}: {EVENT.NAME}
  10. Status: {TRIGGER.STATUS}
  11. Trigger: {TRIGGER.NAME} IP: {HOST.IP1}
  12. {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}
  13. ID: N{TRIGGER.ID} {EVENT.DATE} {EVENT.TIME}
  14. #####################

告警通知效果

image.png

zabbix 中文乱码字体替换

wget http://y.downya.com/soft/simkai_downyi.com.zip
unzip simkai_downyi.com.zip


cd /data/www/zabbix/include/

cp defines.inc.php defines.inc.php_bak

......
define('ZBX_FONTPATH',                          realpath('assets/fonts')); // where to search for font (GD > 2.0.18)
//define('ZBX_GRAPH_FONT_NAME',         'DejaVuSans'); // font file name
define('ZBX_GRAPH_FONT_NAME',           'simkai'); // font file name
define('ZBX_GRAPH_LEGEND_HEIGHT',       120); // when graph height is less then this value, some legend will not show up
......
* 注释原来的行,新增下面的行
define('ZBX_GRAPH_FONT_NAME',           'simkai');