
大家好,我是秋意临。
😈 CSDN作者主页
👿 简介
- 👻 普通本科生在读
- 在校期间参与众多计算机相关比赛,如:🌟 “省赛”、“国赛”,斩获多项奖项荣誉证书
- 🔥 各个平台,秋意临 账号创作者
- 🔥 云社区 创建者
欢迎加入云社区
这一章我们将搭建 zabbix,由于官网提供的 zabbix-6.0 版本没有 yum 安装,所以我们需要下载 zabbix-6.0 源码使用编译安装 zabbix-6.0。

注意:我们自主练习,这里我们目前只需要一个 zabbix_server 节点,zabbix_agent2 节点目前没有牵扯到安装配置。
1、 节点规划
| 系统 | IP | 服务 | VCPUS | MEMORY |
|---|---|---|---|---|
| centos7.x | 192.168.200.5 | LNMP、zabbix_server、zabbix_ui | 2vcpus | 4g |
| centos7.x | 192.168.200.6 | nginx、zabbix_agent2 | 2vcpus | 4g |
图解,如下图:

2、安装要求
maridb 数据库软件要求

php 软件要求

zabbix_server、agent 软件条件

agent2 软件要求

详细信息查看
官方源码下载地址:https://www.zabbix.com/cn/download_sources#60LTS
推荐下载带有 TLS 的版本,因为这是长期维护版(3-10年),其他(1-3年)
如下图所示:

