CentOS 7.6 下 Zabbix 4.04 安装文档
2020/01/06 14:07:21 来源:Linux社区 作者:rayso

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:\Windows\Fonts下的中文字体替换到/usr/local/nginx/html/fonts下的DejaVuSans.ttf

3.4  配置前端

访问所部署服务的web地址

 

 

检测依赖,缺少的模块请安装。DVD2中找到相应的rpm包进行安装,重启php-fpm(kill -USR2 php-fpm:master的pid

 

 

配置数据库

 

 

配置服务器

 

 

 

完成安装。

默认的用户名:Admin,密码:zabbix

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2020-01/161938.htm


9

本栏最新