Zabbix 7.0.0 + Zabbix Agent2 + MySQL 8.0 完整安装部署指南


一、环境准备

1. 更新系统 & 安装基础工具

sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl vim gnupg lsb-release ca-certificates

2. 关闭防火墙与 AppArmor(测试环境可选)

# Ubuntu 默认使用 ufw
sudo ufw disable

# 临时禁用 AppArmor(非必须,但可避免权限问题)
sudo systemctl stop apparmor
sudo systemctl disable apparmor

⚠️ 生产环境建议保留并配置规则,而非完全关闭。


二、安装 MySQL 8.0(APT 方式)

1. 添加 MySQL APT 源(官方)

cd /tmp
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb

💡 安装过程中会弹出交互菜单:

  • 选择 MySQL Server & Cluster (Currently selected: mysql-8.0) → OK
  • 其他组件保持默认 → OK

2. 安装 MySQL 8.0

echo "deb [arch=amd64 trusted=yes] http://repo.mysql.com/apt/ubuntu jammy mysql-8.0" | sudo tee /etc/apt/sources.list.d/mysql.list
sudo apt update
sudo apt install -y mysql-server

3. 启动并启用服务

sudo systemctl start mysql
sudo systemctl enable mysql

4. 初始化安全设置(可选但推荐)

sudo mysql_secure_installation

可跳过密码验证插件设置(按需),后续我们手动创建用户。

5. 创建 Zabbix 数据库和用户

sudo mysql -u root

在 MySQL 中执行:

-- 创建数据库
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

-- 创建用户(使用 mysql_native_password 兼容性更好)
CREATE USER 'zabbix'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Zabbix@2000';

-- 授权
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;

使用 mysql_native_password 避免 Zabbix 与 MySQL 8 默认认证插件的兼容问题。


三、安装编译依赖

sudo apt install -y \
    build-essential \
    libsnmp-dev \
    libcurl4-openssl-dev \
    libevent-dev \
    libmysqlclient-dev \
    pkg-config \
    libxml2-dev \
    libpcre3-dev \
    libldap2-dev \
    libopenipmi-dev \
    libssh2-1-dev \
    libiksemel-dev \
    default-libmysqlclient-dev

四、下载并编译安装 Zabbix 7.0.0

1. 下载源码

cd /tmp
wget https://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-7.0.0.tar.gz

2. 解压并进入目录

sudo mkdir -p /usr/local/zabbix
sudo tar -zxvf zabbix-7.0.0.tar.gz -C /usr/local/zabbix/
cd /usr/local/zabbix/zabbix-7.0.0

3. 创建 zabbix 用户

sudo groupadd --system zabbix

sudo useradd --system -g zabbix -d /usr/local/zabbix -s /sbin/nologin zabbix

4. 编译安装(启用 Server + Agent + Web 监控)

./configure \
  --prefix=/usr/local/zabbix \
  --enable-server \
  --enable-agent \
  --with-mysql \
  --with-net-snmp \
  --with-libcurl \
  --with-libxml2 \
  --with-openipmi \
  --with-ssh2 \
  --with-ldap

make -j$(nproc)
sudo make install

✅ 编译成功后,二进制文件位于 /usr/local/zabbix/sbin//usr/local/zabbix/bin/


五、部署 Web 前端(PHP + Nginx)

1. 安装 Nginx 和 PHP 8.1

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu $(lsb_release -cs) nginx" | sudo tee /etc/apt/sources.list.d/nginx-mainline.list
apt update
sudo apt install -y nginx php-fpm php-mysql php-bcmath php-gd php-mbstring php-xml php-ldap php-curl

2. 配置 PHP(满足 Zabbix 要求)

编辑 /etc/php/8.1/fpm/php.ini

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Shanghai

重启 PHP-FPM:

sudo systemctl restart php8.1-fpm

3. 部署 Zabbix Web 文件

