基于CentOS7利用源码包安装Zabbix5.2

利用源码包安装Zabbix5.2(基于CentOS 7)

前言

开源在于折腾,至于源码的好处各自有各自的看法,这里不废话,由于zabbix 5.2的版本官方不再提供CentOS 7版本的安装方法,所以想体验5.2版本的人只能先升级你的系统版本,但是开源的产品没有道理不能安装,所以今天给大家带来基于CentOS 7.6的Zabbix 5.2源码安装笔录,由于篇幅较长,建议收藏,另外同步发布视频,欢迎收看哦。

基础环境搭建

安装wget、vim等常用工具(如有请忽略)

yum -y install wget vim

安装数据库

yum -y install mariadb-server
利用源码包安装Zabbix5.2(基于CentOS 7)

启动数据库并设置为开机启动,初始化数据库及创建Zabbix相关数据库实例

systemctl start mariadb && systemctl enable mariadb
mysql_secure_installation (数据库初始化,设置密码,过程略,可以参考本人视频)
mysql -uroot -pxiaoyu123
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by \'xiaoyu123\';
grant all privileges on zabbix.* to zabbix@localhost;
quit;
利用源码包安装Zabbix5.2(基于CentOS 7)

下载zabbix 5.2的源码包

wget  https://cdn.zabbix.com/zabbix/sources/stable/5.2/zabbix-5.2.1.tar.gz

解压镜像

tar -zxvf zabbix-5.2.1.tar.gz(我的文件放在/tmp下)
利用源码包安装Zabbix5.2(基于CentOS 7)

创建zabbix用户,同时创建家目录

groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
mkdir -m u=rwx,g=rwx,o= -p /usr/lib/zabbix
chown zabbix:zabbix /usr/lib/zabbix
利用源码包安装Zabbix5.2(基于CentOS 7)

预编译环境

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

详细可参考官网,这里代表启用server、agent、数据库为mysql。

接下来开启排错折腾之旅

利用源码包安装Zabbix5.2(基于CentOS 7)

这里因为没有C语言环境,所以需要安装GCC

yum -y install gcc
利用源码包安装Zabbix5.2(基于CentOS 7)

这里提示为没有mysql的库文件,所以需要安装mysql-devel

yum -y install mysql-devel
利用源码包安装Zabbix5.2(基于CentOS 7)

这里缺少libxml2文件及其库文件,需要安装libxml2 libxml2-devel

yum -y install libxml2 libxml2-devel
利用源码包安装Zabbix5.2(基于CentOS 7)

如果之前没有跟上–with-net-snmp这里应该不会报错,作用为SNMP功能,这里需要安装两个包,net-snmp,net-snmp-devel

yum -y install net-snmp net-snmp-devel
利用源码包安装Zabbix5.2(基于CentOS 7)

这里是缺少libevent及其库文件

yum -y install libevent libevent-devel
利用源码包安装Zabbix5.2(基于CentOS 7)

缺少curl的库文件

yum -y install curl-devel
利用源码包安装Zabbix5.2(基于CentOS 7)
利用源码包安装Zabbix5.2(基于CentOS 7)

看到这里预编译已经完成,安装路径一定要记得,我这里为/usr/local,输入make install正式编译安装。

make install

代码刷完后即进入下一个阶段,这里我们开始前端的部署

前端

首先,导入数据库架构文件至数据库

mysql -u zabbix -pxiaoyu123 -h localhost zabbix < schema.sql
mysql -u zabbix -pxiaoyu123 -h localhost zabbix < images.sql
mysql -u zabbix -pxiaoyu123 -h localhost zabbix < data.sql
利用源码包安装Zabbix5.2(基于CentOS 7)

安装http服务和php服务,由于CentOS 7默认php版本为5.6,所以需要安装额外yum源

利用源码包安装Zabbix5.2(基于CentOS 7)

zabbix 5.2最低要求为7.2

yum -y install epel-release yum-utils
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php72
yum -y install httpd php php-fpm php-json

移动Zabbix前端文件到http根目录下

cp /tmp/zabbix-5.2.1/ui/* /var/www/html/ -R

赋予文件夹的权限

chown apache:apache /var/www/html/ -R

开启相关服务

systemctl start httpd php-fpm && systemctl enable httpd php-fpm

访问前端,此时无需跟后缀名称,输入IP地址即可

利用源码包安装Zabbix5.2(基于CentOS 7)

熟悉的界面

解决前端环境问题,下图我们可以看出,分为两类问题,一类为包没装,另一类为配置文件不符合。

yum -y install php-gd php-bcmath php-mbstring php-xmlwriter php-xmlreader php-mysqli
利用源码包安装Zabbix5.2(基于CentOS 7)

报错信息

利用源码包安装Zabbix5.2(基于CentOS 7)

包依赖问题解决

利用源码包安装Zabbix5.2(基于CentOS 7)

修改配置文件

利用源码包安装Zabbix5.2(基于CentOS 7)

恢复正常

利用源码包安装Zabbix5.2(基于CentOS 7)

前端部分搞定

Server部分

修改配置文件,如果不知道配置文件在哪个目录,可以输入find / -name zabbix_server.conf,将里面的数据库密码替换为你的数据库密码

利用源码包安装Zabbix5.2(基于CentOS 7)

修改密码

创建启动文件,也可以直接进目录执行相对应的文件

Server部分

vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=mysql.service
After=mysqld.service
After=mariadb.service
After=postgresql.service
After=pgbouncer.service
After=postgresql-9.4.service
After=postgresql-9.5.service
After=postgresql-9.6.service
After=postgresql-10.service
After=postgresql-11.service
After=postgresql-12.service

[Service]
Environment="CONFFILE=/usr/local/etc/zabbix_server.conf"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/usr/local/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0

[Install]
WantedBy=multi-user.target

agent部分

vim /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/usr/local/etc/zabbix_agentd.conf"
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/usr/local/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target

启动server及agent

systemctl start zabbix-server zabbix-agent &&systemctl enable zabbix-server zabbix-agent
利用源码包安装Zabbix5.2(基于CentOS 7)

大功告成

写在最后

源码安装的方式适合你对该软件的理解,实际上如果仅仅是使用推荐采用yum包安装方式,更加便捷,排错起来更加方便,当你达到一定的理解时候再尝试该种方式。

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/soft/15800.html

发表评论

登录后才能评论