1 使用 Zabbix agent 监控 Linux

介绍

本页面将引导您完成使用 Zabbix 开始对 Linux 机器进行基本监控所需的步骤。 本教程中描述的步骤适用于任何基于 Linux 的操作系统。

本指南的适用对象

本指南面向Zabbix的新用户,包含启用对您的Linux主机进行基础监控所需的最少步骤。如果您需要深度定制选项或更高级的配置,请参见Zabbix手册中的 Configuration 章节。

前提条件

继续本指南之前,您需要根据您的操作系统说明安装download and install Zabbix server和Zabbix前端。

安装 Zabbix agent

Zabbix agent 是负责收集数据的进程。

检查你的 Zabbix server 版本:

zabbix_server -V

在你想要监控的 Linux 机器上安装相同 version(推荐)的 Zabbix agent。根据你的监控需求,它可以是安装了 Zabbix server 的同一台机器,也可以是完全不同的机器。

选择最适合的安装方式:

  • 作为 Docker 容器运行 - 可在 Zabbix Docker repository 查看可用镜像列表。

  • 从 Zabbix packages 安装(适用于 Alma Linux、CentOS、Debian、Oracle Linux、Raspberry Pi OS、RHEL、Rocky Linux、SUSE Linux Enterprise Server、Ubuntu)。

  • 编译 from sources

为监控配置 Zabbix

Zabbix agent 可以以主动或被动模式(同时)收集指标。

被动检查是一个简单的数据请求。Zabbix server 或 proxy 请求某些数据(例如,CPU 负载),然后 Zabbix agent 将结果发送回服务器。主动检查需要更复杂的处理。Agent 必须首先从服务器检索一个需要独立处理的 监控项 列表,然后批量发送数据回去。 更多信息请参见 Passive and active agent checks

Zabbix 提供的监控模板通常提供两种选择 - 一种是用于 Zabbix agent 的模板,另一种是用于 Zabbix agent(主动)的模板。选择第一个选项时,Agent 将以被动模式收集指标。 这些模板将提供相同的监控结果,但使用不同的通信协议。

进一步的 Zabbix 配置取决于您选择的是用于主动 还是 被动 Zabbix agent 检查的模板。

被动检查

Zabbix agent

1。在安装了 Agent 的机器上打开 Agent 配置 file。

sudo vi /etc/zabbix/zabbix_agentd.conf

2。将您的 Zabbix server 的 IP 地址或 DNS 名称添加到 Server 参数中。

Server=192.0.2.22

3。重启 Zabbix agent。

systemctl restart zabbix-agent

Zabbix前端

1。登录到 Zabbix 前端。

2。Zabbix Web 界面中的 Create a host

  • 主机名 字段中输入 一个主机 名称(例如,“Linux server”)。
  • 模板 字段中,键入或选择模板“Linux by Zabbix agent”,该模板将被 linked 到 主机。
  • 主机 群组 字段中,键入或选择 一个主机 群组(例如,“Linux servers”)。
  • 接口(Interfaces) 参数中,添加 Agent 接口,并指定安装 Agent 的 Linux 主机的 IP 地址或 DNS 名称。

3。点击 添加 来添加 主机。此 主机 将表示被监控的 Linux 主机。

主动检查

Zabbix agent

1。在安装 Agent 的计算机上打开 Agent 配置 file。

sudo vi /etc/zabbix/zabbix_agentd.conf

2。将你的Zabbix server的IP地址或DNS名称(以及可选的端口)添加到ServerActive参数中。例如:

ServerActive=192.0.2.0:10051

Zabbix agent 将使用此地址连接到 Zabbix server 的 trapper 端口(默认端口:10051),并请求主动检查的配置数据。

3。定义Hostname参数,该参数必须与在Zabbix前端中定义的主机名称匹配。在我们的示例中,它是:

Hostname=Linux server

主机名值必须匹配,因为对于主动检查,Zabbix agent 会使用它从服务器检索正确的 主机 配置。具体来说,Agent 会向服务器发起连接,并使用主机名值标识自身。然后服务器会提供该 主机 的监控配置。如果这些值不一致,Agent 将无法接收到适当的配置,从而导致指标缺失或监控 问题。

4。重启 Zabbix agent。

systemctl restart zabbix-agent

Zabbix前端

1.登录到 Zabbix 前端。

2.在 Zabbix Web 界面中,Create a host

  • 主机名 字段中,输入与之前在 Agent 配置文件中定义的 Hostname 参数值匹配的 一个主机 名称(例如,“Linux server”)。
  • 模板 字段中,键入或选择模板“Linux by Zabbix agent active”,该模板将被 linked 到 主机。
  • 主机 groups 字段中,键入或选择 一个主机 组(例如,“Linux servers”)。
  • 保持 Interfaces 未定义状态;对于主动检查,不需要接口,因为 Agent 会主动发起与服务器的连接,而不是等待服务器的连接。

3.点击 Add 以添加 主机。此 主机 将代表被监控的 Linux 主机。

查看收集的指标

恭喜!此时,Zabbix 已经在监控您的 Linux 机器了。

要查看已收集的指标,请打开 监控->主机 menu section 并点击 主机 旁边的 最新数据

此操作将打开一个列表,其中包含从 Linux 服务器收集的所有最新指标 主机。

设置问题告警

Zabbix可以通过多种方式通知您基础设施的问题。 本指南提供发送电子邮件警报的配置步骤。

1. 转到 用户设置 -> 个人资料,切换到 媒介 标签页,并 添加用户

2. 请参考Receiving problem notification的指南。

下次当Zabbix检测到问题时,您应该会通过电子邮件收到警报。

测试配置

在Linux系统上,可以通过运行以下命令模拟高CPU负载,从而触发问题告警:

cat /dev/urandom | md5sum

您可能需要run多个md5sum进程才能使CPU负载超过阈值。

当Zabbix检测到问题时,该问题将显示在"监控->问题"区域。

如果已配置告警,您还将收到问题通知。

参见:

  • Creating an item - 如何开始监控更多指标(不使用模板的自定义监控)。
  • Zabbix agent items,
    Zabbix agent items for Windows - 您可以使用 Zabbix agent 在 Windows 上监控的指标完整列表。
  • Problem escalations - 如何使用 create 多步骤告警场景
    (例如,首先发送消息给系统管理员,如果问题在 45 分钟内未解决,则发送消息给数据中心经理)。
  • Installation from packages - 如何使用适用于各种 Linux 发行版的官方 RPM 和 DEB 包安装 Zabbix 组件,确保访问最新功能和错误修复。