sudo mkdir -p /var/www/zabbix
sudo cp -r /usr/local/zabbix/zabbix-7.0.0/ui/* /var/www/zabbix/
sudo chown -R www-data:www-data /var/www/zabbix/

4. 配置 Nginx 虚拟主机

sudo tee /etc/nginx/conf.d/zabbix.conf <<'EOF'
server {
    listen 80;
    server_name 192.168.130.61;

    root /var/www/zabbix;
    index index.php;

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ ^/conf/ {
        deny all;
    }

    location ~ /\.ht {
        deny all;
    }
}
EOF


# 测试并重载
sudo nginx -t
sudo systemctl reload nginx

六、导入 Zabbix 数据库结构

cd /usr/local/zabbix/zabbix-7.0.0/database/mysql
# 1. 用 root 用户登录 MySQL
sudo mysql -u root -p

# 2. 执行以下命令(开启信任)
SET GLOBAL log_bin_trust_function_creators = 1;

# 3. 退出
EXIT;
# 4. 导入
sudo mysql -uzabbix -p'Zabbix@2000' zabbix < schema.sql
sudo mysql -uzabbix -p'Zabbix@2000' zabbix < images.sql
sudo mysql -uzabbix -p'Zabbix@2000' zabbix < data.sql

七、配置 Zabbix Server

编辑配置文件:

sudo vim /usr/local/zabbix/etc/zabbix_server.conf

确保以下内容正确:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@2000

八、创建 systemd 服务(便于管理)

1. Zabbix Server 服务

sudo tee /etc/systemd/system/zabbix-server.service <<'EOF'
[Unit]
Description=Zabbix Server
After=network.target mysql.service

[Service]
Type=simple
User=zabbix
ExecStart=/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf -f
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

2. Zabbix Agent 服务(监控本机)

sudo tee /etc/systemd/system/zabbix-agent.service <<'EOF'
[Unit]
Description=Zabbix Agent
After=network.target

[Service]
Type=simple
User=zabbix
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf -f
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

3. 重载并启动服务

sudo systemctl daemon-reload
sudo systemctl start zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent

九、设置中文页面

# 1. 下载官方完整源码(7.0.0)
cd /tmp

# 2. 解压
tar -xzf zabbix-7.0.0.tar.gz

# 3. 检查 locale 是否存在
ls /tmp/zabbix-7.0.0/ui/locale/zh_CN/LC_MESSAGES/frontend.po

# 4. 编译生成 zabbix.mo
cd /tmp/zabbix-7.0.0/ui/locale/zh_CN/LC_MESSAGES/
sudo apt install -y gettext
msgfmt frontend.po -o zabbix.mo

# 6. 复制整个 UI(含正确语言包)到 Web 目录
sudo cp -r /tmp/zabbix-7.0.0/ui/* /var/www/zabbix/
sudo chown -R www-data:www-data /var/www/zabbix/
sudo chmod -R 755 /var/www/zabbix/
# 6.重启服务
sudo systemctl restart nginx php8.1-fpm.service 

十、访问 Web 界面完成安装

浏览器访问:

http://<你的服务器IP>

按照向导操作:

  1. 检查先决条件(应全部 OK)
  2. 配置数据库连接:
    • Database type: MySQL
    • Host: localhost
    • Port: 0(默认)
    • Database name: zabbix
    • User: zabbix
    • Password: Zabbix@2000
  3. 设置 Server 名称(如 Zabbix-Monitor
  4. 点击 Next stepFinish

默认登录账号:

  • Username: Admin
  • Password: zabbix

注意:A 是大写!

🔑 默认登录凭证:

  • Username: Admin(注意大写 A)
  • Password: zabbix


Zabbix Agent2 安装部署(Ubuntu 22.04)

一、准备工作

1. 确认 Zabbix Server 配置

  • 在 Zabbix Web 中需提前创建主机(Host)
  • Agent 默认通过 10050 端口 接收 Server 请求(被动模式)
  • Server 主动连接 Agent → 需确保网络和防火墙允许 192.168.130.61 → 被监控机:10050

二、安装 Zabbix Agent2(两种方式任选其一)

✅ 方式一:【推荐】使用官方 APT 仓库(自动解决依赖)

# 1. 安装必要工具
sudo apt update
sudo apt install -y wget gnupg

# 2. 添加 Zabbix 官方 GPG 密钥(使用清华镜像加速)
wget -qO- https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix-official-repo.key | sudo gpg --dearmor -o /usr/share/keyrings/zabbix-archive-keyring.gpg

# 3. 添加 Zabbix 7.0 APT 源(Ubuntu 22.04 = jammy)
echo "deb [signed-by=/usr/share/keyrings/zabbix-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/7.0/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/zabbix.list

# 4. 安装 Zabbix Agent2
sudo apt update
sudo apt install -y zabbix-agent2

✅ 方式二:手动下载 .deb 包安装(适用于无网络或指定版本)

# 1. 下载主程序包(注意:不要下载 -dbgsym 包!)
wget https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/7.0/ubuntu/pool/main/z/zabbix/zabbix-agent2_7.0.0-1+ubuntu22.04_amd64.deb

# 2. 安装(自动处理依赖)
sudo apt install -y ./zabbix-agent2_7.0.0-1+ubuntu22.04_amd64.deb

三、配置 Zabbix Agent2

编辑配置文件:

sudo vim /etc/zabbix/zabbix_agent2.conf

修改以下关键参数(按实际替换):

# 必须与 Zabbix Web 中创建的 Host name 完全一致!
Hostname=web-server-01

# 允许哪些 Server 连接(被动检查)
Server=192.168.130.61

# 主动上报数据的目标 Server(主动检查)
ServerActive=192.168.130.61

# 监听所有网卡(默认仅 127.0.0.1)
ListenIP=0.0.0.0

📌 注意:配置文件是 zabbix_agent2.conf,不是 zabbix_agentd.conf


四、启动并启用服务

sudo systemctl enable --now zabbix-agent2
sudo systemctl status zabbix-agent2

应显示 active (running)


五、在 Zabbix Web 中添加主机

  1. 登录 Zabbix Web:http://192.168.130.61

  2. 进入 配置 → 主机 → 创建主机

  3. 填写:

    • 主机名称web-server-01(必须与 Hostname= 一致)
    • 群组:如 Linux servers
    • Agent 接口:IP 地址 + 端口 10050
  4. 切换到

    模板

    标签页,链接模板:

    • Linux by Zabbix agent (支持更多插件指标)
  5. 点击 添加


六、验证是否成功

  • 等待 1~2 分钟
  • 查看 监测中 → 主机
  • 出现绿色 ✔️ 表示数据正常上报
  • 若为灰色 ❌,检查:
    • Hostname 是否匹配
    • 网络连通性:telnet 192.168.130.61 10051(从 Agent 测试)
    • 防火墙是否放行
    • 日志:sudo tail -f /var/log/zabbix/zabbix_agent2.log

七、手动测试(在 Zabbix Server 上执行)

# 安装 zabbix-get(若未安装)
sudo apt install -y zabbix-get

# 测试获取主机名
zabbix_get -s 192.168.130.65 -k "agent.hostname"
# 应返回:web-server-01

附:一键部署脚本(APT 方式)

#!/bin/bash
set -e  # 遇错立即退出

HOSTNAME="web-server-01"
SERVER_IP="192.168.130.61"

# 设置非交互模式(避免 dpkg 配置提示)
export DEBIAN_FRONTEND=noninteractive

# 1. 安装依赖
sudo apt update
sudo apt install -y wget gnupg

# 2. 添加 GPG 密钥(强制覆盖,不交互)
sudo rm -f /usr/share/keyrings/zabbix-archive-keyring.gpg
wget -qO- https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix-official-repo.key | sudo gpg --dearmor -o /usr/share/keyrings/zabbix-archive-keyring.gpg

# 3. 添加源
echo "deb [signed-by=/usr/share/keyrings/zabbix-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/7.0/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/zabbix.list > /dev/null

# 4. 安装 zabbix-agent2(自动保留旧配置或使用默认)
sudo apt update
sudo apt install -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" zabbix-agent2

# 5. 确保配置目录存在(防止路径缺失)
sudo mkdir -p /etc/zabbix/

# 6. 如果配置文件不存在,从默认模板创建一个
if [ ! -f /etc/zabbix/zabbix_agent2.conf ]; then
    echo "Creating default zabbix_agent2.conf..."
    cat > /tmp/zabbix_agent2.conf <<EOF
PidFile=/run/zabbix/zabbix_agent2.pid
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
DebugLevel=3
Server=$SERVER_IP
ServerActive=$SERVER_IP
Hostname=$HOSTNAME
ListenIP=0.0.0.0
Include=/etc/zabbix/zabbix_agent2.d/*.conf
Timeout=4
EOF
    sudo cp /tmp/zabbix_agent2.conf /etc/zabbix/zabbix_agent2.conf
fi

# 7. 应用配置(即使文件是新建的,也确保值正确)
sudo sed -i "s/^Hostname=.*/Hostname=$HOSTNAME/" /etc/zabbix/zabbix_agent2.conf
sudo sed -i "s/^Server=.*/Server=$SERVER_IP/" /etc/zabbix/zabbix_agent2.conf
sudo sed -i "s/^ServerActive=.*/ServerActive=$SERVER_IP/" /etc/zabbix/zabbix_agent2.conf
sudo sed -i 's/^# *ListenIP=.*/ListenIP=0.0.0.0/' /etc/zabbix/zabbix_agent2.conf

# 8. 启动服务
sudo systemctl enable --now zabbix-agent2

echo "Zabbix Agent2 installed and configured successfully!"
echo "Hostname: $HOSTNAME"
echo "Server:   $SERVER_IP"
echo "Status:   $(systemctl is-active zabbix-agent2)"
好的,您需要安装zabbix6.0MySQL8.0在CentOS7上进行部署。我可以帮助您解决这个问题。您需要按照以下步骤进行操作: 1. 安装MySQL 8.0。可以使用以下命令: ``` yum install https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm yum install mysql-community-server systemctl start mysqld systemctl enable mysqld ``` 2. 配置MySQL。可以使用以下命令: ``` mysql_secure_installation ``` 3. 安装Zabbix 6.0。可以使用以下命令: ``` rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm yum install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent ``` 4.Zabbix创建MySQL数据库。可以使用以下命令: ``` mysql -uroot -p create database zabbix character set utf8 collate utf8_bin; create user 'zabbix'@'localhost' identified by 'password'; grant all privileges on zabbix.* to 'zabbix'@'localhost'; flush privileges; ``` 5. 导入Zabbix数据库模板。可以使用以下命令: ``` zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix ``` 6. 配置Zabbix server。可以打开文件/etc/zabbix/zabbix_server.conf并编辑以下行: ``` DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=password ``` 7. 启动Zabbix server和agent。可以使用以下命令: ``` systemctl start zabbix-server systemctl enable zabbix-server systemctl start zabbix-agent systemctl enable zabbix-agent ``` 8. 访问Zabbix Web界面并进行配置。可以在浏览器中输入服务器IP地址,并使用默认帐户Admin和密码zabbix进行登录。 希望这能够帮助您成功在CentOS7安装部署Zabbix6.0MySQL8.0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值