说明:基础环境,所以主机都需要配置
修改主机名
1.serverhostnamectl set-hostname zabbix_server01bash # 或者 ctrl+d 重新登录2.agenthostnamectl set-hostname zabbix_agent01bash # 或者 ctrl+d 重新登录
配置host
cat >> /etc/hosts << EOF
192.168.200.5 zabbix_server01
192.168.200.6 zabbix_agent02
EOF
关闭防火墙、selinux
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
配置 yum
# 清除默认yum
rm -rf /etc/yum.repos.d/*# 阿里云 centos7 yum
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo#nginx yum
cat > /etc/yum.repos.d/nginx.repo << EOF
[nginx]
name=nginx
baseurl=https://nginx.org/packages/centos/7/x86_64/
gpgcheck=0
enabled=1
EOF#mariadb yum
cat > /etc/yum.repos.d/mariadb.repo <
时间同步
yum install -y ntpdate
ntpdate ntp1.aliyun.com
说明:这里我们只在 zabbix_server01 主机节点操作
1、安装
yum install nginx -y
2、配置
vim /etc/nginx/conf.d/default.confserver {listen 80;server_name localhost;#access_log /var/log/nginx/host.access.log main;location / {root /usr/share/nginx/html; ## 可以修改前端页面代码路径 index index.html index.htm index.php; ## 添加 index.php ,使得默认可以识别 index.php 文件}# 取消这里的注释,并修改
location ~ \.php$ {root /usr/share/nginx/html; # 修改 和上面的前端页面代码路径一致fastcgi_pass 127.0.0.1:9000; # 9000是 php-fpm 的进程,而 php 文件都需要交给 php-fpm 处理fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; 使用这个会找不到 文件 “ File Not Found ” fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
3、启动
systemctl enable nginx
systemctl start nginx
netstat -ntpul | grep 80
4、浏览器测试

1、安装
yum install php72w-cli php72w-fpm php72w-ldap php72w-mbstring php72w-xml php72w-common php72w-bcmath php72w-gd php72w-ldap php72w-mysqlnd mod_php72w -y
2、配置
vim /etc/php-fpm.d/www.conf
# 修改用户和组为nginx
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
3、编写 info.php 测试文件
cat > /usr/share/nginx/html/info.php << EOF
EOF
4、启动
systemctl enable php-fpm
systemctl start php-fpm
netstat -ntpul | grep 9000
5、浏览器测试
注意路径需填写到 info.php

注意:数据库有版本要求,需要10.5及以上
1、安装
yum install mariadb-server -y
2、启动
systemctl enable mariadb
systemctl start mariadb
3、初始化
$ mysql_secure_installationEnter current password for root (enter for none): # 默认回车Switch to unix_socket authentication [Y/n] n # 输入nChange the root password? [Y/n] y # 输入y
New password: # # 输入密码
Re-enter new password: # 确认密码Remove anonymous users? [Y/n] y # 输入yDisallow root login remotely? [Y/n] n # 输入nRemove test database and access to it? [Y/n] y # 输入yReload privilege tables now? [Y/n] y # 输入y
4、创建数据库、用户、给 zabbix 数据库授予权限、导入 zabbix 数据表
注意:zabbix 数据表在源码中,上传你所下载的源码到 zabbix_server01 主机
# 进入 mariadb 数据库
$ mysql -uroot -p0000001. 创建数据库要指定字符集
create database zabbix charset utf8 collate utf8_bin;2. 创建zabbix用户、并给予操作 zabbix 数据库的权限
grant all on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix';
grant all on zabbix.* to 'zabbix'@'%' identified by 'zabbix';3、解压 zabbix 源码包
tar -xf zabbix-6.0.14.tar.gz
cd zabbix-6.0.14/database/mysql/4、导入 zabbix 数据库的数据表
mysql -uroot -p000000 zabbix < schema.sql
mysql -uroot -p000000 zabbix < images.sql
mysql -uroot -p000000 zabbix < data.sql
mysql -uroot -p000000 zabbix < double.sql
mysql -uroot -p000000 zabbix < history_pk_prepare.sql5、查看 zabbix 数据库是否存在表、及表中是否有数据
mysql -uroot -p000000 -e "use zabbix; show tables; select * from widget_field;"
5、启动
systemctl enable mariadb && systemctl start mariadb
netstat -ntpul | grep 3306
注意:在zabbix_server 主机上执行
1、安装依赖
yum install 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 gcc -y
2、配置环境变量
不配置下列变量,编译会报错,大概就是gcc版本问题,详细信息请跳转

cat >> /etc/profile << EOF
export CFLAGS="-std=gnu99"
EOFsource /etc/profile
3、编译安装
cd zabbix-6.0.14./configure --sysconfdir=/etc/zabbix/ --enable-server --with-mysql --with-net-snmp --with-libxml2 --with-ssh2 --with-openipmi --with-zlib --with-libpthread --with-libevent --with-ldap --with-openssl --with-libcurl --with-ibpcremake install#检测上一条命令是否执行成功,如果输出0 代表成功,否则失败
echo $?
4、配置 zabbix_server.conf
注意:修改日志文件路径后,注意修改用户和组的权限为 zabbix ,如: chown zabbix.zabbix /var/log/zabbix/
$ egrep -nv '^$|#' /etc/zabbix/zabbix_server.conf
13:ListenPort=10051
39:LogFile=/tmp/zabbix_server.log # 建议修改 日志文件路径为:/var/log/zabbix/zabbix_server.log
89:DBHost=localhost
101:DBName=zabbix # 确保和自己数据一致
117:DBUser=zabbix # 确保和自己数据一致
126:DBPassword=zabbix # 确保和自己数据一致
510:Timeout=4
596:LogSlowQueries=3000
711:StatsAllowedIP=127.0.0.1
5、zabbix_server 命令启动
注意:如果这里启动失败,注意去看 zabbix_server.log 日志文件
# -s:用户以什么shell环境执行 /sbin/nologin : 用户无法登录系统,但可以使用系统资源 -M: 不创建家目录
useradd -s /sbin/nologin -M zabbix
zabbix_servernetstat -ntplu|grep 10051
ps -ef|grep zabbix# 停止 zabbix_server
kill 26376 # zabbix_server 的 PID
6、配置 systemctl 命令启动 zabbix_server
#书写systemctl配置文件
cat > /usr/lib/systemd/system/zabbix-server.service <
复制 zabbix 源码包中 ui 目录下得 php 前端页面,到 nginx web页面得工作目录下
cp -r /root/zabbix-6.0.14/ui/* /usr/share/nginx/html/# 修改用户和组权限,使得 nginx 可以访问
chown -R nginx.nginx /usr/share/nginx/html/systemctl restart nginx
浏览器访问,就可以看到 zabbix_ui 页面:

1、语言选择中文后,点击下一步

2、这里条件检测发现出现三个失败,这里不要慌,只需要修改 php.ini 配置文件达到对应的要求即可,要求如图:

1.修改对应的值
$ egrep 'post_max.*|.*_time' /etc/php.ini
; max_input_time
max_execution_time = 300
max_input_time = 600
post_max_size = 80M
default_socket_timeout = 60
;oci8.persistent_timeout = -12.重启 php-fpm,再次访问即可
$ systemctl restart php-fpm

3、连接 DB

4、设置主页信息,选择时区(上海),主题

5、安装


1、默认用户名称和密码:
用户名称:Admin
密码:zabbix

2、 恭喜您到这里我们 zabbix-6.0 就全部按照完成了
我们通过监控,可以看到页面中存在一个一般严重的问题,问题是 zabbix_server 主机的 agent 不可用,不要慌,因为我们根本没有安装,安装配置 agent 我们将在下一章说明。

👏 我是秋意临,欢迎大家一键三连、加入云社区
👋 我们下期再见(⊙o⊙)!!!