原文出处:乐维社区
部署环境
openEuler 22.03 LTS
PHP 8.0
Apache
Mysql 8.0
MySQL数据库
6.0 以上版本需要安装mysql8.0以上版本的数据库(以mysql为例子)。
欧拉系统自带 mysql8.0 的源,无需要安装额外的源。
安装mysql
dnf -y install mysql-server
启动数据库
systemctl start mysqld && systemctl enable mysqld
初始化数据库
mysql_secure_installation
New password:p@ssw0rd
后面一路回车即可
下载源码包
cd /tmp
wget https://cdn.zabbix.com/zabbix/sources/stable/7.2/zabbix-7.2.0.tar.gz
解压源码包
tar -zxvf zabbix-7.2.0.tar.gz
Zabbix部分
创建zabbix用户及用户组
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix
创建zabbix安装目录
mkdir -p /app/zabbix
开始编译
prefix 指定安装目录。
enable-server 启用 Zabbix Server。
enable-agent 启用 Zabbix agent。
with-mysql 后端指定数据库为mysql。
net-snmp 支持 snmp 协议。
其他参数可以参考 ./configure --help
进入解压资源目录
ls /tmp
cd /tmp/zabbix-6.2.4
./configure --prefix=/app/zabbix --enable-server --enable-agent --with-mysql
执行上面的命令就进入排错环节了。
第一个报错是mysql的开发库没有。
dnf -y install libevent-devel
dnf -y install mysql-devel
安装
make install
整体目录情况
PHP部分
openEuler 22.04 自带8.0版本,所以符合6.0以上版本的需求。
dnf -y install php php-fpm
Apache操作部分
由于安装PHP会自动安装apache服务,所以安装过程并未提及apache的安装过程,移动前端文件到apache服务的网页目录下。
mv /tmp/zabbix-6.2.4/ui/* /var/http/html
启动apache并访问。
systemctl start httpd && systemctl enable httpd
systemctl start php-fpm && systemctl enable php-fpm
此时会出现 PHP 所需要一些依赖和参数的报错,所以首先安装一些PHP相关的依赖。
dnf -y install php-gd php-mysqlnd php-bcmath php-xml php-mbstring
安装完依赖此时不需要重启任何服务,接下来调整PHP的配置文件。
vim /etc/php.ini
根据报错来调整三个值分别是 post_max_size,max_excution_time,max_input_time。
改完之后需要重启php-fpm服务
systemctl restart php-fpm
再进行刷新,就能够成功了(需要注意的是,此时会有一个ldap的选项是warning,大家可以忽略,如果不涉及域账号登录,该功能无任何意义)。
数据库配置部分
创建Zabbix所需要的数据库和用户
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create user zabbix@localhost identified by 'p@ssw0rd';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
quit;
导入Zbbix 的数据文件
cat /tmp/zabbix-7.2.0/database/mysql/schema.sql | mysql -uzabbix -p’p@ssw0rd’ zabbix
cat /tmp/zabbix-7.2.0/database/mysql/images.sql | mysql -uzabbix -p’p@ssw0rd’ zabbix
cat /tmp/zabbix-7.2.0/database/mysql/data.sql | mysql -uzabbix -p’p@ssw0rd’ zabbix
相关数据导入完成后关掉log_bin_trust_function_creators功能。
set global log_bin_trust_function_creators = 0;
quit;
完成这部分,就可以在前端进入数据库配配置界面。
此时会出现无法创建,这是由于目标目录没有权限导致的,可以点击蓝色字体将配置得好的文件下载下来,然后传到前端提示的目录里,该文这里路径为:/var/www/html/conf/
放好后,刷新网页。
默认用户名密码为Admin/zabbix
zabbix server处于异常状态,要对Server部分进行配置了。
制作 Zabbix server 守护文件
vim /usr/lib/systemd/system/zabbix-server.service
[Unit]
Description=Zabbix Server
After=syslog.target
After=network.target
After=postgresql.service
After=pgbouncer.service
After=postgresql-13.service
[Service]
Environment="CONFFILE=/app/zabbix/etc/zabbix_server.conf"
EnvironmentFile=-/etc/sysconfig/zabbix-server
Type=forking
Restart=on-failure
PIDFile=/app/zabbix/zabbix_server.pid
KillMode=control-group
ExecStart=/app/zabbix/sbin/zabbix_server -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
TimeoutSec=0
[Install]
WantedBy=multi-user.target
#注意pid文件所在的位置
编辑配置文件
vim /app/zabbix/etc/zabbix_server.conf
调整log存放的位置、数据库密码、PID存放的位置。
因为是源码安装,所以存放日志文件的目录不存在,所以需要自行创建,并授予对于的权限。
mkdir /var/log/zabbix
chown zabbix:zabbix /var/log/zabbix
调整完成后就启动 Zabbix Server
systemctl start zabbix-server && systemctl enable zabbix-server
也可使用/app/zabbix/sbin/zabbix_server -c /app/zabbix/etc/zabbix_server.conf
查看服务的状态
systemctl status zabbix-server
服务正常后查看日志
tail -f /var/log/zabbix_server.log
配置Zabbix-agent
创建服务
vim /usr/lib/systemd/system/zabbix-agent.service
[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Environment="CONFFILE=/app/zabbix/etc/zabbix_agent.conf"
Type=simple
Restart=on-failure
PIDFile=/app/zabbix/zabbix_agentd.pid
KillMode=control-group
ExecStart=/app/zabbix/sbin/zabbix_agentd -c $CONFFILE
ExecStop=/bin/kill -SIGTERM $MAINPID
RestartSec=10s
User=zabbix
Group=zabbix
[Install]
WantedBy=multi-user.target
修改zabbix agent配置文件
vim /app/zabbix/etc/zabbix_agentd.conf
调整pid文件的路径和日志的路径
启动zabbix agent
systemctl start zabbix-agent && systemctl enable zabbix-agent
也可使用/app/zabbix/sbin/zabbix_agentd -c /app/zabbix/etc/zabbix_agentd.conf
成品展示: