当前位置: 首页 > news >正文

在Ubuntu 24.04上部署Zabbix 7.0对服务器进行监控

软硬件信息

  • 服务器

    • 阿里云ECS * 3 4核8G 100G
  • 操作系统

    • Ubuntu24.04
  • 架构

    • 一台阿里云ECS实例部署 Zabbix Server + MariaDB

    • 两台阿里云ECS实例(被监控服务器)

  • 网络要求

    • 所有ECS实例需公网IP或VPC内网通信。
    • 开放以下端口:
      • Zabbix Server:10051(TCP,Zabbix Server接收Agent数据)、80/443(HTTP/HTTPS,Web界面)。
      • 被监控服务器:10050(TCP,Zabbix Agent监听)。
    • 阿里云安全组配置:确保上述端口已开放(参考阿里云控制台)。
  • 权限:root或sudo权限。

  • 软件:Zabbix 7.0支持MariaDB,需与Zabbix Server同机部署。

部署步骤

步骤 1:安装并配置MariaDB

  1. 更新系统

    sudo apt update && sudo apt upgrade -y
    
  2. 安装MariaDB

    sudo apt install mariadb-server -y
    
  3. 保护MariaDB安装

    sudo mysql_secure_installation
    
    • 设置root密码(记录下来)。
    • 回答提示
      • 启用密码验证(Y)
      • 移除匿名用户(Y)
      • 禁用远程root登录(Y)
      • 移除测试数据库(Y)
      • 刷新权限(Y)
  4. 创建Zabbix数据库和用户

    sudo mysql -uroot -p
    

    在MariaDB提示符下执行:

    CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
    CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'StrongPassword123';
    GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
    FLUSH PRIVILEGES;
    EXIT;
    
    • 替换StrongPassword123为强密码并记录。

步骤 2:安装Zabbix 7.0 Server

  1. 添加Zabbix 7.0仓库

    wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb
    sudo dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb
    sudo apt update
    
  2. 安装Zabbix Server、Frontend和Agent

    sudo apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent -y
    
    • 注:zabbix-server-mysql兼容MariaDB,无需额外包。
  3. 导入Zabbix数据库架构

    zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
    
    • 输入StrongPassword123(步骤2设置的密码)。
    • 导入可能需要几分钟。
  4. 配置Zabbix Server
    编辑/etc/zabbix/zabbix_server.conf

    sudo nano /etc/zabbix/zabbix_server.conf
    

    设置以下参数(替换密码):

    DBName=zabbix
    DBUser=zabbix
    DBPassword=StrongPassword123
    

    保存并退出(Ctrl+X,Y,Enter)。

  5. 启动Zabbix Server和Agent

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

步骤 3:配置Apache和PHP

  1. 安装Apache和PHP依赖
    Zabbix前端需要Apache和PHP模块,步骤3已安装部分依赖,确认安装:

    sudo apt install apache2 libapache2-mod-php php-mysql php-gd php-xml php-bcmath php-mbstring -y
    
  2. 配置PHP
    编辑/etc/php/8.3/apache2/php.ini(Ubuntu 24.04默认PHP 8.3):

    sudo nano /etc/php/8.3/apache2/php.ini
    

    确保以下设置:

    memory_limit = 256M
    upload_max_filesize = 16M
    post_max_size = 16M
    max_execution_time = 300
    max_input_time = 300
    max_input_vars = 10000
    date.timezone = Asia/Shanghai
    

    保存并退出。

  3. 配置Apache
    确保Zabbix前端配置文件已启用:

    # 如果次数启动时,提示ERROR: Conf zabbix-frontend-php does not exist!
    # 可以查看/etc/apache2/conf-available目录下是否有zabbix.conf文件
    # 如果有将zabbix-frontend-php换成zabbix
    sudo a2enconf zabbix-frontend-php
    sudo systemctl restart apache2
    

