依赖:

        1. PHP(强依赖,自行安装)

        2. Nginx或者Apache(二选一,本文选择Nginx)

1.下载:

    zabbix: https://www.zabbix.com/download_sources (Zabbix Sources for deep customization)

2.安装:

  • 解压
tar -zxvf zabbix-3.4.7.tar.gz
  • 创建并导入zabbix数据库
# 进入mysql数据库创建脚本目录
cd /usr/local/src/zabbix-2.2.6/database/mysql
# 输入密码,进入MySQL控制台
mysql -u root -p
# 创建数据库zabbix,并且数据库编码使用utf8
mysql> create database zabbix character set utf8;

通过Navicat创建用户:zabbix/123456 localhost

# 刷新系统授权表
mysql> flush privileges; 
# 允许账户zabbix能从本机连接到数据库zabbix
mysql> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '123456' with grant option; 
# 再次刷新系统授权表
mysql> flush privileges; 
# 进入数据库
mysql> use zabbix
# 导入脚本文件到zabbix数据库
mysql> source /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql
# 导入脚本文件到zabbix数据库
mysql> source /usr/local/src/zabbix-2.2.6/database/mysql/images.sql
# 导入脚本文件到zabbix数据库
mysql> source /usr/local/src/zabbix-2.2.6/database/mysql/data.sql
  • 安装zabbix

添加用户:

# 创建用户组zabbix
groupadd zabbix

# 创建用户zabbix,并且把用户zabbix加入到用户组zabbix中
useradd zabbix -g zabbix -s /bin/false

安装依赖包:

yum install net-snmp-devel curl curl-devel mysql-devel

zabbix和数据库分离 zabbix 数据库_php

安装Zabbix:

# 添加软连接
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2

# 使配置立即生效
/sbin/ldconfig

# 进入安装目录
cd /u02/monitor/zabbix

# 配置(若依然缺少相关依赖,请自行百度安装)
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config

zabbix和数据库分离 zabbix 数据库_php_02

# 编译安装
make && make install

zabbix和数据库分离 zabbix 数据库_mysql_03

# 添加系统软连接
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/

# 添加系统软连接
ln -s /usr/local/zabbix/bin/* /usr/local/bin/

# 说明:
find / -name mysql_config 
# 查找位置,如果没有mysql_config,需要安装mysql-devel
yum install mysql-devel

添加zabbix服务对应的端口:

$ vi /etc/services #编辑,在最后添加以下代码

# Zabbix
# Zabbix Agent
zabbix-agent 10050/tcp

# Zabbix Agent
zabbix-agent 10050/udp

# Zabbix Trapper
zabbix-trapper 10051/tcp 

# Zabbix Trapper
zabbix-trapper 10051/udp

修改zabbix配置文件

cd /usr/local/zabbix/etc

$ vi zabbix_server.conf

# 数据库名称
DBName=zabbix
# 数据库用户名
DBUser=zabbix
# 数据库密码
DBPassword=123456
# 数据库ip地址
ListenIP=127.0.0.1

DBSocket=/u02/mysqldld/data/mysql.sock
# zabbix运行脚本存放目录
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

$ vi /usr/local/zabbix/etc/zabbix_agentd.conf

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
# 启用自定义key
UnsafeUserParameters=1

添加开机启动脚本:

# 服务端
cp /u02/monitor/zabbix/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server 
# 客户端
cp /u02/monitor/zabbix/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server 
# 添加脚本执行权限
chmod +x /etc/rc.d/init.d/zabbix_server 
# 添加脚本执行权限
chmod +x /etc/rc.d/init.d/zabbix_agentd 
# 添加开机启动
chkconfig zabbix_server on 
# 添加开机启动
chkconfig zabbix_agentd on

修改zabbix开机启动脚本中的zabbix安装目录:

$ vi /etc/rc.d/init.d/zabbix_server #编辑服务端配置文件

# zabbix安装目录
BASEDIR=/usr/local/zabbix/

$ vi /etc/rc.d/init.d/zabbix_agentd #编辑客户端配置文件

# zabbix安装目录
BASEDIR=/usr/local/zabbix/

3.配置web站点

cd /usr/local/src/zabbix

cp -r /u02/monitor/zabbix/frontends/php/ /u02/databridge/nginx/html/zabbix

chown root.root -R /usr/local/nginx/html/zabbix

 启动zabbix服务端

zabbix和数据库分离 zabbix 数据库_运维_04

zabbix和数据库分离 zabbix 数据库_zabbix和数据库分离_05

zabbix和数据库分离 zabbix 数据库_数据库_06

zabbix和数据库分离 zabbix 数据库_运维_07

zabbix和数据库分离 zabbix 数据库_php_08

启动zabbix客户端

zabbix和数据库分离 zabbix 数据库_zabbix和数据库分离_09

4. 修改PHP配置文件参数

  • $ vi /etc/php.ini #编辑修改
post_max_size =16M
max_execution_time =300
max_input_time =300
  • $ vi /usr/local/php/etc/php-fpm.conf #编辑修改
request_terminate_timeout = 300

重启php-fpm

service php-fpm reload

5.安装WEB

http://192.168.10.199:8099/zabbix/setup.php

zabbix和数据库分离 zabbix 数据库_php_10

zabbix默认用户名面:Admin/zabbix

6. 常见错误:

  • sbin/zabbix_agentd: /lib64/libc.so.6: version `GLIBC_2.17' not found (required by sbin/zabbix_agentd)

        sbin/zabbix_agentd: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by sbin/zabbix_agentd)

        解决方法:缺少glibc库的2.14和2.17版本,需手动安装(yum install glibc只能更新到2.12)

# 下载gclib 2.17
wget https://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz
# 解压后编译安装
tar -zxvf glibc-2.17.tar.gz
cd glibc-2.17
# 如果不创建build文件夹直接编译安装会报错
mkdir build
cd build
../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
make && make install
# 注意:编译安装过程可能会很久,请耐心等待!!(目测10分钟以上)
  • sbin/zabbix_agentd: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

        解决方法:libpcre.so已存在的情况需要添加软链接(没有则安装)

# 添加软链接
ln -s /lib64/libpcre.so.0.0.1 /lib64/libpcre.so.1
  • zabbix_agentd [52374]: user zabbix does not exist
    zabbix_agentd [52374]: cannot run as root!
# 创建zabbix用户
useradd zabbix
# 授权
chown -R zabbix.zabbix zabbix/