zabbix-web-operate

Posted 芒果牛奶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix-web-operate相关的知识,希望对你有一定的参考价值。

1、切换页面中文

页面右上角人物图标[Admin (Zabbix Administrator]---User----Language---Chinese(zh_CN)---Update

2、显示中文字符乱码
从windows机器拷贝一份字体文件(如:simkai.ttf)到 /var/www/html/zabbix/fonts/目录下
vi /var/www/html/zabbix/include/defines.inc.php

define(\'ZBX_GRAPH_FONT_NAME\',         \'graphfont\')  -->  define(\'ZBX_GRAPH_FONT_NAME\',         \'simkai\')
define(\'ZBX_FONT_NAME\', \'graphfont\');   -->    define(\'ZBX_FONT_NAME\', \'simkai\');

3、添加监控主机
配置--主机--创建主机    agent代理程序的接口:IP地址填写客户端ip地址
模版--选择--选择--添加--添加

4、导入导出模版
导出:配置--模版--选择模版--导出
导入:配置--模版--导入--选择模版文件--导入

5、微信告警
cat /etc/zabbix/zabbix_server.conf |grep \'AlertScriptsPath\'
将微信脚本放置到AlertScriptsPath指定的位置

vi wechat.py

<code>

#!/usr/bin/python
#_*_coding:utf-8 _*_


import urllib,urllib2
import json
import sys
import json

reload(sys)
sys.setdefaultencoding(\'utf-8\')


def gettoken(corpid,corpsecret):
    gettoken_url = \'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=\' + corpid + \'&corpsecret=\' + corpsecret
#    print  gettoken_url
    try:
        token_file = urllib2.urlopen(gettoken_url)
    except urllib2.HTTPError as e:
        print e.code
        print e.read().decode("utf8")
        sys.exit()
    token_data = token_file.read().decode(\'utf-8\')
    token_json = json.loads(token_data)
    token_json.keys()
    token = token_json[\'access_token\']
    return token



def senddata(access_token,user,subject,content):

    send_url = \'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=\' + access_token
    send_values = {
        "touser":user,
        "toparty":"1",
        "msgtype":"text",
        "agentid":"xxx",     #应用id
        "text":{
            "content":subject + \'\\n\' + content
           },
        "safe":"0"
        }
#    send_data = json.dumps(send_values, ensure_ascii=False)
    send_data = json.dumps(send_values, ensure_ascii=False).encode(\'utf-8\')
    send_request = urllib2.Request(send_url, send_data)
    response = json.loads(urllib2.urlopen(send_request).read())
    print str(response)


if __name__ == \'__main__\':
    user = str(sys.argv[1])         #zabbix传过来的第一个参数
    subject = str(sys.argv[2])      #zabbix传过来的第二个参数
    content = str(sys.argv[3])      #zabbix传过来的第三个参数

    corpid =  \'xxxx\'
    corpsecret = \'xxxx\'
    accesstoken = gettoken(corpid,corpsecret)
    senddata(accesstoken,user,subject,content)

</code>

 chmod 755 wechat.py

zabbix-web页面
管理--报警媒介类型--创建媒体类型

名称:wechat
类型:脚本
脚本名称:wechat.py
脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

管理--用户--Admin--报警媒介--添加
类型:wechat
收件人:微信号


配置--动作--事件源(触发器)--创建动作
动作:名字随意
操作:
     默认接收人:python脚本的第二个参数(如:=======告警通知=========)
     默认信息:
               环境:小机房
               主机: {HOSTNAME1}
               信息: {TRIGGER.NAME}
               项目: {TRIGGER.KEY1}
               详情: {ITEM.NAME}:{ITEM.VALUE}
               内容: {TRIGGER.STATUS}
               时间: {EVENT.DATE} {EVENT.TIME}
     操作:新的
         步骤持续时间:60
         发送到用户:Admin
         仅送到:wechat

恢复操作:
     默认接收人:python脚本的第二个参数(如:=======告警通知=========)
     默认信息:
               环境:小机房
               主机: {HOSTNAME1}
               信息: {TRIGGER.NAME}
               项目: {TRIGGER.KEY1}
               详情: {ITEM.NAME}:{ITEM.VALUE}
               内容: {TRIGGER.STATUS}
               时间: {EVENT.DATE} {EVENT.TIME}
     操作:新的
         操作类型:发送消息
         发送到用户:Admin
         仅送到:wechat

以上是关于zabbix-web-operate的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数