步骤 4:完成Zabbix Web界面配置

  1. 打开浏览器,访问http://<zabbix-server-ip>/zabbix
  2. 按照向导操作:
    • 欢迎页面:点击“Next step”。

      请添加图片描述

    • 检查先决条件:确保所有值显示“OK”,点击“Next step”。

      请添加图片描述

    • 配置数据库

      • Database type: MySQL(MariaDB兼容)

      • Database host: localhost

      • Database name: zabbix

      • User: zabbix

      • Password: StrongPassword123

      • 点击“Next step”。

        请添加图片描述

    • 服务器详情

      • Host: 留空或输入Zabbix服务器IP。
      • Port: 10051
      • Name: 可选(如“Zabbix Server”)。
      • 点击“Next step”。
    • 预安装摘要:确认配置,点击“Next step”。

    • 完成:点击“Finish”,生成配置文件/etc/zabbix/web/zabbix.conf.php

  3. 登录Zabbix仪表板:
    • URL:http://<zabbix-server-ip>/zabbix
    • 默认凭据:用户名Admin,密码zabbix(立即更改密码)。

步骤 5:在两台阿里云ECS上安装Zabbix Agent

在每台被监控的ECS实例(称为ECS1和ECS2)上执行:

  1. 登录ECS实例ssh root@<ecs-ip>)。

  2. 添加Zabbix仓库

    wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_7.0-1+ubuntu24.04_all.deb
    sudo dpkg -i zabbix-release_7.0-1+ubuntu24.04_all.deb
    sudo apt update
    
  3. 安装Zabbix Agent

    sudo apt install zabbix-agent -y
    
  4. 配置Zabbix Agent
    编辑/etc/zabbix/zabbix_agent.conf

    # /etc/zabbix这个目录下的是zabbix_agentd.conf就编辑zabbix_agentd.conf
    # 如果这个目录下的是zabbix_agentd2.conf,就编辑zabbix_agentd2.conf
    sudo vim /etc/zabbix/zabbix_agentd.conf
    

    设置以下参数:

    Server=<zabbix-server-ip>
    ServerActive=<zabbix-server-ip>
    Hostname=<unique-hostname>
    
    • 替换<zabbix-server-ip>为Zabbix Server公网IP。
    • 替换<unique-hostname>为唯一主机名(如ECS1ECS2)。
    • 保存并退出。
  5. 开放端口10050

    • 在阿里云控制台为ECS1和ECS2的安全组添加入站规则,允许TCP 10050。
    • 本地防火墙(如ufw):
      sudo ufw allow 10050/tcp
      
  6. 重启Zabbix Agent

    sudo systemctl restart zabbix-agent
    sudo systemctl enable zabbix-agent
    

