Zabbix官方最近针对开发者发布了6.0的第一个预览版,代号为6.0 alpha1,和预想的一样,功能大部分在开发,并不是正式发布的测试版本,所以功能上也没什么太多值得提的地方,前段时间的深圳大会,CEO Alexei Vladishev也提到过6.0的一些消息,正式版应该在12月份推出,但测试版本肯定会提前一到二个月的时间,等到官方正式发布,我再给大家介绍详细的改进,今天这篇文章主要是借6.0实现CentOS7依然可以安装使用。
正文
环境
- 系统版本:CentOS 7.9
- Zabbix版本:6.0 alpha1
预装工具(如有请忽略)
yum -y install vim wget
下载pre-6.0.0alpha1包并解压
cd /tmp
wget https://www.zabbix.com/downloads/nightly/pre-zabbix-6.0.0alpha1-f8219dcac2.tar.gz
tar -zxvf pre-zabbix-6.0.0alpha1-f8219dcac2.tar.gz
编译安装zabbix6.0alpha1
进入Zabbix目录
cd /tmp/zabbix-6.0.0alpha1
创建zabbix用户及zabbix用户组
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
编译zabbix,启用snmp、server、agent功能
mkdir /opt/zabbix
./configure --prefix=/opt/zabbix/ --enable-server --enable-agent --with-net-snmp --with-mysql
出现下图的问题即为gcc环境未装
解决办法为:
yum -y install gcc-c++
出现下图的问题即为mysql的库未装,自带库的mysql版本为5.6,这里需要装mysql8.0
yum install https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm -y
安装mysql开发库
yum -y install mysql-devel
出现下面问题,net-snmp库未安装
yum -y install net-snmp-devel
出现下图问题,属于libevent库未安装
yum -y install libevent-devel
出现下图,编译就完成了。
紧接着make install 即可
make install
LAMP环境部署
环境要求
由于CentOS7自带PHP版本为5.6,所以需要安装额外的库,也是remi的库。
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
yum install yum-utils -y
yum-config-manager --disable 'remi-php*'
yum-config-manager --enable remi-php74
安装php
yum -y install php
移动前端文件至web服务的根目录并授权
cp /tmp/zabbix-6.0.0alpha1/ui/* /var/www/html/ -R
chown apache:apache /var/www/html -R
启动服务并访问前端
systemctl start httpd && systemctl enable httpd
解决前端PHP错误的问题(如下图)
yum -y install php-bcmath php-gd php-xml php-mbstring php-mysqlnd php-ldap
vim /etc/php.ini
修改完成后重启web服务
service httpd restart
数据库部分
安装数据库
yum-config-manager --enable mysql80-community
yum install mysql-community-server -y
启动数据库
systemctl start mysqld && systemctl enable mysqld
查看mysql初始化密码
grep 'temporary password' /var/log/mysqld.log
初始化数据库
这里需要注意的是密码要求,3种元素
mysql_secure_installation
创建数据库
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by 'Huawei@123';
grant all privileges on zabbix.* to zabbix@localhost;
quit;
导入数据库架构及数据
mysql -uzabbix -pHuawei@123 zabbix < /tmp/zabbix-6.0.0alpha1/database/mysql/schema.sql
mysql -uzabbix -pHuawei@123 zabbix < /tmp/zabbix-6.0.0alpha1/database/mysql/images.sql
mysql -uzabbix -pHuawei@123 zabbix < /tmp/zabbix-6.0.0alpha1/database/mysql/data.sql
前端配置连接数据库
配置Zabbix Server配置文件
文件目录在/opt/zabbix/etc/zabbix_server.conf,修改数据库密码
vim /opt/zabbix/etc/zabbix_server.conf
启动Zabbix server、Zabbix agent
cd /opt/zabbix/sbin/
./zabbix_server
./zabbix_agentd
附录
zabbix-agent.service守护文件
vim /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/opt/zabbix/etc/zabbix_agentd.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-agent
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_agentd.pid
KillMode=control-group
ExecStart=/opt/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
zabbix-server.service守护文件
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=/opt/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/tmp/zabbix_server.pid
KillMode=control-group
ExecStart=/opt/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
写在最后
整个编译下来其实就是对环境熟悉的过程,当然在CentOS 7安装6.0还是存在一定的小问题,建议大家还是用官方推荐的CentOS8系列的系统,编译过程虽然麻烦,但是仔细研究透了也就那么回事,大家在用其他的开源软件的时候就不会觉得陌生了,毕竟不是所有的软件都能像zabbix这样提供软件包安装。