1 安装前准备:
1.1 安装JDK
卸载openjdk
# rpm -qa | grep Java # yum remove java-1.8.0-openjdk # yum remove java-1.8.0-openjdk-headless
安装JDK包
# rpm -ivh jdk-8u191-linux-x64.rpm
1.2 安装依赖包
# yum install -y net-snmp net-snmp-devel OpenIPMI-devel libssh2-devel openldap-devel openldap-clients libxml2-devel libcurl-devel gcc msyql-devel libevent-devel php-MySQL php-gd php-mbstring php-bcmath libjpeg-devel freetype-devel libpng-devel php-xml keyutils-libs-devel krb5-devel libcom_err-devel libkadm5 libselinux-devel libsepol-devel openssl-devel pcre-devel zlib-devel
以下3个包在DVD1中没有包含,如果配置的是本地yum源,需要单独安装 # yum install -y libevent-devel-2.0.21-4.el7.x86_64.rpm # yum install -y libssh2-devel-1.4.3-12.el7.x86_64.rpm # yum install -y OpenIPMI-devel-2.0.23-2.el7.x86_64.rpm
安装完依赖包以后可以使用以下命令检查是否都安装成功 # rpm -qa net-snmp net-snmp-devel OpenIPMI-devel libssh2-devel openldap-devel openldap-clients libxml2-devel libcurl-devel gcc msyql-devel libevent-devel php-mysql php-gd php-mbstring php-bcmath libjpeg-devel freetype-devel libpng-devel php-xml keyutils-libs-devel krb5-devel libcom_err-devel libkadm5 libselinux-devel libsepol-devel openssl-devel pcre-devel zlib-devel
1.3 安装MySQL
详见MySQL安装文档
1.4 安装nginx
# tar -zxvf nginx-1.14.0.tar.gz -C /home # cd /home/nginx-1.14.0/ # ./configure # make & make install
1.5 安装PHP
# yum install -y php # yum install -y php-fpm-5.4.16-46.el7.x86_64.rpm
2 安装服务:
2.1 编译安装zabbix
# groupadd --system zabbix # useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin zabbix # tar -zxvf zabbix-4.0.4.tar.gz -C /home # cd /home/zabbix-4.0.4/ # ./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-ldap --with-ssh2 --with-openipmi --enable-java --with-openssl # make install
2.2 创建数据库
# mysql -uroot -p<password> mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@"serverip" identified by '<password>'; mysql> quit # cd /home/zabbix-4.0.4/database/mysql # mysql -uzabbix -p<password> zabbix < schema.sql # mysql -uzabbix -p<password> zabbix < images.sql # mysql -uzabbix -p<password> zabbix < data.sql
2.3 修改配置
# vim /usr/local/zabbix/etc/zabbix_server.conf DBPassword=<password>
2.4 启动服务
# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf # /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf # /usr/local/zabbix/sbin/zabbix_java/startup.sh
注:/usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory 报以上错误的处理方案: # find / -name libmysqlclient.so.20 /home/mysql/lib/libmysqlclient.so.20 # echo "/home/mysql/lib" >> /etc/ld.so.conf # ldconfig 然后重新启动服务
3 安装前端:
3.1 配置nginx
# vim /usr/local/nginx/conf/nginx.conf
server { listen 80; server_name localhost; proxy_buffer_size 128k; proxy_buffers 32 32k; client_header_buffer_size 64k; large_client_header_buffers 8 128k; access_log /usr/local/nginx/logs/zabbix.access.log main; error_log /usr/local/nginx/logs/zabbix.error.log error;
location / { root html; index index.php index.htm; }
error_page 500 502 503 504 /50x.html; location = /50x.html { root html; }
location ~ .php$ {
fastcgi_buffer_size 128k;
fastcgi_buffers 32 32k;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
include fastcgi.conf;
}
}
注:去掉上面 log_format 的注释
3.2 配置PHP
# vim /etc/php.ini
max_execution_time = 300 memory_limit = 128M post_max_size = 16M upload_max_filesize = 2M max_input_time = 300 date.timezone = Asia/Shanghai
# vim /etc/php-fpm.d/www.conf
[www] listen = 127.0.0.1:9000 listen = /var/run/php-fpm/php-fpm.sock
listen.mode = 0666 user = nobody group = nobody pm = dynamic pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35
3.3 复制静态文件
# rm -rf /usr/local/nginx/html/* # cp -rf /home/zabbix-4.0.4/frontends/php/* /usr/local/nginx/html/ # chown -R nobody.nobody /usr/local/nginx/html
注:监控的图形界面出现乱码问题的解决方案:将windows中的C:WindowsFonts下的中文字体替换到/usr/local/nginx/html/fonts下的DejaVuSans.ttf
3.4 配置前端
访问所部署服务的web地址
检测依赖,缺少的模块请安装。DVD2中找到相应的rpm包进行安装,重启php-fpm(kill -USR2 php-fpm:master的pid)
配置数据库
配置服务器
完成安装。
默认的用户名:Admin,密码:zabbix