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:WindowsFonts目录中复制出一个中文字体文件,例如msyh.ttf
把字体文件msyh.ttf上传到zabbix站点根目录下fonts文件夹中
例如:/usr/html/zabbix/fonts
备份默认的字体文件:DejaVusSans.ttf-bak
修改msyh.ttf名称为DejaVusSans.ttf