保姆级教程:在Ubuntu 22.04 LTS上从零部署Zabbix 6.0监控系统(含MariaDB配置)

发布时间:2026/5/22 12:11:30

保姆级教程:在Ubuntu 22.04 LTS上从零部署Zabbix 6.0监控系统(含MariaDB配置) 从零构建企业级监控系统Ubuntu 22.04下Zabbix 6.0与MariaDB深度整合指南第一次接触服务器监控系统时我被各种专业术语和复杂的配置步骤弄得晕头转向。直到遇到Zabbix这个开箱即用的监控解决方案彻底改变了我的运维工作方式。本文将带你完整走过在Ubuntu 22.04上部署Zabbix 6.0的全过程特别针对初次接触监控系统的新手每个步骤都包含原理说明和常见问题排查。1. 环境准备与系统优化在开始安装前我们需要确保基础环境处于最佳状态。Ubuntu 22.04 LTS作为长期支持版本提供了稳定的运行基础但默认配置可能需要进行一些调整。首先更新软件源并升级现有包建议在非生产环境测试后执行sudo apt update sudo apt upgrade -y安装必要的工具集sudo apt install -y curl wget vim gnupg2 software-properties-common系统时区配置避免监控数据时间戳混乱sudo timedatectl set-timezone Asia/Shanghai sudo systemctl restart systemd-timesyncd内存优化配置针对2GB以下内存的服务器sudo sed -i /vm.swappiness/d /etc/sysctl.conf echo vm.swappiness10 | sudo tee -a /etc/sysctl.conf sudo sysctl -p2. MariaDB数据库专项配置Zabbix的性能很大程度上依赖于后端数据库的优化。我们选择MariaDB作为数据存储引擎不仅因为其与MySQL的兼容性更因其在资源占用方面的优势。安装MariaDB 11.0版本curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version11.0 sudo apt update sudo apt install -y mariadb-server mariadb-client安全初始化交互式操作sudo mysql_secure_installation关键配置项建议设置root密码移除匿名用户禁止root远程登录移除测试数据库立即应用权限变更创建专属配置文件sudo tee /etc/mysql/conf.d/zabbix.cnf /dev/null EOF [mysqld] innodb_buffer_pool_size 1G innodb_log_file_size 256M innodb_flush_log_at_trx_commit 2 character-set-server utf8mb4 collation-server utf8mb4_unicode_ci max_connections 200 EOF重启服务使配置生效sudo systemctl restart mariadb3. Zabbix服务端完整部署现在进入核心环节我们将分步骤安装和配置Zabbix的各个组件。添加官方软件源wget https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4ubuntu22.04_all.deb sudo dpkg -i zabbix-release_6.0-4ubuntu22.04_all.deb sudo apt update安装核心组件sudo apt install -y zabbix-server-mysql zabbix-frontend-php \ zabbix-apache-conf zabbix-sql-scripts zabbix-agent数据库初始化操作CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER zabbixlocalhost IDENTIFIED BY ComplexPassword123!; GRANT ALL PRIVILEGES ON zabbix.* TO zabbixlocalhost; FLUSH PRIVILEGES;导入初始数据耗时操作耐心等待zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-setutf8mb4 -uzabbix -p zabbix编辑服务端配置文件sudo vim /etc/zabbix/zabbix_server.conf关键参数修改DBHostlocalhost DBNamezabbix DBUserzabbix DBPasswordComplexPassword123! ListenPort100514. Web界面与集成配置Zabbix提供了基于PHP的Web管理界面我们需要配置Apache和PHP环境。PHP性能调整sudo sed -i s/^;date.timezone /date.timezone Asia\/Shanghai/ /etc/php/8.1/apache2/php.ini sudo sed -i s/^post_max_size .*/post_max_size 32M/ /etc/php/8.1/apache2/php.ini sudo sed -i s/^upload_max_filesize .*/upload_max_filesize 16M/ /etc/php/8.1/apache2/php.ini sudo sed -i s/^max_execution_time .*/max_execution_time 300/ /etc/php/8.1/apache2/php.ini防火墙规则配置sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 10051/tcp sudo ufw enable启动所有服务并设置开机自启sudo systemctl restart zabbix-server apache2 zabbix-agent sudo systemctl enable zabbix-server apache2 zabbix-agent5. 初始登录与安全加固完成上述步骤后通过浏览器访问http://服务器IP/zabbix进入安装向导。按照界面提示完成最后配置检查所有前提条件是否满足全部应为绿色OK状态配置数据库连接使用之前创建的zabbix用户凭证设置服务器名称和时区确认安装摘要信息完成安装并使用默认凭据登录Admin/zabbix重要安全措施立即修改默认管理员密码UPDATE zabbix.users SET passwdmd5(NewSecurePassword123!) WHERE usernameAdmin;创建受限权限用户进入Administration → Users点击Create user设置用户名和强密码在Roles标签页分配适当权限在Media标签页配置告警通知方式6. 监控代理部署与主机注册Zabbix agent的部署是监控体系的关键环节。在被监控主机上执行sudo apt install -y zabbix-agent编辑agent配置文件sudo vim /etc/zabbix/zabbix_agentd.conf基本配置示例Server192.168.1.100 ServerActive192.168.1.100 HostnameYour_Unique_Hostname启动agent服务sudo systemctl restart zabbix-agent sudo systemctl enable zabbix-agent在Zabbix Web界面添加主机进入Configuration → Hosts点击Create host填写主机名称和可见名称选择或创建主机组在Interfaces部分添加agent接口关联监控模板如Linux by Zabbix agent7. 告警配置与通知集成有效的监控系统离不开及时的告警通知。Zabbix支持多种通知渠道邮件通知配置示例进入Administration → Media types点击Email进行配置设置SMTP服务器参数测试并保存配置创建告警动作进入Configuration → Actions选择Trigger actions创建新动作并设置条件在Operations标签页添加通知操作指定接收用户/用户组和媒介类型高级告警策略设置告警升级机制配置维护周期避免误报实现告警依赖关系应用正则表达式过滤噪音告警8. 性能调优与日常维护随着监控规模的扩大系统性能优化变得尤为重要。以下是一些实用技巧数据库维护脚本示例建议每周执行mysql -uroot -p zabbix -e OPTIMIZE TABLE history, history_uint, trends, trends_uint;Zabbix服务端关键参数调整参数推荐值说明StartPollersCPU核心数×2处理被动检查的工作进程数StartPollersUnreachable2处理不可达设备的工作进程数CacheSize128M-1G配置缓存大小HistoryCacheSize64M-512M历史数据缓存大小定期清理旧数据添加到cron0 3 * * * mysql -uroot -p zabbix -e DELETE FROM history WHERE clock UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 DAY));备份策略建议# 数据库备份 mysqldump -uroot -p --single-transaction zabbix | gzip /backup/zabbix_db_$(date %F).sql.gz # 配置文件备份 tar czf /backup/zabbix_config_$(date %F).tar.gz /etc/zabbix

相关新闻