【Zabbix 4.0】全编译安装Nginx+MySQL+PHP+ZABBIX 4.0教程
Zabbix 4.0在性能上提升了10-20%,分布式网络带宽消耗降低80%,告警处理流程也得到了提升。如果是打算全新部署Zabbix监控的话推荐直接用最新版获得子最好的性能和功能。
下面是编译安装Zabbix 4.0的详细步骤:
一、系统相关设置
1、关闭防火墙与Selinux防止未知错误
iptables -F setenforce 0 #还需修改/etc/selinux/config永久生效 systemctl disable firewalld systemctl stop firewalld
2、安装开发工具包,后面在进行软件的编译安装时会需要相关软件的支持
yum groupinstall "Development Tools" -y
二、Nginx部分(Zabbix 官方RPM包是用的httpd,这是因为虽然Nginx虽然性能更好,但是Zabbix在日常使用中并不需要太高并发)
1、编译安装Nginx并开启常用的功能
yum install pcre-devel openssl-devel -y #安装pcre和ssl库用于支持rewrite和https useradd -s /sbin/nologin -M nginx #创建Nginx用户,不让其可登录,不创建家目录 #编译安装Nginx所需参数 ./configure \ --prefix=/usr/local/nginx \ --sbin-path=/usr/sbin/ \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_gunzip_module \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --with-pcre make && make install
三、MySQL部分
1、使用二进制包安装MySQL
yum install libaio-devel -y #安装相关扩展库 rm -rf /etc/my.cnf #删除系统自带的配置文件 useradd -s /sbin/nologin -M mysql #为MySQL创建用户 #对MySQL进行初始化 /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/mysql_data #建立一个简单的配置文件,这里没包含优化参数 vi /etc/my.cnf [mysqld] basedir=/usr/local/mysql datadir=/mysql_data #复制启动脚本并启动MySQL服务 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld service mysqld start
四、编译安装PHP7
#安装PHP相关扩展库 yum install libxml2-devel libjpeg-devel libpng-devel freetype-devel -y #编译安装PHP7 ./configure \ --prefix=/usr/local/php7 \ --bindir=/usr/bin \ --sbindir=/usr/sbin \ --enable-fpm \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --with-gd \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --with-freetype-dir \ --enable-mbstring \ --with-pcre-dir \ --enable-mysqlnd \ --with-pdo-mysql \ --enable-bcmath \ --enable-sockets \ --with-mysqli=/usr/local/mysql/bin/mysql_config make && make install #复制配置文件 cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf cp -a /usr/local/src/php-7.2.6/php.ini-production /usr/local/php7/lib/php.ini #启动PHP-FPM,以后需要重启的话直接杀掉再启动进程就可以了 php-fpm
五、Zabbix部分
1、由于Zabbix服务端在对Tomcat等Java程序进行监控时需要启动java gateway,所以必须要配置好JDK环境
tar zxf jdk-8u171-linux-x64.tar.gz mv jdk1.8.0_171/ /usr/local/jdk cat /etc/profile.d/java.sh export JAVA_HOME=/usr/java/latest export PATH=$JAVA_HOME/bin:$PATH . /etc/profile.d/java.sh
2、编译安装zabbix,这里同时开启了--enable-server、--enable-agent以及--enable-java。
#创建Zabbix用户 useradd -s /sbin/nologin -M zabbix #安装相关扩展库 yum install libevent-devel -y #编译安装Zabbix 3.4 ./configure \ --prefix=/usr/local/zabbix \ --enable-server \ --enable-agent \ --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config \ #如果是yum安装的mysql只需要些--with-mysql,不用补全路径 --with-libcurl make && make install
3、Zabbix的配置与数据库相关操作,需要导入三张表文件(以后需要安装Zabbix proxy的话,只需要导入schema.sql这张表)
#zabbix_server.conf主配置文件只需要做以下修改就可以完成基本监控了,注意Log和Pid目录需要先创建好 ListenPort=10051 LogFile=/usr/local/zabbix/log/zabbix_server.log LogFileSize=500 DebugLevel=3 PidFile=/usr/local/zabbix/pid/zabbix_server.pid DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=123456 DBPort=3306 Timeout=4 LogSlowQueries=3000 JavaGateway=localhost JavaGatewayPort=10052 StartJavaPollers=5 #修改Zabbix属主 chown -R zabbix. /usr/local/zabbix/ #按顺序为Zabbix创建数据库并导入相关数据,数据库文件在源码包database/mysql中 mysql > grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by '123456'; mysql > grant all privileges on zabbix.* to 'zabbix'@'%' identified by '123456'; mysql > flush privileges; /usr/local/mysql/bin/mysql -uroot -p zabbix < /usr/local/src/zabbix-4.2.3/database/mysql /usr/local/mysql/bin/mysql -uroot -p zabbix < /usr/local/src/zabbix-4.2.3/database/images.sql /usr/local/mysql/bin/mysql -uroot -p zabbix < /usr/local/src/zabbix-4.2.3/database/data.sql #启动Zabbix,如果有mysqlclient报错的话做个软连接即可 /usr/local/zabbix/sbin/zabbix_server ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib64
4、访问Zabbix页面进行安装,页面文件从Zabbix源码包中frontpage/php拷贝,如果安装过程中页面提示有PHP参数错误的话可以根据提示修改php.ini(这些参数在使用rpm安装时会自动写在httpd的配置文件里,所以使用rpm安装是不需要修改PHP参数的)如果页面出现空白的话通过Nginx日志可以看到是因为字体没有安装,编译PHP的时候加上--enable-bcmath参数即可。整个过程安装完成后Zabbix默认的用户名是Admin,密码是zabbix(注意大小写)
关于Java程序的监控
在配置Zabbix主配置文件时定义了JavaGateway的信息,这是为了监控Java程序做的准备(比如监控Tomcat)。Zabbix需要通过JavaGateway来调用JVM获取相关数据。启动JavaGateway(启动脚本/usr/local/zabbix/sbin/zabbix_java/startup.sh)后程序默认监听10052端口。然后还要配置Tomcat远程jvm的权限,如图,只需要将IP修改为Tomcat主机的IP地址:
评论