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

📅 2026/8/12 22:15:03
Zabbix 7.0.0 + Zabbix Agent2 + MySQL 8.0 完整安装部署指南
一、环境准备1. 更新系统 安装基础工具sudoaptupdatesudoaptupgrade-ysudoaptinstall-ywgetcurlvimgnupg lsb-release ca-certificates2. 关闭防火墙与 AppArmor测试环境可选# Ubuntu 默认使用 ufwsudoufw disable# 临时禁用 AppArmor非必须但可避免权限问题sudosystemctl stop apparmorsudosystemctl disable apparmor⚠️生产环境建议保留并配置规则而非完全关闭。二、安装 MySQL 8.0APT 方式1. 添加 MySQL APT 源官方cd/tmpwgethttps://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.debsudodpkg-imysql-apt-config_0.8.24-1_all.deb 安装过程中会弹出交互菜单选择MySQL Server Cluster (Currently selected: mysql-8.0)→ OK其他组件保持默认 → OK2. 安装 MySQL 8.0echodeb [archamd64 trustedyes] http://repo.mysql.com/apt/ubuntu jammy mysql-8.0|sudotee/etc/apt/sources.list.d/mysql.listsudoaptupdatesudoaptinstall-ymysql-server3. 启动并启用服务sudosystemctl start mysqlsudosystemctlenablemysql4. 初始化安全设置可选但推荐sudomysql_secure_installation可跳过密码验证插件设置按需后续我们手动创建用户。5. 创建 Zabbix 数据库和用户sudomysql-uroot在 MySQL 中执行-- 创建数据库CREATEDATABASEzabbixCHARACTERSETutf8mb4COLLATEutf8mb4_bin;-- 创建用户使用 mysql_native_password 兼容性更好CREATEUSERzabbixlocalhostIDENTIFIEDWITHmysql_native_passwordBYZabbix2000;-- 授权GRANTALLPRIVILEGESONzabbix.*TOzabbixlocalhost;FLUSHPRIVILEGES;EXIT;使用mysql_native_password避免 Zabbix 与 MySQL 8 默认认证插件的兼容问题。三、安装编译依赖sudoaptinstall-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.01. 下载源码cd/tmpwgethttps://cdn.zabbix.com/zabbix/sources/stable/7.0/zabbix-7.0.0.tar.gz2. 解压并进入目录sudomkdir-p/usr/local/zabbixsudotar-zxvfzabbix-7.0.0.tar.gz-C/usr/local/zabbix/cd/usr/local/zabbix/zabbix-7.0.03. 创建 zabbix 用户sudogroupadd--systemzabbixsudouseradd--system-gzabbix-d/usr/local/zabbix-s/sbin/nologin zabbix4. 编译安装启用 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-ldapmake-j$(nproc)sudomakeinstall✅ 编译成功后二进制文件位于/usr/local/zabbix/sbin/和/usr/local/zabbix/bin/五、部署 Web 前端PHP Nginx1. 安装 Nginx 和 PHP 8.1echodeb [signed-by/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/mainline/ubuntu$(lsb_release-cs)nginx|sudotee/etc/apt/sources.list.d/nginx-mainline.listaptupdatesudoaptinstall-ynginx php-fpm php-mysql php-bcmath php-gd php-mbstring php-xml php-ldap php-curl2. 配置 PHP满足 Zabbix 要求编辑/etc/php/8.1/fpm/php.inipost_max_size 16M max_execution_time 300 max_input_time 300 date.timezone Asia/Shanghai重启 PHP-FPMsudosystemctl restart php8.1-fpm3. 部署 Zabbix Web 文件sudomkdir-p/var/www/zabbixsudocp-r/usr/local/zabbix/zabbix-7.0.0/ui/* /var/www/zabbix/sudochown-Rwww-data:www-data /var/www/zabbix/4. 配置 Nginx 虚拟主机sudotee/etc/nginx/conf.d/zabbix.confEOF 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# 测试并重载sudonginx-tsudosystemctl reload nginx六、导入 Zabbix 数据库结构cd/usr/local/zabbix/zabbix-7.0.0/database/mysql# 1. 用 root 用户登录 MySQLsudomysql-uroot-p# 2. 执行以下命令开启信任SET GLOBAL log_bin_trust_function_creators1;# 3. 退出EXIT;# 4. 导入sudomysql-uzabbix-pZabbix2000zabbixschema.sqlsudomysql-uzabbix-pZabbix2000zabbiximages.sqlsudomysql-uzabbix-pZabbix2000zabbixdata.sql七、配置 Zabbix Server编辑配置文件sudovim/usr/local/zabbix/etc/zabbix_server.conf确保以下内容正确DBHostlocalhost DBNamezabbix DBUserzabbix DBPasswordZabbix2000八、创建 systemd 服务便于管理1. Zabbix Server 服务sudotee/etc/systemd/system/zabbix-server.serviceEOF [Unit] DescriptionZabbix Server Afternetwork.target mysql.service [Service] Typesimple Userzabbix ExecStart/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf -f Restarton-failure [Install] WantedBymulti-user.target EOF2. Zabbix Agent 服务监控本机sudotee/etc/systemd/system/zabbix-agent.serviceEOF [Unit] DescriptionZabbix Agent Afternetwork.target [Service] Typesimple Userzabbix ExecStart/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf -f Restarton-failure [Install] WantedBymulti-user.target EOF3. 重载并启动服务sudosystemctl daemon-reloadsudosystemctl start zabbix-server zabbix-agentsudosystemctlenablezabbix-server zabbix-agent九、设置中文页面# 1. 下载官方完整源码7.0.0cd/tmp# 2. 解压tar-xzfzabbix-7.0.0.tar.gz# 3. 检查 locale 是否存在ls/tmp/zabbix-7.0.0/ui/locale/zh_CN/LC_MESSAGES/frontend.po# 4. 编译生成 zabbix.mocd/tmp/zabbix-7.0.0/ui/locale/zh_CN/LC_MESSAGES/sudoaptinstall-ygettext msgfmt frontend.po-ozabbix.mo# 6. 复制整个 UI含正确语言包到 Web 目录sudocp-r/tmp/zabbix-7.0.0/ui/* /var/www/zabbix/sudochown-Rwww-data:www-data /var/www/zabbix/sudochmod-R755/var/www/zabbix/# 6.重启服务sudosystemctl restart nginx php8.1-fpm.service十、访问 Web 界面完成安装浏览器访问http://你的服务器IP按照向导操作检查先决条件应全部 OK配置数据库连接Database type: MySQLHost: localhostPort: 0默认Database name: zabbixUser: zabbixPassword: Zabbix2000设置 Server 名称如Zabbix-Monitor点击Next step→Finish默认登录账号Username:AdminPassword:zabbix注意A 是大写 默认登录凭证Username:Admin注意大写 APassword:zabbixZabbix Agent2 安装部署Ubuntu 22.04一、准备工作1. 确认 Zabbix Server 配置在 Zabbix Web 中需提前创建主机HostAgent 默认通过10050 端口接收 Server 请求被动模式Server 主动连接 Agent → 需确保网络和防火墙允许192.168.130.61 → 被监控机:10050二、安装 Zabbix Agent2两种方式任选其一✅ 方式一【推荐】使用官方 APT 仓库自动解决依赖# 1. 安装必要工具sudoaptupdatesudoaptinstall-ywgetgnupg# 2. 添加 Zabbix 官方 GPG 密钥使用清华镜像加速wget-qO- https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix-official-repo.key|sudogpg--dearmor-o/usr/share/keyrings/zabbix-archive-keyring.gpg# 3. 添加 Zabbix 7.0 APT 源Ubuntu 22.04 jammyechodeb [signed-by/usr/share/keyrings/zabbix-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/7.0/ubuntu jammy main|sudotee/etc/apt/sources.list.d/zabbix.list# 4. 安装 Zabbix Agent2sudoaptupdatesudoaptinstall-yzabbix-agent2✅ 方式二手动下载.deb包安装适用于无网络或指定版本# 1. 下载主程序包注意不要下载 -dbgsym 包wgethttps://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/7.0/ubuntu/pool/main/z/zabbix/zabbix-agent2_7.0.0-1ubuntu22.04_amd64.deb# 2. 安装自动处理依赖sudoaptinstall-y./zabbix-agent2_7.0.0-1ubuntu22.04_amd64.deb三、配置 Zabbix Agent2编辑配置文件sudovim/etc/zabbix/zabbix_agent2.conf修改以下关键参数按实际替换# 必须与 Zabbix Web 中创建的 Host name 完全一致 Hostnameweb-server-01 # 允许哪些 Server 连接被动检查 Server192.168.130.61 # 主动上报数据的目标 Server主动检查 ServerActive192.168.130.61 # 监听所有网卡默认仅 127.0.0.1 ListenIP0.0.0.0 注意配置文件是zabbix_agent2.conf不是zabbix_agentd.conf四、启动并启用服务sudosystemctlenable--nowzabbix-agent2sudosystemctl status zabbix-agent2应显示active (running)。五、在 Zabbix Web 中添加主机登录 Zabbix Webhttp://192.168.130.61进入配置 → 主机 → 创建主机填写主机名称web-server-01必须与Hostname一致群组如Linux serversAgent 接口IP 地址 端口10050切换到模板标签页链接模板Linux by Zabbix agent支持更多插件指标点击添加六、验证是否成功等待 1~2 分钟查看监测中 → 主机出现绿色 ✔️ 表示数据正常上报若为灰色 ❌检查Hostname是否匹配网络连通性telnet 192.168.130.61 10051从 Agent 测试防火墙是否放行日志sudo tail -f /var/log/zabbix/zabbix_agent2.log七、手动测试在 Zabbix Server 上执行# 安装 zabbix-get若未安装sudoaptinstall-yzabbix-get# 测试获取主机名zabbix_get-s192.168.130.65-kagent.hostname# 应返回web-server-01附一键部署脚本APT 方式#!/bin/bashset-e# 遇错立即退出HOSTNAMEweb-server-01SERVER_IP192.168.130.61# 设置非交互模式避免 dpkg 配置提示exportDEBIAN_FRONTENDnoninteractive# 1. 安装依赖sudoaptupdatesudoaptinstall-ywgetgnupg# 2. 添加 GPG 密钥强制覆盖不交互sudorm-f/usr/share/keyrings/zabbix-archive-keyring.gpgwget-qO- https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix-official-repo.key|sudogpg--dearmor-o/usr/share/keyrings/zabbix-archive-keyring.gpg# 3. 添加源echodeb [signed-by/usr/share/keyrings/zabbix-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/7.0/ubuntu jammy main|sudotee/etc/apt/sources.list.d/zabbix.list/dev/null# 4. 安装 zabbix-agent2自动保留旧配置或使用默认sudoaptupdatesudoaptinstall-y-oDpkg::Options::--force-confdef-oDpkg::Options::--force-confoldzabbix-agent2# 5. 确保配置目录存在防止路径缺失sudomkdir-p/etc/zabbix/# 6. 如果配置文件不存在从默认模板创建一个if[!-f/etc/zabbix/zabbix_agent2.conf];thenechoCreating default zabbix_agent2.conf...cat/tmp/zabbix_agent2.confEOF PidFile/run/zabbix/zabbix_agent2.pid LogFile/var/log/zabbix/zabbix_agent2.log LogFileSize0 DebugLevel3 Server$SERVER_IPServerActive$SERVER_IPHostname$HOSTNAMEListenIP0.0.0.0 Include/etc/zabbix/zabbix_agent2.d/*.conf Timeout4 EOFsudocp/tmp/zabbix_agent2.conf /etc/zabbix/zabbix_agent2.conffi# 7. 应用配置即使文件是新建的也确保值正确sudosed-is/^Hostname.*/Hostname$HOSTNAME//etc/zabbix/zabbix_agent2.confsudosed-is/^Server.*/Server$SERVER_IP//etc/zabbix/zabbix_agent2.confsudosed-is/^ServerActive.*/ServerActive$SERVER_IP//etc/zabbix/zabbix_agent2.confsudosed-is/^# *ListenIP.*/ListenIP0.0.0.0//etc/zabbix/zabbix_agent2.conf# 8. 启动服务sudosystemctlenable--nowzabbix-agent2echoZabbix Agent2 installed and configured successfully!echoHostname:$HOSTNAMEechoServer:$SERVER_IPechoStatus:$(systemctl is-active zabbix-agent2)