CentOS Stream 10安装部署Zabbix 7.0网络监控平台和设备配置添加

时间:2025-05-16 11:07:39

以下是在CentOS Stream 10上部署Zabbix 7.0监控平台,并配置多种监控目标的完整操作指南:


一、Zabbix 7.0 基础环境部署

1. 系统准备

# 更新系统
sudo dnf update -y
sudo reboot

# 安装基础依赖
sudo dnf install -y epel-release vim wget curl net-tools

# 关闭防火墙(生产环境需配置规则)
sudo systemctl stop firewalld
sudo systemctl disable firewalld

2. 安装数据库(MySQL 8.0)

# 添加MySQL官方仓库
sudo rpm -ivh https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

# 安装MySQL
sudo dnf install -y mysql-server mysql-devel

# 启动服务
sudo systemctl start mysqld
sudo systemctl enable mysqld

# 获取初始密码
sudo grep 'temporary password' /var/log/mysqld.log

# 安全配置
sudo mysql_secure_installation

3. 安装Zabbix服务端

# 添加Zabbix仓库
sudo rpm -ivh https://repo.zabbix.com/zabbix/7.0/rhel/10/x86_64/zabbix-release-7.0-1.el10.noarch.rpm

# 安装组件
sudo dnf install -y zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

# 创建数据库
mysql -uroot -p
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Zabbix@SecurePass123';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;

# 导入初始数据
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix

# 配置Zabbix服务端
sudo vim /etc/zabbix/zabbix_server.conf
'''
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Zabbix@SecurePass123
'''

# 启动服务
sudo systemctl start zabbix-server zabbix-agent
sudo systemctl enable zabbix-server zabbix-agent

4. 配置Web前端

# 配置PHP参数
sudo vim /etc/php-fpm.d/zabbix.conf
'''
php_value[max_execution_time] = 300
php_value[memory_limit] = 256M
php_value[post_max_size] = 32M
php_value[upload_max_filesize] = 16M
'''

# 启动服务
sudo systemctl start php-fpm nginx
sudo systemctl enable php-fpm nginx

# 访问Web界面
http://服务器IP/zabbix

二、Windows主机监控配置

1. 客户端安装

  1. 下载Zabbix Agent 7.0 Windows版:
    https://www.zabbix.com/download_agents

  2. 安装时配置参数:

    Server=Zabbix服务器IP
    ServerActive=Zabbix服务器IP
    Hostname=Windows主机唯一标识
  3. 开放防火墙端口:

    powershell
    New-NetFirewallRule -DisplayName "Zabbix Agent" -Direction Inbound -Protocol TCP -LocalPort 10050 -Action Allow

2. Zabbix控制台配置

  1. 登录Web界面 → 配置 → 主机 → 创建主机

  2. 基本信息:

    • 主机名称:Windows主机名

    • 可见名称:显示名称

    • 群组:Windows servers

  3. 模板:Template OS Windows by Zabbix agent


三、Linux主机监控配置

1. 客户端安装(被监控端执行)

# 添加仓库
sudo rpm -ivh https://repo.zabbix.com/zabbix/7.0/rhel/10/x86_64/zabbix-release-7.0-1.el10.noarch.rpm

# 安装Agent
sudo dnf install -y zabbix-agent

# 配置Agent
sudo vim /etc/zabbix/zabbix_agentd.conf
'''
Server=Zabbix服务器IP
ServerActive=Zabbix服务器IP
Hostname=Linux主机唯一标识
'''

# 启动服务
sudo systemctl restart zabbix-agent
sudo systemctl enable zabbix-agent

2. Zabbix控制台配置

  1. 模板:Template OS Linux by Zabbix agent


四、网络设备监控(华三/华为/思科/锐捷)

1. 设备端配置(以华为为例)

 
# 华为设备配置
snmp-agent
snmp-agent sys-info version v2c
snmp-agent community read cipher Zabbix@SNMP123
snmp-agent trap enable
snmp-agent target-host trap address udp-domain Zabbix服务器IP params securityname Zabbix@SNMP123 v2c