步骤 6:在Zabbix Server上添加监控主机

  1. 登录Zabbix Web界面(http://<zabbix-server-ip>/zabbix)。
  2. 导航至 Monitoring > Hosts > Create host
  3. 为每台ECS配置:
    • Host name:输入唯一主机名(与Agent配置中的Hostname一致,如ECS1)。
    • Groups:选择或创建主机组(如“AliCloud ECS”)。
    • Interfaces
      • Type: Agent
      • IP address: 输入ECS的公网IP(如ECS1的IP)。
      • Port: 10050
    • Templates:点击“Select”,选择“Template OS Linux by Zabbix agent”。
    • Status:确保为“Enabled”。
  4. 点击“Add”保存。
  5. 重复为ECS2配置(主机名如ECS2)。

请添加图片描述

步骤 7:验证监控

  1. 等待5-10分钟,Zabbix Server开始收集数据。
  2. 导航至 Monitoring > Latest data,选择主机组或主机(如ECS1ECS2),检查CPU、内存、磁盘等指标。
  3. 若无数据,检查:
    • Zabbix Server日志:sudo tail -f /var/log/zabbix/zabbix_server.log
    • Zabbix Agent日志:sudo tail -f /var/log/zabbix/zabbix_agentd.log
    • 确保阿里云安全组和本地防火墙允许10050/10051端口。

步骤 8:优化和安全

  1. 更改默认密码

    • 导航至 Administration > Users,更新Admin用户密码。
  2. 启用HTTPS

    • 使用Let’s Encrypt配置SSL:
      sudo apt install certbot python3-certbot-apache
      sudo certbot --apache
      
      • 按提示配置域名或IP,重启Apache:
        sudo systemctl restart apache2
        
  3. 优化Zabbix Server(若监控更多设备):
    编辑/etc/zabbix/zabbix_server.conf

    sudo vim /etc/zabbix/zabbix_server.conf
    

    添加:

    StartPollers=100
    StartPollersUnreachable=50
    StartPingers=50
    StartTrappers=10
    StartDiscoverers=10
    CacheSize=128M
    HistoryCacheSize=64M
    HistoryIndexCacheSize=32M
    TrendCacheSize=32M
    ValueCacheSize=256M
    

    重启:

    sudo systemctl restart zabbix-server
    
  4. 备份数据库

    mysqldump -u zabbix -p zabbix > zabbix_backup.sql
    

步骤 9:故障排查

  • Zabbix Server未运行
    • 检查状态:sudo systemctl status zabbix-server
    • 检查配置文件:/etc/zabbix/zabbix_server.conf
    • 验证数据库连接:mysql -uzabbix -p -e "SELECT 1"
  • Agent无法连接
    • 确保ServerServerActive设置为Zabbix Server IP。
    • 检查阿里云安全组和ufw规则。
  • Web界面错误
    • 验证PHP配置:/etc/php/8.3/apache2/php.ini
    • 检查Apache日志:sudo tail -f /var/log/apache2/error.log

最终结果

完成以上步骤后,Zabbix 7.0将在Ubuntu 24.04上运行,使用MariaDB数据库(同机部署),成功监控两台阿里云ECS服务器(ECS1和ECS2)。通过Web界面(http://<zabbix-server-ip>/zabbix)可查看实时数据、设置警报和生成报告。

请添加图片描述

参考资料

  • Zabbix官方文档:https://www.zabbix.com/documentation/7.0/
  • Alibaba Cloud ECS文档:https://www.alibabacloud.com/help/
  • MariaDB官方文档:https://mariadb.com/kb/en/
http://www.lryc.cn/news/581708.html

相关文章:

  • 【机器学习笔记Ⅰ】13 正则化代价函数
  • [2025CVPR]一种新颖的视觉与记忆双适配器(Visual and Memory Dual Adapter, VMDA)
  • SSL 终结(SSL Termination)深度解析:从原理到实践的全维度指南
  • Python Bcrypt详解:从原理到实战的安全密码存储方案
  • 用户中心Vue3项目开发2.0
  • 2048小游戏实现
  • 线性代数--AI数学基础复习
  • 深度学习6(多分类+交叉熵损失原理+手写数字识别案例TensorFlow)
  • Chunking-free RAG
  • Web-API-day2 间歇函数setInterval与事件监听addEvenListener
  • 【Note】《Kafka: The Definitive Guide》第四章:Kafka 消费者全面解析:如何从 Kafka 高效读取消息
  • Apache Spark 4.0:将大数据分析提升到新的水平
  • A O P
  • 金融级B端页面风控设计:操作留痕与异常预警的可视化方案
  • 深度学习篇---深度学习常见的应用场景
  • 容声W60以光水离子科技实现食材“主动养鲜”
  • [Qt] visual studio code 安装 Qt插件
  • FastAPI + Tortoise-ORM + Aerich 实现数据库迁移管理(MySQL 实践)
  • 深度学习 必然用到的 线性代数知识
  • 嵌入式 数据结构学习(五) 栈与队列的实现与应用
  • React Ref 指南:原理、实现与实践
  • 【PyTorch】PyTorch中torch.nn模块的卷积层
  • 零基础,使用Idea工具写一个邮件报警程序
  • Solidity——什么是状态变量
  • 计算机网络:(七)网络层(上)网络层中重要的概念与网际协议 IP
  • Kafka “假死“现象深度解析与解决方案
  • UI前端大数据可视化进阶:交互式仪表盘的设计与应用
  • 数据驱动实时市场动态监测:让商业决策跑赢时间
  • 【LeetCode 热题 100】240. 搜索二维矩阵 II——排除法
  • 黑马点评系列问题之实战篇02短信登录 利用资料中的mysql语句创建数据表时报错