安装环境
操作系统:openEuler-24.03-LTS
Zabbix版本:7.0.3
数据库:MySQL 8.0(Zabbix6.0.15 只支持8.0以上版本)
前端:Apache、PHP8.0
一、准备工作
#安装环境
sudo dnf install -y gcc-c++ curl-devel wget mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel tar make fping
cd /opt #进入opt目录
wget https://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-7.0.3.tar.gz #下载zabbix
tar -zxvf zabbix-*.tar.gz #解压zabbix
临时关闭SELinux(不需要重启,立即生效,但重启后恢复,我们需要永久关闭SELinux)
将/etc/selinux/config中的SELINUX=enforcing改为SELINUX=disabled
setenforce 0
永久关闭SELinux(重启后生效)
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
查看是否修改成功
grep -n 'SELINUX=' /etc/selinux/config
二、安装数据库
1.安装MySQL
sudo dnf install -y mysql-server #安装MySQL
2.启动MySQL并查看MySQL启动状态
systemctl start mysqld && systemctl enable mysqld #启动和开机自启MySQL
service mysqld status #查看MySQL启动状态
出现 active (running)代表安装并启动成功
3.登录MySQL
默认没有密码,直接回车登录
mysql -uroot -p
4.修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Admin@123456';
将Admin@123456换成你想要的密码,密码要有一定的复杂度。
5.创建数据库:
创建zabbix用户的并设置密码,此文档用的是Admin@123456(将Admin@123456换成你想要的密码,密码要有一定的复杂度)
#创建数据库
create database zabbix character set utf8 collate utf8_bin;
#创建zabbix用户
create user zabbix@localhost identified by 'Admin@123456';
grant all privileges on zabbix.* to zabbix@localhost;
quit;
6.初始化数据库
mysql -uroot -pAdmin@123456 zabbix < /opt/zabbix-*/database/mysql/schema.sql
mysql -uroot -pAdmin@123456 zabbix < /opt/zabbix-*/database/mysql/images.sql
mysql -uroot -pAdmin@123456 zabbix < /opt/zabbix-*/database/mysql/data.sql
语句说明:-u后面是用户名;-p后面是密码;<后面是sql文件的绝对路径;
执行改语句会出警告:[Warning] Using a password on the command line interface can be insecure.
意思是:在命令行界面上使用明文密码可能不安全;此语句不影响命令执行。
三、安装Zabbix
1.创建group,并添加虚拟用户zabbix
groupadd zabbix
useradd -g zabbix -M -s /sbin/nologin zabbix
2.编译Zabbix Server和Zabbix agent
cd /opt/zabbix-*/ #进入源代码所在目录
./configure --sysconfdir=/etc/zabbix/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-openssl --with-ldap --with-libcurl --with-libpcre
出现下图代表编译成功
3.安装Zabbix Server和Zabbix agent
make install #安装
zabbix_server --version #查看安装的zabbix_server版本
出现下图代表安装成功
4.修改 zabbix_server 配置文件,添加数据库登录密码
MySQL数据库zabbix用户的密码,此文档用的是Admin@123456
sed -i 's/# DBPassword=/DBPassword=Admin@123456/' /etc/zabbix/zabbix_server.conf
查看是否修改成功
grep -n 'DBPassword=' /etc/zabbix/zabbix_server.conf
5.编写Zabbix Server系统管理启动文件
echo "[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysql.service
[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
Restart=always
KillSignal=SIGINT
User=zabbix
[Install]
WantedBy=multi-user.target">/usr/lib/systemd/system/zabbix_server.service
查看文件是否正确写入
cat /usr/lib/systemd/system/zabbix_server.service
6.编写Zabbix agent系统管理启动文件
echo "[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
Restart=always
RestartSec=10s
KillSignal=SIGINT
User=zabbix
[Install]
WantedBy=multi-user.target">/usr/lib/systemd/system/zabbix_agent.service
查看文件是否正确写入
cat /usr/lib/systemd/system/zabbix_agent.service
7.关闭zabbix_server 进程,开启 zabbix-server 并设置开机自启
systemctl daemon-reload
pkill zabbix_server
systemctl start zabbix_server && systemctl enable zabbix_server
8.查看zabbix_server 是否启动成功
systemctl status zabbix_server
如图代表成功:
9.关闭zabbix_agent进程,开启 zabbix-agent 并设置开机自启
systemctl daemon-reload
pkill zabbix_agent
systemctl restart zabbix_agent && systemctl enable zabbix_agent
10.查看abbix_agent 是否启动成功
systemctl status zabbix_agent
11.开启防火墙Zabbix服务端10051端口
sudo firewall-cmd --zone=public --add-port=10051/tcp --permanent #开启指定端口(10051)
sudo firewall-cmd --reload #重新加载配置文件
四、搭建web前端
1.安装php8.0
sudo dnf install -y php-8.*
cp /opt/zabbix-*/ui/* /var/www/html/ -R #将源码中的ui文件复制到php目录
chown apache:apache /var/www/html -R
systemctl start httpd && systemctl enable httpd
sudo dnf install -y php-bcmath php-gd php-xml php-mbstring php-mysqlnd php-ldap
2.修改php.ini文件
修改php.ini文件
默认值为:
post_max_size = 8M
max_execution_time = 30
max_input_time = 60
Zabbix要求最低值为:
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
sed -i 's/post_max_size = 8M/post_max_size = 16M/' /etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/' /etc/php.ini
sed -i 's/max_input_time = 60/max_input_time = 300/' /etc/php.ini
查看是否修改成功
grep -n 'post_max_size =' /etc/php.ini
grep -n 'max_execution_time =' /etc/php.ini
grep -n 'max_input_time =' /etc/php.ini
3.重新加载配置文件
sudo service php-fpm reload #重新加载配置
4.开启防火墙http端口
sudo firewall-cmd --permanent --zone=public --add-service=http #打开http端口
sudo firewall-cmd --reload #重新加载防火墙