Zabbix详细使用教程
基本概念与架构
Zabbix 采用 C/S 架构,主要组件包括 Zabbix Server、Zabbix Agent、数据库、Zabbix Web 界面和 Zabbix Proxy(可选)。Zabbix Server 是核心组件,负责收集 Agent 采集的数据并持久化存储到数据库;Zabbix Agent 部署在被监控主机上,采集监控数据并发送到 Server;数据库用于存储采集到的数据;Zabbix Web 界面提供图形化界面,方便用户进行监控配置和查看数据;Zabbix Proxy 用于分布式环境,分担 Server 负载。
登录 Web 界面
在浏览器中输入 Zabbix 服务器的 IP 地址或域名,后面加上/zabbix,例如http://your_server_ip/zabbix。使用初始用户名Admin和密码zabbix进行登录。
添加主机
- 在被监控主机上安装 Zabbix Agent。以 CentOS 系统为例,执行命令
yum install -y zabbix-agent。 - 编辑 Agent 配置文件
/etc/zabbix/zabbix_agentd.conf,修改Server(Zabbix Server 的 IP 地址或域名)、ServerActive(主动模式下 Zabbix Server 的 IP 地址或域名)和Hostname(被监控主机名)等参数。 - 启动 Agent 服务并设置开机自启,执行命令
systemctl start zabbix-agent和systemctl enable zabbix-agent。 - 在 Zabbix Web 界面中,进入 “Configuration”→“Hosts”,点击 “Create host”。填写主机名称、群组、接口(Agent 接口,IP 为被监控主机 IP),在 “Templates” 选项卡中关联模板(如 “Template OS Linux”),然后点击 “Add” 保存。
自定义监控项
- 在被监控主机上编写自定义脚本,例如监控 TCP 连接状态的脚本
/etc/zabbix/zabbix_agentd.d/tcp_state.sh,内容如下:
#!/bin/bash
netstat -an | grep "$1" | wc -l
- 编辑 Agent 配置文件
/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” 保存。
配置触发器与告警
- 创建触发器:进入 “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” 保存。
数据可视化
- 仪表板:Zabbix 的仪表板是监控中心,可以自定义添加小组件,如主机状态、性能指标图表、问题列表等。进入 “Monitoring”→“Dashboard”,点击 “Create dashboard” 或编辑现有仪表板,添加所需的组件。
- 图形:可以创建简单图形、自定义图形等。进入 “Monitoring”→“Graphs”,点击 “Create graph”,选择监控项、时间范围等参数,创建图形。
- 网络拓扑图:进入 “Monitoring”→“Topology”,点击 “Create topology”,添加主机和链接,配置网络拓扑图的显示样式和指标。
其他功能
- 维护期:当需要对某些主机或设备进行维护时,可以设置维护期,避免在维护期间产生不必要的告警。进入 “Configuration”→“Maintenance”,点击 “Create maintenance”,填写相关信息,如维护期名称、时间范围、影响的主机或主机组等。
- 数据导出:Zabbix 支持将数据导出到文件或流式传输到外部系统。进入 “Administration”→“Export”,选择要导出的数据类型(如主机、模板、监控项等),设置导出格式和其他参数,点击 “Export” 即可。
- 分布式监控:如果监控环境较大,可以使用 Zabbix Proxy 进行分布式监控。在 Proxy 服务器上安装 Zabbix Proxy,配置与 Zabbix Server 的连接,然后在 Zabbix Server 上配置 Proxy 相关信息,如 Proxy 的 IP 地址、端口等。
若被监控的主机是 Windows 系统,可参考以下步骤进行操作:
安装 Zabbix Agent
- 下载 Agent:根据 Windows 系统的版本(32 位或 64 位),从 Zabbix 官网下载对应的 Zabbix Agent 安装包。例如,Zabbix 4.0 及以上版本提供了 Windows 的 MSI 安装包,可直接下载。
- 安装 Agent:运行下载的 MSI 安装程序,按照安装向导进行操作,可选择默认安装路径或自定义路径。安装完成后,Zabbix Agent 会自动添加到 Windows 系统服务中并自动启动。
- 配置 Agent:打开 Zabbix Agent 的配置文件
zabbix_agentd.conf,通常位于C:\Program Files\Zabbix Agent目录下。如果使用被动模式,需将Server参数设置为 Zabbix Server 的 IP 地址或域名;如果使用主动模式,需将ServerActive参数设置为 Zabbix Server 的 IP 地址或域名,同时将Hostname参数设置为该 Windows 主机在 Zabbix 中显示的名称。
在 Zabbix Web 界面添加主机
- 登录 Zabbix Web 界面,进入 “Configuration”→“Hosts”,点击 “Create host”。
- 在 “Host” 选项卡中,填写主机名称,该名称应与 Zabbix Agent 配置文件中的
Hostname参数一致;选择主机所属的主机组;在 “Interfaces” 选项卡中,添加 Agent 类型接口,输入 Windows 主机的 IP 地址或 DNS 名称,端口默认使用 10050。 - 在 “Templates” 选项卡中,根据监控需求选择模板。如果是被动模式,可选择 “Windows by Zabbix agent” 模板;如果是主动模式,可选择 “Windows by Zabbix agent active” 模板,然后点击 “Add” 保存。
验证连接
- 在 Zabbix Server 上,可以使用
zabbix_get命令验证能否获取到 Windows 主机的数据。例如,执行zabbix_get -s <Windows主机IP地址> -p 10050 -k "vfs.fs.size(c:,total)",如果能正常返回数值,说明 Zabbix Server 与 Windows 主机上的 Zabbix Agent 连接正常。 - 在 Zabbix Web 界面中,进入 “Monitoring”→“Hosts”,选择刚添加的 Windows 主机,点击 “Latest data”,查看是否有获取到的监控数据。如果数据正常显示,说明 Windows 主机已成功添加到 Zabbix 监控系统中。
Zabbix Web 设置中文主要有以下步骤:
- 检查并安装中文语言环境:
- 在服务器上,使用命令
locale -a | grep "zh_CN"检查是否已安装中文语言包。如果输出为空,则表示未安装。 - 根据服务器操作系统类型安装中文包。对于 CentOS 8,执行命令
dnf -y install glibc-langpack-zh.x86_64;对于 CentOS 7,执行命令yum groupinstall chinese - support - y;对于 Ubuntu,执行命令apt - get install language - pack - zh* - y。
- 在服务器上,使用命令
- 开启 Zabbix 对中文的支持:
- 编辑 Zabbix 的 php 源文件
/usr/share/zabbix/include/locales.inc.php(不同版本路径可能略有不同)。 - 找到
'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),,将display的值从false改为true。
- 编辑 Zabbix 的 php 源文件
- 设置 Zabbix Web 界面语言:
- 登录 Zabbix Web 界面,点击右上角的用户头像或类似小人的设置图标,选择 “Profile”。
- 在 “Language” 选项中,从下拉菜单中选择 “Chinese(zh_CN)”。
- 点击 “Update” 按钮,刷新页面后,Zabbix Web 界面将显示为中文。
如果设置中文后出现图表乱码问题,可参考以下方法解决:
- 从 Windows 电脑的
C:\Windows\Fonts目录中选择一个中文字体,如楷体SIMKAI.TTF,将其复制到服务器上。 - 查找 Zabbix 字体所在目录,通常为
/usr/share/zabbix/assets/fonts。 - 进入该目录,备份原有字体文件,如
mv graphfont.ttf graphfont.ttf.bak。 - 将复制过来的中文字体文件重命名为
graphfont.ttf,即mv SIMKAI.TTF graphfont.ttf。 - 编辑
/usr/share/zabbix/include/defines.inc.php文件,将define('ZBX_GRAPH_FONT_NAME', 'graphfont');改为define('ZBX_GRAPH_FONT_NAME','simkai');。 - 重启 Web 服务,如
systemctl reload httpd或nginx - s reload,然后刷新 Zabbix Web 页面。
要将 Zabbix 的数据同步到 Grafana 并可视化展示,需通过 Grafana 的 Zabbix 数据源插件 建立连接,实现数据的实时拉取与展示。以下是详细步骤:
一、环境准备
- 确保组件版本兼容
- Grafana 版本:建议 5.0 及以上(支持 Zabbix 插件)。
- Zabbix 版本:需与 Grafana 的 Zabbix 插件版本兼容(插件官网会标注支持的 Zabbix 版本,如 Zabbix 5.0+)。
- 网络连通性:Grafana 服务器需能访问 Zabbix Server 的 API 接口(默认端口 80/443,取决于 Zabbix Web 的部署)。
二、安装 Grafana 的 Zabbix 数据源插件
Grafana 通过插件连接 Zabbix,需先安装官方推荐的 Zabbix 插件(alexanderzobnin-zabbix-app)。
方法 1:通过 Grafana CLI 安装(推荐)
登录 Grafana 服务器,执行以下命令:
# 进入Grafana插件目录(默认路径,根据实际安装调整)
cd /var/lib/grafana/plugins
# 安装Zabbix插件
grafana-cli plugins install alexanderzobnin-zabbix-app
# 重启Grafana服务使插件生效
systemctl restart grafana-server
方法 2:手动下载安装(适用于无网络环境)
- 从 Grafana 插件市场 下载 Zabbix 插件的 ZIP 包。
- 将 ZIP 包解压到 Grafana 插件目录(如
/var/lib/grafana/plugins/alexanderzobnin-zabbix-app)。 - 重启 Grafana 服务:
systemctl restart grafana-server。
三、在 Grafana 中配置 Zabbix 数据源
- 启用 Zabbix 插件
- 登录 Grafana Web 界面(默认地址:
http://grafana-ip:3000,默认账号admin/admin)。 - 左侧菜单点击 Configuration(齿轮图标)→ Plugins,搜索 “Zabbix”,点击 “Enable” 启用插件。
- 登录 Grafana Web 界面(默认地址:
- 添加 Zabbix 数据源
- 左侧菜单点击 Configuration → Data sources → Add data source,搜索 “Zabbix” 并选择。
- 配置 Zabbix 连接参数:
- Name:自定义名称(如 “Zabbix-DB”)。
- URL:Zabbix Server 的 API 地址(即 Zabbix Web 的访问地址,如
http://zabbix-ip/zabbix/api_jsonrpc.php)。 - Access:选择 “Server(默认)”(Grafana 服务器直接访问 Zabbix API)。
- Zabbix API details:
- Username:Zabbix 的登录账号(如
Admin)。 - Password:Zabbix 的登录密码(如
zabbix)。
- Username:Zabbix 的登录账号(如
- 其他参数保持默认,点击 Save & test,显示 “Data source is working” 即配置成功。
四、在 Grafana 中创建 Zabbix 数据面板
配置完数据源后,即可通过 Grafana 的面板(Dashboard)展示 Zabbix 数据。
1. 新建面板
- 左侧菜单点击 Create → Dashboard → Add a new panel。
2. 配置数据查询
- 在面板编辑页,Data source 选择已配置的 Zabbix 数据源(如 “Zabbix-DB”)。
- 点击Query区域的 “Select metric”,通过下拉菜单选择 Zabbix 的监控项:
- 步骤:
Host groups → Host → Application → Item(例如:选择 “Linux servers” 主机组 → “web-server” 主机 → “CPU” 应用集 → “CPU idle time” 监控项)。
- 步骤:
- 调整时间范围(右上角)、数据聚合方式(如 “Average”“Max”)等。
3. 自定义图表样式
- Visualization:选择图表类型(如折线图、柱状图、仪表盘等)。
- Panel title:设置面板名称(如 “CPU 使用率趋势”)。
- 调整坐标轴、图例、颜色等样式,点击右上角 Apply 保存面板。
五、导入现成的 Zabbix 模板(可选)
Grafana 社区提供了许多现成的 Zabbix 监控模板(如服务器、网络设备、数据库等),可直接导入使用:
- 访问 Grafana 模板市场,搜索需要的模板(如 “Zabbix Server Monitoring”),复制模板 ID。
- 在 Grafana 中,左侧菜单点击 Dashboard → Import,输入模板 ID,点击 “Load”。
- 选择 Zabbix 数据源,点击 “Import” 完成导入,即可直接使用模板中的图表。
六、常见问题解决
-
“Data source is not working” 错误
- 检查 Zabbix API 地址是否正确(必须包含
api_jsonrpc.php)。 - 确认 Zabbix 账号密码正确,且有足够权限(至少 “Viewer” 角色)。
- 检查 Grafana 服务器与 Zabbix Server 的网络连通性(如防火墙是否放行 80/443 端口)。
- 检查 Zabbix API 地址是否正确(必须包含
-
数据查询无结果
- 确认 Zabbix 中该监控项有历史数据(在 Zabbix Web 的 “Latest data” 中验证)。
- 检查 Grafana 的时间范围是否包含 Zabbix 数据的时间区间。
-
图表中文乱码
-
替换 Grafana 的默认字体为中文字体(如 “SimHei”):
-
将 Windows 字体
simhei.ttf上传到 Grafana 字体目录(如/usr/share/grafana/public/fonts)。 -
编辑 Grafana 配置文件
/etc/grafana/grafana.ini,在[plugins]下添加:[plugins] ; 字体路径 default_font = simhei -
重启 Grafana 服务:
systemctl restart grafana-server。
-
-
通过以上步骤,即可实现 Zabbix 数据在 Grafana 中的同步与可视化,利用 Grafana 更丰富的图表样式和交互功能展示监控数据。
更多推荐

所有评论(0)