因业务需求:原来部署在海外的zabbix监控国内机器,延迟大,产生的误报多,需要在国内再部署一台zabbix,打算使用新版本zabbix-3.0.1
下载3.0源码包,并解包
服务器已经是LAMP环境,且都是yum安装,虽然简单,但难免在后面会出现异常
安装依赖:
# yum install curl net-snmp perl-DBI gcc mysql-devel # yum install libxml2 curl-devel libxml2-devel net-snmp-devel php-xml php-bcmath php-mbstring # yum install unixODBC unixODBC-devel # yum install mysql-connector-odbc
用户创建:
# useradd -u 330 -M -r -s /sbin/nologin zabbix
数据库处理:创建和导入数据
#mysql mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all on zabbix.* to zabbix@localhost identified by "xxxxxxxxx"; mysql> flush privileges; mysql> use zabbix; mysql> source /usr/local/src/zabbix-3.0.1/database/mysql/schema.sql; mysql> source /usr/local/src/zabbix-3.0.1/database/mysql/p_w_picpaths.sql; mysql> source /usr/local/src/zabbix-3.0.1/database/mysql/data.sql; mysql> show tables; mysql> exit
如果有重新导入需求,处理如下:
mysql> drop database zabbix; mysql> create database zabbix character set utf8 collate utf8_bin; mysql> flush privileges;
安装server:
# pwd /usr/local/src/zabbix-3.0.1 # ./configure --prefix=/usr/local/zabbix-3.0.1 --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc
# make install # cd /usr/local/ # ln -sv zabbix-3.0.1 zabbix
复制启动文件,并做相应的修改: chkconfig添加 DAEMON位置 执行权限
# cd /usr/local/src/zabbix-3.0.1/misc/init.d/tru64 # cp zabbix_agentd /etc/init.d/ # cp zabbix_server /etc/init.d/ # chmod +x {/etc/init.d/zabbix_server,/etc/init.d/zabbix_agentd} # sed -i '1a # chkconfig: - 86 14' /etc/init.d/zabbix_server # sed -i '1a # chkconfig: - 86 14' /etc/init.d/zabbix_agentd # chkconfig zabbix_server on # chkconfig zabbix_agentd on
WEB界面安装:
在httpd.conf中配置好虚拟主机,以下以nginx站点为例:
server { listen 80; server_name zabbix.mydomain.com; charset utf-8; access_log /var/log/nginx/zabbix.mydomain.com.access.log main; error_log /var/log/nginx/zabbix.mydomain.com.error.log error; root /var/www/zabbix-3.0.1; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$args; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location /50x.html { root /usr/local/nginx/html/50x.html; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } if ($request_uri ~ ^(.+\.php)(.*)$) { set $req $2; } if ($req ~* "union[+|(%20)]") { return 503; } if ($req ~* "and[+|(%20)]") { return 503; } if ($req ~* "select[+|(%20)]") { return 503; } }
将web文件复制到站点目录中: # \cp -aR /usr/local/src/zabbix-3.0.1/frontends/php/* /var/www/zabbix-3.0.1
然后再浏览器上进行安装时,遇到问题:title部分能出现zabbix图标,但是页面空白,分析如下:
1.在web目录下添加一个测试的html静态文件,访问正常,说明站点配置正常;
手动指定访问index.php页面文件, 还是空白(php文件无法反问)
2.到web目录下手动执行php 访问index.php文件,报错如下:
原来是php版本过低,zabbix3.0要求php的版本高于5.4
结论:zabbix3.0支持yum安装,但只支持centos7的系统,是因为centos6的yum仓库中没有php5.4的包,最高支持5.3
解决方法:
1.升级php:
2.降级zabbix:全部重新再来
配置zabbix-server\zabbix-agentd,并启动
注:
1.Mysql中对应的zabbix数据版本与server不匹配是,web安装时mysql检测也会报错
2.Zabbix默认用户名密码:Admin/zabbix一定要及时修改:xxxxxxx
3.Web图形中中文乱码:将windwos字体复制到/var/www/zabbix-2.4.7/fonts/下,并修改后缀为*.ttf,然后修改/var/www/zabbix-2.4.7/include/defines.inc.php文件,指定使用的字库名称。