LNMP(nginx1.14+PHP7.0+MySQL8.0)+zabbix4.0.3 一、下载与解压zabbix 下载源码zabbix https://www.zabbix.com/download_sources #tar -zxvf zabbix-4.0.3.tar.gz 解压 二、创建、导入zabbix数据库 #mysql 进入mysql mysql> create database zabbix character set utf8; #创建zabbix数据库 mysql> create user 'zabbix'@'127.0.0.1' identified by '123456';
创建用户等信息到系统库mysql mysql> grant all on *.* to 'zabbix'@'127.0.0.1'; # 给zabbix用户赋权 mysql> select host,user,authentication_string,plugin from user; 查询系统库中的用户、主机等 mysql> flush privileges; #刷新系统授权表 #cd /…../…../zabbix-4.0.3/database/mysql #在zabbix安装目录下有mysql数据库创建脚本有schema.sql、images.sql、data.sql这三个文件 依次导入 mysql> use zabbix; #进入数据库 mysql> source /usr/local/zabbix-4.0.3/database/mysql/schema.sql #导入脚本文件到zabbix数据库 mysql>source /usr/local/zabbix-4.0.3/database/mysql/images.sql #导入脚本文件到zabbix数据库 mysql>source /usr/local/zabbix-4.0.3/database/mysql/data.sql #导入脚本文件到zabbix数据库 注意:请按照以上顺序进行导入,否则会出错。 mysql>exit; #退出mysql 三、安装zabbix 1、添加用户和组 #groupadd zabbix #创建用户组zabbix #useradd -g zabbix -s /bin/false zabbix #创建用户zabbix 2、安装依赖包(LNMP中已安装可以忽略此步骤) yum install net-snmp-devel curl curl-devel mysql-devel libevent-devel libevent 3、安装zabbix vim /etc/ld.so.conf 加入 /usr/local/mysql/lib ldconfig cd /…../…../zabbix-4.0.3/ #进入安装目录 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/local/mysql/bin/mysql_config make #编译 make install #安装 ln -sv /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软连接 ln -sv /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软连接

4、添加zabbix服务对应的端口 vi /etc/services #编辑,在最后添加以下代码 #zabbix zabbix-agent 10050/tcp # Zabbix Agent zabbix-agent 10050/udp # Zabbix Agent zabbix-trapper 10051/tcp # Zabbix Trapper zabbix-trapper 10051/udp # Zabbix Trapper 5、修改zabbix配置文件 cd /usr/local/zabbix/etc vi /usr/local/zabbix/etc/zabbix_server.conf DBHost=127.0.0.1 #数据库主机 DBName=zabbix #数据库名称 DBUser=zabbix #数据库用户名 DBPassword=123456 #数据库密码 ListenIP=127.0.0.1 #数据库ip地址 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix运行脚本存放目录 vi /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ UnsafeUserParameters=1 #启用自定义key 6、添加开机启动脚本 cp /usr/local/src/zabbix-4.0.3/misc/init.d/fedora/core5/zabbix_server /etc/rc.d/init.d/zabbix_server #服务端 cp /usr/local/src/zabbix-4.0.3/misc/init.d/fedora/core5/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd #客户端 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 #添加开机启动 service zabbix_agentd restart service zabbix_server restart netstat –tlunp |grep zabbix #查看端口监听 常见报错 configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config #yum -y install net-snmp net-snmp-devel configure: error: Unable to use libevent (libevent check failed) #yum -y install libevent libevent-devel

四、配置web站点 1、cd /…../…../zabbix-4.0.3/ cp -r /…../…../zabbix-4.0.3/frontends/php /usr/html/zabbix chown nginx:nginx -R /usr/html/zabbix 备注:/usr/html为Nginx默认站点目录 nginx为Nginx运行账户 2、在浏览器中打开: http://IP或域名/zabbix 安装过程报错处理 Minimum required size of PHP post is 16M (configuration option "post_max_size"). Minimum required limit on execution time of PHP scripts is 300 (configuration option "max_execution_time"). Minimum required limit on input parse time for PHP scripts is 300 (configuration option "max_input_time"). Time zone for PHP is not set (configuration parameter "date.timezone"). PHP gd extension missing (PHP configuration parameter --with-gd). PHP gd PNG image support missing. PHP gd JPEG image support missing. PHP gd FreeType support missing. PHP gettext off Warning

#vi /etc/php.ini #编辑修改 post_max_size =16M max_execution_time =300 max_input_time =300 date.timezone = Asia/Shanghai

下载freetype-2.9.tar.gz 与 jpegsrc.v9c.tar.gz tar –jxvf jpegsrc.v9c.tar.gz #解压 之后进入安装目录 #./configure --prefix=/usr/local/jpeg --enable-shared #make && make install tar –jxvf freetype-2.9.tar.gz #解压 之后进入安装目录 #./configure --prefix=/usr/local/freetype --enable-shared #make && make install cd /../…/ext/gd 进入PHP的安装目录 编译安装gd #/usr/local/php/bin/phpize #./configure --with-jpeg-dir=/usr/local/jpeg/ --with-freetype-dir=/usr/local/freetype --with-php-config=/usr/local/php/bin/php-config #make && make install 查看是否支持gd“1”表示命令: /usr/local/php/bin/php -r 'print_r(gd_info());' cd /../…/ext/gettext 进入PHP的安装目录 编译安装gd #/usr/local/php/bin/phpize #./configure --with-php-config=/usr/local/php/bin/php-config #make && make install Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/ #安装结束后会出现共享库安装位置,进入/etc/my.ini 添加 extensions = /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/gd.so extensions = /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/gettext.so

然后重启各项服务 配置MySQL数据库信息 Database:MySQL Database host:127.0.0.1 Database port:use default port Database name:zabbix User:zabbix Password:123456

#cp /usr/html/conf/zabbix.conf.php.example /usr/html/conf/zabbix.conf.php 复制配置文件,并更改以上配置 安装完成登录 默认用户:admin 密码:zabbix

3、替换监控图像上系统默认的字体 #默认字体不支持中文,如果不替换,图像上会显示乱码 在Windows系统中的C:\Windows\Fonts目录中复制出一个中文字体文件,例如msyh.ttf 把字体文件msyh.ttf上传到zabbix站点根目录下fonts文件夹中 例如:/usr/html/zabbix/fonts 备份默认的字体文件:DejaVusSans.ttf-bak 修改msyh.ttf名称为DejaVusSans.ttf