使用 Zabbix agent 监控 Linux

简介

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

本指南适用于谁

本指南面向新的 Zabbix 用户,包含启用对您的 Linux 机器进行基本监控所需的最少步骤。如果您正在寻找更深入的自定义选项,或需要更高级的配置,请参阅 Zabbix 手册中的 Configuration 部分。

先决条件

在继续阅读本指南之前,您需要根据适用于您的操作系统的说明下载并安装 Zabbix 服务器和 Zabbix 前端。

安装 Zabbix agent

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

检查您的 Zabbix 服务器版本:

zabbix_server -V

在您要监控的 Linux 机器上安装相同版本的 Zabbix agent(推荐)。 根据您的监控需求,这台机器可以是安装了 Zabbix 服务器的同一台机器,也可以是完全不同的机器。

选择最适合的安装方式:

  • 作为 Docker 容器运行 - 请参阅 Zabbix Docker repository 中可用镜像列表。

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

  • sources 编译。

配置 Zabbix 以进行监控

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

被动检查是一种简单的数据请求。Zabbix 服务器或 proxy 会请求某些数据(例如 CPU 负载),然后 Zabbix agent 将结果返回给服务器。主动检查需要更复杂的处理。Agent 必须先从服务器中获取一个监控项列表以进行独立处理,然后再批量发送数据。更多信息请参见 被动和主动 agent 检查

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

后续的 Zabbix 配置取决于您选择的是 主动 还是 被动 Zabbix agent 检查模板。

被动检查

Zabbix agent

1. 在安装了 agent 的机器上打开 agent 配置文件。

sudo vi /etc/zabbix/zabbix_agentd.conf

2. 将你的 Zabbix 服务器的 IP 地址或 DNS 名称添加到 Server 参数中。

Server=192.0.2.22

3. 重启 Zabbix agent。

systemctl restart zabbix-agent

Zabbix 前端

1. 登录 Zabbix 前端。

2. 创建主机 在 Zabbix web 前端中。

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

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

主动检查

Zabbix agent

1. 在安装了 Agent 的机器上打开 Agent 配置文件。

sudo vi /etc/zabbix/zabbix_agentd.conf

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

ServerActive=192.0.2.1:10051

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

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

Hostname=Linux server

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

4. 重启 Zabbix agent。

systemctl restart zabbix-agent

Zabbix 前端

1. 登录到 Zabbix 前端。

2. 在 Zabbix web interface 中创建主机

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

3. 单击 Add 以添加主机。该主机将代表被监控的 Linux 机器。

查看已收集的监控数据

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

要查看已收集的监控数据,请打开 Monitoring->Hosts 菜单部分,然后点击主机旁边的 Latest data

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

设置问题告警

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

1. 转到 User settings -> Profile,切换到 Media 选项卡,并 添加您的电子邮件

2. 按照 接收问题通知 指南进行操作。

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

测试你的配置

在 Linux 上,你可以通过运行以下命令来模拟高 CPU 负载,并因此收到问题告警:

cat /dev/urandom | md5sum

你可能需要运行多个 md5sum 进程,才能使 CPU 负载超过阈值。

当 Zabbix 检测到该问题时,它会显示在 Monitoring->Problems 部分中。

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

另请参阅:

  • 创建监控项 - 如何开始监控额外的指标(不使用模板的自定义监控)。
  • Zabbix agent 监控项, Windows 上的 Zabbix agent 监控项 - 可使用 Zabbix agent 在 Windows 上监控的指标完整列表。
  • 问题升级 - 如何创建多步骤告警场景 (例如,先向系统管理员发送消息,然后,如果问题在 45 分钟内未解决, 再向数据中心经理发送消息)。
  • 从软件包安装 - 如何使用适用于各种 Linux 发行版的官方 RPM 和 DEB 软件包安装 Zabbix 组件,确保可以访问最新功能和错误修复。