因业务需求:原来部署在海外的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

zabbix安装_记录

        # 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文件,报错如下:

zabbix安装_zabbix_02

   原来是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文件,指定使用的字库名称。