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环境部署
环境要求
数据库要求
http和php要求
由于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
修改post_max_size为16M
修改max_execution_time为300
修改max_input_time为300
修改完成后重启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这样提供软件包安装。