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

![](https://s1.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配置优化_第1张图片

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

Zabbix配置优化_第2张图片

Zabbix配置优化_第3张图片

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

4、启动zabbix server自身监控

Zabbix配置优化_第4张图片

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 [email protected] -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 '{\n'
        printf '\t"touser": "'"$UserID"\"",\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

time=`date +"%Y-%m-%d"`
echo "`date`    $1      $2     $3">>/var/log/zabbix/zbx_weixin-$time.log