Zabbix 使用教程:从入门到实战

发布于:2025-06-20 ⋅ 阅读:(20) ⋅ 点赞:(0)

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=<zabbix-server-ip>
ServerActive=<zabbix-server-ip>
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 功能强大,支持自定义监控项、触发器、告警通知等,能够满足不同场景的监控需求。在实际应用中,我们也可以根据业务需求进一步优化监控配置,提高监控效率和准确性。


网站公告

今日签到

点亮在社区的每一天
去签到