一、基础环境:
服务器版本:openEuler 22.03 LTS
准备基础环境:
dnf -y install nginx mysql php-* php
systemctl start nginx mysqld php-fpm && systemctl enable nginx mysqld php-fpm
二、开始搭建:
(一):添加用户,用户组
groupadd --system zabbix
useradd --system -g zabbix -d /usr/lib/zabbix -s /sbin/nologin/ zabbix
(二):配置数据库:
1.初始化数据库:
mysql_secure_installation
(此处执行过程中出现的所有的提示,大多数地方只需要输入y即可,比如移除匿名用户,移除test库等,另外选择密码时,密码等级:0/LOW;1/MEDIUM;2、STRONG)
2.创建数据库及对应的用户
create database zabbix character set utf8mb4 collate utf8mb4_bin;
create zabbix@localhost identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;
set global log_bin_trust_function_creators = 1;
flush privileges;
quit
(三):编译安装zabbix
1. 解压压缩包
tar -zxvf zabbix-6.0.28.tar.gz
下载地址:Zabbix Cloud Images and Appliances
2. 编译安装
cd zabbix-6.0.28
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql
make install
error:mysql library not found
解决方法:dnf -y install mysql-devel
error:unable to use libevent
解决方法:dnf -y install libevent-devel
error:cannnot find pkg-config packages for libpcre
解决方法:dnf -y install pcre-devel
3. 修改php配置:
vim /etc/php.ini
post_max_size = 16M
max_excution = 300
max_inptu_time = 300
systemctl restart php-fpm
4. 导入数据库文件
切换到解压完的zabbix目录下
cd database/mysql/
cat schema.service |mysql -u zabbix -p zabbix
cat images.service |mysql -u zabbix -p zabbix
cat data.service |mysql -u zabbix -p zabbix
5.导入zabbix可视化界面
cd /usr/share/nginx/html
mkdir nginx_bak
mv * nginx_bak
#回到zabbix解压目录下
cp -a ui/* /usr/share/nginx/html
三、修改配置
1.配置zabbix-server
#/usr/local/zabbix/etc/zabbix_server.conf
Logdir = /var/log/zabbix/zabbix_server.log
PidFile = /tmp/zabbix_server.pid
DBName = zabbix
DBUser = zabbix
DBPassword = 'password'
Timeout = 4
LogSlowQueries = 3000
StatsAllowedIP = 0.0.0.0
2.配置zabbix-agent
#/usr/local/zabbix/etc/zabbix_agentd.conf
LogFile = /var/log/zabbix/zabbix_agentd.log
Server = "zabbix-Sever的IP"
Server_Active = "zabbix-Sever的IP"
Hostname = zabbix server
include = /usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
UnsafeUserParameters = 1
四:配置启动脚本
1.配置zabbix-server
#/usr/lib/systemd/system/zabbix-server.service
[Unit]
Description = Zabbix Server
After = syslog.target network.target
[Service]
Type = forking
Restart = on-failure
PIDFile = /tmp/zabbix_server.pid
KillMode = control-group
ExecStart = /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf
RestartSec = 10s
TimeoutSec = 0
User = zabbix
Group = zabbix
[Install]
WantedBy = multi-user.target
2.配置zabbix-agent
#/usr/lib/systemd/system/zabbix-server.service
[Unit]
Description = Zabbix Agent
After = syslog.target network.target
[Service]
Type = forking
Restart = on-failure
PIDFile = /tmp/zabbix_server.pid
KillMode = control-group
ExecStart = /usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf
RestartSec = 10s
TimeoutSec = 0
User = zabbix
Group = zabbix
[Install]
WantedBy = multi-user.target