操作系统:
CentOS 6.5x64 Zabbix-Server:192.168.12.10 Zabbix_Client-enginx:192.168.12.4 Zabbix_Client-tomcat1:192.168.12.6 Mysql:Server version: 5.1.73 Source distribution Php:PHP 5.6.31 (cli) (built: Jan 19 2017 22:50:24) Zabbix:zabbix-3.2.5 Httpd:Apache/2.2.15 (Unix)在 server 安装基础软件包,这里的环境使用 yum 安装,如果使用源码安装也是可以的。
yum -y install httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp net-snmp-devel curl-devel php-ctype php-xml php-xmlreader php-xmlwriter php-session php-net-socket php-gettext php-mysql libcurl OpenIPMI fping libiksemel libxml2 libxml2-devel gcc libssh2zabbix 的运行需要特定的 php 参数支持,修改如下(这些先不用设置,等升级完 php 后再设置)
sed -i “s@;date.timezone =@date.timezone = Asia/Shanghai@g” /etc/php.ini sed -i "s@max_execution_time = 30@max_execution_time = 300@g" /etc/php.ini sed -i "s@post_max_size = 8M@post_max_size = 32M@g" /etc/php.ini sed -i "s@max_input_time = 60@max_input_time = 300@g" /etc/php.ini sed -i "s@memory_limit = 128M@memory_limit = 128M@g" /etc/php.ini sed -i "s@;mbstring.func_overload = 0@ambstring.func_overload = 2@g" /etc/php.ini注:-p 和密码之间不能有空格
mysql -uzabbix -pzabbix zabbix < images.sql mysql -uzabbix -pzabbix zabbix < data.sql配置软连接和启动文件信息
mkdir /var/log/zabbix chown -R zabbix.zabbix /var/log/zabbix/ ln -s /usr/local/zabbix/etc/ /etc/zabbix ln -s /usr/local/zabbix/bin/* /usr/bin/ ln -s /usr/local/zabbix/sbin/* /usr/sbin/ cp /usr/local/src/zabbix-3.2.5/misc/init.d/fedora/core/zabbix_* /etc/init.d/ chmod 755 /etc/init.d/zabbix_* ls -l /etc/init.d/zabbix_*这里的 IP 地址写的是 zabbix_server 的 IP 地址,即 192.168.254.3
sed -i "s@Server=127.0.0.1@Server=127.0.0.1, 192.168.254.3g" /etc/zabbix/zabbix_agentd.conf sed -i "s@ServerActive=127.0.0.1@ServerActive=192.168.254.3:10051@g" /etc/zabbix/zabbix_agentd.conf检查上面的修改是否生效
grep '192.168.12.88' /etc/zabbix/zabbix_agentd.conf sed -i "s@tmp/zabbix_agentd.log@var/log/zabbix/zabbix_agentd.log@g" /etc/zabbix/zabbix_agentd.conf grep 'zabbix_agentd.log' /etc/zabbix/zabbix_agentd.conf sed -i "s@^# UnsafeUserParameters=0@UnsafeUserParameters=1\n@g" /etc/zabbix/zabbix_agentd.conf grep 'UnsafeUserParameters' /etc/zabbix/zabbix_agentd.conf以上步骤配置完后通过 http://192.168.12.88/zabbix/setup.php 网页端进行后续配置,报http 500错误。 查看 apache 日志:
#tail -50f /var/log/httpd/error_log [Sun Apr 23 17:57:49 2017] [error] [client 192.168.12.100] PHP Parse error: syntax error, unexpected '[' in /var/www/html/zabbix/setup.php on line 30查资料得知 php 版本太低,需要升级 php5.6
#php -v 8源码升级步骤:http://blog.csdn.net/ebw123/article/details/41875255 yum 升级:
yum list installed | grep php php-common.x86_64 php-fpm.x86_64 php-gd.x86_64 php-ldap.x86_64 php-mbstrin g.x86_64 php-mysql.x86_64 php-pdo.x86_64 php-xml.x86_64 php-xmlrpc.x86_64 yum -y remove php-* rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm yum -y install php56* --skip-broken php –v /etc/init.d/php-fpm start /etc/init.d/httpd restart升级之后 http://192.168.12.10/zabbix/setup.php 可以看到安装界面
1.出现安装界面,点击“next” 2.PHP 配置检查界面,结果是 OK 表示正常,如果是 fail 状态,请修改相关的 php 配置参数,并重启 httpd 服务。
#cp /etc/php.ini /etc/php.ini.bak修改/etc/php.ini
post_max_size =16M max_execution_time =300 max_input_time =300 date.timezone = Asia/Shanghai post_max_size = 32M #/etc/init.d/httpd restart #vim /var/www/html/zabbix/include/classes/setup/CFrontendSetup.php然后刷新页面既可
4、填写 zabbix 的 server 地址,我这里填写的是本机的 IP 地址 192.168.254.3
5、最后配置结果预览 检查没有问题点击 next step
6、安装完成
安装完成后,通过 http://192.168.3.28/zabbix/index.php#就能直接访问 web 管理界面默认用户名:admin,密码:zabbix
此时会看到界面上有乱码,如下:
1.从 windows 下控制面板->字体->选择一种中文字库例如“楷体” 2.将字体上传至/var/www/html/zabbix/fonts 目录下 3.修改 zabbix 页面管理的中文字体设置
#cd /var/www/html/zabbix/include/ #cp defines.inc.php defines.inc.php.bak [root@zabbix-12-10 ~]# vim /var/www/html/zabbix/include/defines.inc.php 修改如下 2 行 define('ZBX_FONT_NAME', 'simkai'); define('ZBX_GRAPH_FONT_NAME', 'simkai');修改后的 zabbix 界面。
新版微信告警(企业微信) Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。
地址: http://work.weixin.qq.com/ 第一步注册
注册好微信企业号(即企业微信后)我们需要记录CorpID
我们点击通讯录,添加一个组,或者添加一个成员。成员可以使用微信邀请或者短信邀请。
添加完管理员需要记录管理员账号,我们添加成员需要记录成员ID 或组ID 点击企业应用,新增应用
设置应用
创建完成后 需要记录Agentld、Secret
需要得到的信息记录用户的账号CorpID和Secret、Agentld我们设置zabbix默认脚本路径,这样在web端就可以获取到脚本
下载脚本,使用云盘下载 链接:http://pan.baidu.com/s/1skXgaKl 密码:xz09 #rz上传wechat脚本到系统/usr/lib/zabbix/alertscripts目录,如果没有rz可以使用yum install lrzsz 安装rz
chmod 755 wechat chown zabbix:zabbix wechat执行脚本,进行测试 cd到脚本所在目录/usr/lib/zabbix/alertscripts
./wechat --corpid=企业微信的id --corpsecret=Q-HMnIo9HKX8kZwbT4m1SUcS-kmYhmiuRgr4DCLreQA --msg="您好,告警测试" --user=CongYuHong --agentid=1000002 这个是正确的输出 {"errcode":0,"errmsg":"ok","invaliduser":""}因为脚本是编译过的,无法进行编辑,我们可以使用./wechat -h or --help 查看使用方法。
首先注册企业微信,然后登陆,登陆之后即可查看企业id、–agentid和–corpsecret
创建报警媒介
--corpid=企业id --corpsecret=这里就是我们的Secret里的id --agentid=Agentld ID --user=={ALERT.SENDTO} --msg={ALERT.MESSAGE}创建报警用户 这里填写微信收件人的账号 详情请见https://www.abcdocker.com/abcdocker/2573
说明:这个脚本也可以实现微信告警,和上文那个wechat任意选一个用即可。
cat weixin.sh #!/bin/bash #set -x CorpID="ww11defa834d9c3dad" Secret="K9ykjDww_dNB6s2eadYwAsm-Yq4NRLO3sY1x48dqnro" GETURL=https://qyapi.weixin.qq.com/cgi-bin/gettoken\?corpid=$CorpID\&corpsecret=$Secret Token=$(/usr/bin/curl -s -G $GETURL |awk -F\": '{print $4}'|awk -F\" '{print $2}') #echo $Token POSTURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token" UserID=ZhaoLiDong #PartyID=2 agentid=1000002 Msg=`echo "$@" | cut -f 3` message(){ printf '{\n' printf '\t"touser": "'"$UserID"\"",\n" # printf '\t"toparty": "'"$PartyID"\"",\n" printf '\t"msgtype": "text",\n' printf '\t"agentid": "'"$agentid"\"",\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 "$(message $1 $2 $3)" $POSTURL