• Zabbix配置优化


    1、zabbix开启中文语言
    zabbix是一个多语言监控系统,默认使用英文并且也支持中文语言,详见《zabbix汉化方法》,但是安装zabbix里面看不到中文语言.请往下看:

    ![](http://i2.51cto.com/images/blog/201808/01/fd9e7ba3e80d17a1c883681d68cb0b47.jpg?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
    
        开启zabbix对中文的支持:
        原来zabbix默认把对中文的支持给关闭了,我们需要修改zabbix的php源文件. 修改站点根目录下include/locales.inc.php文件.
        # vim include/locales.inc.php
        function getLocales() {
        return array(
                'en_GB' => array('name' => _('English (en_GB)'),        'display' => true),
                'en_US' => array('name' => _('English (en_US)'),        'display' => true), 
                'bg_BG' => array('name' => _('Bulgarian (bg_BG)'),      'display' => true),
                'zh_CN' => array('name' => _('Chinese (zh_CN)'),        'display' => true),
                //原本这里为false,请改为true
                ...........代码省略掉........
        );
    }

    2、 设置中文界面

    Zabbix配置优化

    3、上传本地中文字体,因为zabbix自带的中文字体在图形展示方面容易出现乱码

    Zabbix配置优化

    Zabbix配置优化

    致此,ZABBIX设置中文界面以及修改字体完成。

    4、启动zabbix server自身监控

    Zabbix配置优化

    5、数据库字符优化:
    由于设置邮件告警后,告警内容或告警标题中文显示为乱码,所以需要对数据库里的字符集进行配置优化。
    mysql> show variables like '%char%';
    +--------------------------+----------------------------+
    | Variable_name | Value |
    +--------------------------+----------------------------+
    | character_set_client | utf8 |
    | character_set_connection | utf8 |
    | character_set_database | latin1 |
    | character_set_filesystem | binary |
    | character_set_results | utf8 |
    | character_set_server | latin1 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.03 sec)
    ##查看mysql字符集,修改character_set_database和character_set_server的字符为utf8,global表示全局生效,修改后,需要重启mysql与zabbix服务。
    mysql> set global character_set_database='utf8'; 
    Query OK, 0 rows affected (0.00 sec)

    mysql> set global character_set_server='utf8';
    Query OK, 0 rows affected (0.00 sec)

    mysql>

    6、打开并配置自定义脚本
    编辑/usr/local/etc/zabbix_server.conf文件,zabbix安装方式不通,存放的位置也不同,只要是编辑zabbix_server.conf配置文件即可。

    # Mandatory: no
    # Default:
    # AlertScriptsPath=${datadir}/zabbix/alertscripts
    AlertScriptsPath=/etc/zabbix/bin

    配置AlertScriptsPath脚本存放路径,没有目录创建相应目录。

    7、告警的方式
    邮件告警zbmail.sh:

        #!/bin/sh
    
    /usr/bin/sendEmail -f cloudservice@haierubic.com -t $1 -s mail.haierubic.com -u "$2" -xu cloudservice -xp t2vwN4JXPO  -m "$3"
    time=`date +"%Y-%m-%d"`
    echo "`date`    $1      $2">>/var/log/zabbix/zbx_mail-$time.log

    短信告警zbsms.sh:

        #!/bin/sh
        #curl http://221.179.180.137:8080/smsaServer/lkSend?UID=znjdwg&PWD=fc85c5fa34a90ee7f7d5af4d5f109f4a&PHONE=$1&CONTENT=$CON&TYPE=4&MSGID=1
        time=`date +"%Y-%m-%d"`
        java -jar /etc/zabbix/bin/sms4j.jar $1 "$3" >>/var/log/zabbix/zbx_sms-$time.log
        #echo "$3" >/tmp/sms.txt

    微信告警weixin.sh:

    #!/bin/bash
    ###SCRIPT_NAME:weixin.sh###
    ###send message from weixin for zabbix monitor###
    ###zongx###
    ###V1-2017-06-12###
    
    #CropID='wx01975981c5d1502c'
    #Secret='k6hjyg4UY1Sx4YZIA6teqq5Q_cjjuDKliN3fVCUksN0'
    #GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" 
    #Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F " '{print $10}')
    
    Gtoken=(`cat  /etc/zabbix/bin/token_new.txt`)
    echo "Gtoken="$Gtoken
    
    PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
    
    function body() {
            local int AppID=1000002                  #企业号中的应用id
    #        local UserID=@all                         #部门成员id,zabbix中定义的微信接收者
            local UserID=$1
            local PartyID=@all                        #部门id,定义了范围,组内成员都可接收到消息
            local Msg=$(echo "$@" | cut -d" " -f3-)  #过滤出zabbix中传递的第三个参数
            printf '{
    '
            printf '	"touser": "'"$UserID""",
    "
    #        printf '	"toparty": "'"$PartyID""",
    "
            printf '	"msgtype": "text",
    '
            printf '	"agentid": "'"$AppID""",
    "
            printf '	"text": {
    '
            printf '		"content": "'"$Msg"""
    "
            printf '	},
    '
            printf '	"safe":"0"
    '
            printf '}
    '
    }
    /usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
    
    time=`date +"%Y-%m-%d"`
    echo "`date`    $1      $2     $3">>/var/log/zabbix/zbx_weixin-$time.log
    ----------当你发现自己的才华撑不起野心时,就请安静下来学习吧!----------
  • 相关阅读:
    Apache 安装及常用参数设置
    Apache 开启压缩传输
    在 CentOS 上编写 init.d service script [转]
    学习资源
    IO流(10)复制多级文件夹
    IO流(9)复制指定文件夹下指定文件到目的文件夹,并改名
    IO流(8)递归删除带文件的目录
    IO流(7)获取指定文件夹下的所有文件
    IO流(6)获取功能
    IO流(5)判断功能
  • 原文地址:https://www.cnblogs.com/shawhe/p/9430714.html
Copyright © 2020-2023  润新知