2. Zabbix配置

  1. 创建主机时选择模板:

    • 通用模板:Template SNMP Device

    • 厂商专用模板(需手动导入):

      • 思科:Template CISCO SNMP

      • 华为:Template HUAWEI SNMP

  2. SNMP设置:

    SNMP community: Zabbix@SNMP123
    SNMP version: v2c

五、Docker容器监控

1. 安装Zabbix Agent2(支持Docker)

sudo dnf install -y zabbix-agent2
sudo systemctl restart zabbix-agent2

2. 配置容器监控

# 修改Agent2配置
sudo vim /etc/zabbix/zabbix_agent2.conf
'''
Plugins.Docker.Endpoint=unix:///var/run/docker.sock
'''

# 添加监控项
UserParameter=docker.containers.discovery,/usr/bin/docker ps -a --format "{{.ID}} {{.Names}}"

3. 使用模板

  1. 导入模板:Template App Docker by Zabbix agent2

  2. 自动发现容器并监控资源使用


六、WEB应用监控(HTTP/HTTPS)

1. 创建Web场景

  1. 配置 → 主机 → Web场景 → 创建场景

  2. 配置参数:

    Name: Production Web Check
    Application: Web Services
    Interval: 1m
    Retries: 3
    
    Steps:
    - Name: Homepage
      URL: https://yourdomain.com
      Required: HTTP 200 OK
      SSL verify: No
    - Name: API Check
      URL: https://api.yourdomain.com/health
      Post: {"action":"ping"}
      Headers: Content-Type: application/json

七、阿里云资源监控

1. 获取阿里云凭证

  1. 登录阿里云控制台 → RAM访问控制

  2. 创建子账号并授予AliyunCloudMonitorReadOnlyAccess权限

2. Zabbix配置

# 安装云监控插件
sudo dnf install -y zabbix-cloud-plugin

# 配置阿里云连接
sudo vim /etc/zabbix/zabbix_cloud.conf
'''
[alibaba]
access_key_id = YOUR_ACCESS_KEY
access_key_secret = YOUR_SECRET_KEY
region_id = cn-hangzhou
'''

3. 使用模板

  1. 导入模板:Template Cloud Alibaba by HTTP

  2. 自动发现ECS/RDS/SLB等资源


八、高级配置验证

1. 监控项测试

# 手动测试SNMP采集
snmpwalk -v 2c -c Zabbix@SNMP123 设备IP 1.3.6.1.2.1.1.1.0

# 检查Agent连通性
zabbix_get -s 客户端IP -k system.cpu.util[,idle]

2. 故障排查命令

# 查看Zabbix日志
tail -f /var/log/zabbix/zabbix_server.log

# 检查数据库连接
mysql -uzabbix -p -e "SHOW STATUS LIKE 'Threads_connected'"

九、安全加固建议

1. 网络设备监控安全

# 使用SNMPv3替代v2c
snmp-agent sys-info version v3
snmp-agent group v3 zabbix_group privacy
snmp-agent usm-user v3 zabbix_user zabbix_group auth SHA Zabbix@Auth123 priv AES Zabbix@Priv123

2. Zabbix服务端加固

# 配置HTTPS访问
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl.key -out /etc/nginx/ssl.crt

# 修改Nginx配置
sudo vim /etc/nginx/conf.d/zabbix.conf
'''
listen 443 ssl;
ssl_certificate /etc/nginx/ssl.crt;
ssl_certificate_key /etc/nginx/ssl.key;
'''

最终效果验证

  1. 所有监控主机状态显示为绿色

  2. 网络设备接口流量图表正常生成

  3. Docker容器指标每秒更新

  4. 阿里云资源使用率告警触发正常

  5. Web场景可用性监测显示100%成功率

遇到具体设备兼容性问题时,建议通过snmpwalk命令验证基础SNMP通信,再检查Zabbix模板中的OID配置是否与设备匹配。