Zabbix 是一款开源的企业级监控解决方案,支持对服务器、网络设备、虚拟机、数据库等 IT 组件进行实时监控,并提供告警通知、数据可视化等功能。本教程将详细介绍 Zabbix 的安装、配置以及基本使用方法,帮助您快速上手 Zabbix。
一、Zabbix 架构与组件
Zabbix 采用 C/S 架构,主要组件包括:
Zabbix Server:核心组件,负责收集 Agent 采集的数据并持久化存储到数据库。 Zabbix Agent:部署在被监控主机上,采集监控数据并发送到 Server。 数据库:存储采集到的数据,支持 MySQL、PostgreSQL 等。 Zabbix Web 界面:提供图形化界面,方便用户进行监控配置和查看数据。 Zabbix Proxy(可选):代理端,用于分布式环境,分担 Server 负载。
二、安装 Zabbix
1. 环境准备 操作系统:以 CentOS 7 为例。 软件依赖:LAMP/LNMP 环境(Apache/Nginx + MySQL/MariaDB + PHP)。 2. 安装步骤 安装 LAMP 环境
# 安装 Apache、MySQL、PHP 及相关扩展
yum install -y httpd mariadb-server mariadb php php-mysql php-gd php-mbstring php-xml php-bcmath
# 启动服务并设置开机自启
systemctl start httpd mariadb
systemctl enable httpd mariadb
# 配置 MySQL 密码
mysqladmin -u root password 'yourpassword'
安装 Zabbix
# 添加 Zabbix 官方源
rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
yum clean all
# 安装 Zabbix Server、Agent 和 Web 界面
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent
配置数据库
# 创建 Zabbix 数据库和用户
mysql -uroot -p
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
EXIT;
# 导入初始数据
zcat /usr/share/doc/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uzabbix -p zabbix
配置 Zabbix Server
# 编辑配置文件
vim /etc/zabbix/zabbix_server.conf
# 修改以下参数
DBName=zabbix
DBUser=zabbix
DBPassword=yourpassword
# 重启服务
systemctl restart zabbix-server httpd
systemctl enable zabbix-server
接下来我们就可以开始访问 Web 界面 在浏览器中访问 http://server-ip/zabbix,按照安装向导完成安装。初始用户名和密码为 Admin/zabbix。
三、配置 Zabbix 监控
1. 添加主机 安装 Agent:在被监控主机上安装 Zabbix Agent。
# 安装 Agent
yum install -y zabbix-agent
# 编辑配置文件
vim /etc/zabbix/zabbix_agentd.conf
# 修改以下参数
Server=
ServerActive=
Hostname=<被监控主机名>
# 启动服务
systemctl start zabbix-agent
systemctl enable zabbix-agent
在 Web 界面添加主机: 进入 Configuration > Hosts。 点击 Create host。 填写主机名称、群组、接口(Agent 接口,IP 为被监控主机 IP)。 在 Templates 选项卡中关联模板(如 Template OS Linux)。 点击 Add 保存。 2. 自定义监控项 如果内置监控项不能满足需求,可以通过自定义监控项实现:
编写脚本:在被监控主机上编写自定义脚本,例如监控 TCP 连接状态。
# 示例脚本:/etc/zabbix/zabbix_agentd.d/tcp_state.sh
#!/bin/bash
netstat -an | grep "$1" | wc -l
配置 Agent:
# 编辑 Agent 配置文件
vim /etc/zabbix/zabbix_agentd.conf
# 添加以下内容
UserParameter=tcp_state[*],/etc/zabbix/zabbix_agentd.d/tcp_state.sh $1
# 重启 Agent
systemctl restart zabbix-agent
在 Web 界面创建自定义监控项: 进入 Configuration > Templates。 选择或创建模板。 点击 Items > Create item。 填写名称、键值(如 tcp_state[ESTABLISHED])、类型等信息。 点击 Add 保存。 3. 配置触发器与告警 创建触发器: 进入 Configuration > Templates。 选择模板,点击 Triggers > Create trigger。 填写名称、表达式(如 {Template OS Linux:system.cpu.load[all,avg1].last()}>5)。 设置严重性(如 Warning)。 点击 Add 保存。 配置告警通知: 进入 Administration > Media types。 点击 Email(或其他通知方式)。 配置 SMTP 服务器等信息。 进入 Administration > Users。 选择用户,点击 Media > Add。 选择通知方式(如 Email),填写接收地址。 点击 Add 保存。
四、优化与实战技巧
1. 监控频率优化 性能指标(如 CPU、内存):建议设置为 1 次/分钟。 信息指标(如主机名、Agent 版本):建议设置为 1 次/小时。 自动发现监控项(如文件系统、网络接口):建议设置为 1 次/小时。 2. 告警抑制 通过触发器函数实现告警抑制,例如:
# CPU iowait 连续 5 分钟大于 20% 才告警
{Template OS Linux:system.cpu.util[,iowait].min(5m)}>20
3. 宏变量使用 模板宏:在模板中定义宏变量(如 {KaTeX parse error: Expected 'EOF', got '}' at position 10: CPUIOWAIT}̲),默认值为 20。 主机宏:…CPUIOWAIT} 改为 10)。 4. LLD 宏变量 在自动发现中为单个监控项定义宏变量,例如:
# 文件系统 /opt 的阈值设置为 95%
{host:vfs.fs.size[{#FSNAME},pfree].last()}<{$LOW_SPACE_LIMIT:"{#FSNAME}"}
在主机宏中添加 {$LOW_SPACE_LIMIT:“/opt”},值为 95。
五、总结
Zabbix 的基本安装、配置和使用方法就写到这里了。Zabbix 功能强大,支持自定义监控项、触发器、告警通知等,能够满足不同场景的监控需求。在实际应用中,我们也可以根据业务需求进一步优化监控配置,提高监控效率和准确性。
談判冤家:劇情簡介,分集劇情,演職員表,角色介紹,電視劇表現,線上視頻,影視原聲,烙饼可不可以放冰箱里 烙饼可以放冰箱里吗