以下是在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. 客户端安装
- 下载Zabbix Agent 7.0 Windows版:
https://www.zabbix.com/download_agents
- 安装时配置参数:
- Server=Zabbix服务器IP
- ServerActive=Zabbix服务器IP
- Hostname=Windows主机唯一标识
复制代码 - 开放防火墙端口:
powershell- New-NetFirewallRule -DisplayName "Zabbix Agent" -Direction Inbound -Protocol TCP -LocalPort 10050 -Action Allow
复制代码 2. Zabbix控制台配置
- 登录Web界面 → 配置 → 主机 → 创建主机
- 基本信息:
- 主机名称:Windows主机名
- 可见名称:显示名称
- 群组:Windows servers
- 模板: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控制台配置
- 模板: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配置
- 创建主机时选择模板:
- 通用模板:Template SNMP Device
- 厂商专用模板(需手动导入):
- 思科:Template CISCO SNMP
- 华为:Template HUAWEI SNMP
- 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. 使用模板
- 导入模板:Template App Docker by Zabbix agent2
- 自动发现容器并监控资源使用
六、WEB应用监控(HTTP/HTTPS)
1. 创建Web场景
- 配置 → 主机 → Web场景 → 创建场景
- 配置参数:
- 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. 获取阿里云凭证
- 登录阿里云控制台 → RAM访问控制
- 创建子账号并授予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. 使用模板
- 导入模板:Template Cloud Alibaba by HTTP
- 自动发现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;
- '''
复制代码 最终效果验证:
- 所有监控主机状态显示为绿色
- 网络设备接口流量图表正常生成
- Docker容器指标每秒更新
- 阿里云资源使用率告警触发正常
- Web场景可用性监测显示100%成功率
遇到具体设备兼容性问题时,建议通过snmpwalk命令验证基础SNMP通信,再检查Zabbix模板中的OID配置是否与设备匹配。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |