原文发表于cu:2016-05-11
参考文档:
一.环境
Server:CentOS-7-x86_64-1511
Server IP: 192.168.11.252
Web环境:CentOS-7-x86_64-1511编译nginx-1.9.12+ mysql-5.7.11+ php-7.0.4
Client:Win7 x86_64, Chrome/Firefox浏览器
二.软件获取
Zabbix官网下载地址:http://www.zabbix.com/download.php
截至2016-05-11,最新LTS版本下载地址:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.1/zabbix-3.0.1.tar.gz
三.安装zabbix
1. iptables设置
# zabbix_agent端口10050,agent默认采用被动方式,由server端主动连接agent;agent主动模式,在agent的配置文件中可配置; # zabbix_trapper端口10051,agent主动或trapper方式连接server端 [root@localhost ~]# vim /etc/sysconfig/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 10051 -j ACCEPT -A OUTPUT -p tcp -m state --state NEW -m tcp --dport 10050 -j ACCEPT
2. 创建/导入数据库
# 进入mysql数据库创建脚本目录,列出文件,有schema.sql、images.sql、data.sql三个文件 cd /usr/local/src tar -zxvf zabbix-3.0.1.tar.gz cd /usr/local/src/zabbix-3.0.1/database/mysql ll # 输入密码,进入MySQL控制台 mysql -u root -p # 创建数据库zabbix,并且数据库编码使用utf8 create database zabbix character set utf8; # 新建账户zabbix,密码123456,刷新系统授权表 CREATE USER zabbix IDENTIFIED BY '123456'; flush privileges; # 允许zabbix账号能从本机连接到数据库zabbix grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123456' with grant option; flush privileges; # 进入mysql数据库,查看新建zabbix账号及其权限库zabbix use mysql; select host,user from user; # 进入zabbix数据库,导入脚本文件到zabbix数据库,重要:请务必按以下顺序导入 use zabbix; source /usr/local/src/zabbix-3.0.1/database/mysql/schema.sql source /usr/local/src/zabbix-3.0.1/database/mysql/images.sql source /usr/local/src/zabbix-3.0.1/database/mysql/data.sql # 或者在系统中直接导入 mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-3.0.1/database/mysql/schema.sql mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-3.0.1/database/mysql/images.sql mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-3.0.1/database/mysql/data.sql # 系统版本不同,文件版本可能不一样,这里是18.0.0;有可能找不到libmysqlclient_r.so.x.0.0文件,不影响 cd /usr/lib64/mysql ln -s libmysqlclient.so.18.0.0 libmysqlclient.so ln -s libmysqlclient_r.so.18.0.0 libmysqlclient_r.so
3. 部署zabbix
添加用户
# 创建用户zabbix,将用户zabbix加入到用户组zabbix中 groupadd zabbix useradd -g zabbix -s /sbin/nologin zabbix
依赖包
#如果以下软件包在安装Web环境LNMP时已安装过,此步骤可忽略 yum install net-snmp-devel curl curl-devel mysql-devel
安装zabbix
#有可能找不到libiconv.so.2文件,暂时未发现有何影响 ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2 #使配置立即生效 /sbin/ldconfig #find / -name mysql_config 查找位置,如果没有mysql_config,需要安装yum install mysql-devel cd /usr/local/src/zabbix-3.0.1 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config make make install ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ ln -s /usr/local/zabbix/bin/* /usr/local/bin/
配置
添加端口
#添加zabbix服务对应的端口,默认services文档中已添加 vim /etc/services # Zabbix zabbix-agent 10050/tcp # Zabbix Agent zabbix-agent 10050/udp # Zabbix Agent zabbix-trapper 10051/tcp # Zabbix Trapper zabbix-trapper 10051/udp # Zabbix Trapper
修改zabbix配置文件
#zabbix配置文件修改 vim /usr/local/zabbix/etc/zabbix_server.conf DBName=zabbix DBUser=zabbix DBPassword=123456 ListenIP=127.0.0.1 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #启用自定义key子配置文件路径,并打开对特殊字符的处理 vim /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ UnsafeUserParameters=1
添加开机启动脚本
#服务端 cp /usr/local/src/zabbix-3.0.1/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server #客户端 cp /usr/local/src/zabbix-3.0.1/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd #添加脚本执行权限 chown zabbix:zabbix /etc/rc.d/init.d/zabbix_server chown zabbix:zabbix /etc/rc.d/init.d/zabbix_agentd chmod +x /etc/rc.d/init.d/zabbix_server chmod +x /etc/rc.d/init.d/zabbix_agentd #编辑服务端启动脚本中zabbix的安装目录 vim/etc/rc.d/init.d/zabbix_server BASEDIR=/usr/local/zabbix/ #编辑客户端启动脚本中zabbix的安装目录 vim /etc/rc.d/init.d/zabbix_agentd BASEDIR=/usr/local/zabbix/ #添加开机启动 chkconfig –level 35 zabbix_server on chkconfig –level 35 zabbix_agentd on
配置web站点
#解压文件中有模板 cp -r /usr/local/src/zabbix-3.0.1/frontends/php /usr/local/nginx/html/zabbix #/usr/local/nginx/html为Nginx默认站点目录,www为nginx运行账户 chown -R www:www /usr/local/nginx/html/zabbix #启动zabbix服务端/客户端 service zabbix_server start service zabbix_agentd start
修改php配置文件参数
#参数都是zabbix web安装需要的参数,在后面的zabbix启动安装时会检测 vim /etc/php.ini post_max_size =16M max_execution_time =300 max_input_time =300 vim /usr/local/php/etc/php-fpm.d/www.conf request_terminate_timeout = 300 #重启php-fpm service php-fpm reload
安装zabbix web
在浏览器中打开:http://192.168.11.252/zabbix
第一次运行时,系统会自动重重定向到setup.php进行web安装。
Next step
Zabbix web安装会检测安装环境,必须全部通过才能进行下一步安装。
如下,检测显示有一项未通过检测,
参数:always_populate_raw_post_data 检测不通过,
zabbix会主动检测此参数,但php5.6已经没有此参数,可以做如下修改:
# 注释原76~78行,添加如上几行,当php版本大于5.6时忽略此检测 # https://blog.memotz.com/276.html vim /usr/local/nginx/html/zabbix/include/classes/setup/CFrontendSetup.php // check for deprecated PHP 5.6.0 option 'always_populate_raw_post_data' #if (version_compare(PHP_VERSION, '5.6', '>=')) { # $result[] = $this->checkPhpAlwaysPopulateRawPostData(); #} if (version_compare(PHP_VERSION, '5.6', '>=') && version_compare(PHP_VERSION, '7.0.4', '<')) { $result[] = $this->checkPhpAlwaysPopulateRawPostData(); } $result[] = $this->checkPhpSockets();
修改后刷新检测,通过,Next step
配置DB信息,按之前的配置填写即可,注意:database host处如localhost不通过,可查看zabbix是否赋予主机localhost相应权限,如没有,可增加localhost主机或修改配置页中的localhost为127.0.0.1
修改后刷新检测,通过。
Next step
可以默认,也可以设置一个zabbix服务器名。
Next step
Next step
安装完成,Finish。
Zabbix登录页,默认账号/密码:admin/zabbix
zabbix server启动问题
登录zabbix后,重点观察Dashboard中zabbix server的状态值,有时zabbix并没用运行,VALUE显示值为No,此时可以查看/tmp/zabbix_server.log日志文件定位(在配置文件/usr/local/zabbix/etc/zabbix_server.conf中明确日志文件的位置),经常会因为mysql权限问题导致zabbix_server不能正常启动。
4. Zabbix汉化(optional)
修改系统配置文件,使web页面支持简体中文显示
vim /usr/local/nginx/html/zabbix/include/locales.inc.php 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false), 修改为: 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),
替换监控图像上系统默认的字体
默认字体不支持中文,如果不替换,图像上会显示乱码。
在Windows系统中的C:WindowsFonts目录中复制出一个中文字体文件,例如msyh.ttf,
把字体文件msyh.ttf上传到zabbix站点根目录下fonts文件夹中,如/usr/local/nginx/html/zabbix/fonts
#备份默认的字体文件,修改msyh.ttf名为DejaVusSans.ttf mv DejaVusSans.ttf DejaVusSans.ttf-bak mv msyh.ttf DejaVusSans.ttf
修改显示语言
登录zabbix,AdministratoràUseràAdmin(字体与账户有关),修改Language为Chinese(zh_CN)。
点击update,退出站点,重新登录即可。