lmwtzw6u5l0 发表于 2019-1-18 11:47:50

Zabbix配置优化

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

![](http://i2.运维网.com/images/blog/201808/01/fd9e7ba3e80d17a1c883681d68cb0b47.jpg"=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、设置中文界面
http://i2.运维网.com/images/blog/201808/01/ec697b73e78668714a5d15150a07b367.png
  3、上传本地中文字体,因为zabbix自带的中文字体在图形展示方面容易出现乱码
http://i2.运维网.com/images/blog/201808/01/694785b1dcc460c9b18eb5d19af8bd63.png
http://i2.运维网.com/images/blog/201808/01/3a40798ca148f32db488658ffdf3fec8.png
  致此,ZABBIX设置中文界面以及修改字体完成。
  4、启动zabbixserver自身监控
http://i2.运维网.com/images/blog/201808/01/9946bc21ae4778e5e403b9240b0a1487.png
  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 '{\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


页: [1]
查看完整版本: Zabbix配置优化