1 使用 Zabbix agent 监控Linux

介绍

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

本指南适用于谁

本指南专为Zabbix新用户设计,包含了对Linux计算机进行基本监控所需的最少步骤集。 如果您正在寻找深度自定义选项或需要更高级的配置,请参阅Zabbix手册的 配置 部分。

前提条件

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

安装 Zabbix agent

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

检查你的 Zabbix 服务器版本:

zabbix_server -V

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

选择最合适的安装方法:

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

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

  • 从源码编译。

配置Zabbix进行监控

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

被动检查是一个简单的数据请求。 Zabbix server或proxy会要求agent提供一些数据 (例如,CPU负载), Zabbix agent 会将结果发回服务器。 主动检查需要更复杂的处理。代理必须首先从服务器检索要独立处理的项目列表,然后批量发送回数据。 详情请参阅 被动和主动模式的agent检查

Monitoring templates provided by Zabbix usually offer two alternatives - a template for Zabbix agent and a template for Zabbix agent (active). With the first option, the agent will collect metrics in passive mode. Such templates will deliver identical monitoring results, but using different communication protocols.

Further Zabbix configuration depends on whether you select a template for active or passive Zabbix agent checks.

被动模式检查

Zabbix agent

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

sudo vi /etc/zabbix/zabbix_agentd.conf

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

Server=192.0.2.0:10051

Zabbix agent 将使用此地址,仅接受来自指定 Zabbix 服务器或 proxies 的传入连接以获取数据。

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.0: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 界面中创建主机

  • Host name 字段中,输入一个主机名称(例如“Linux server”),该名称必须与先前在 agent 配置文件中定义的 Hostname 参数值匹配。
  • Templates 字段中,输入或选择将要链接到该主机的模板“Linux by Zabbix agent active”。
  • Host groups 字段中,输入或选择一个主机组(例如“Linux servers”)。
  • Interfaces 留空;活动检查不需要接口,因为连接是由 agent 主动发起到服务器的,而不是由 agent 监听来自服务器的连接。

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

查看收集的指标

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

要查看收集的指标,请打开 监视->主机 菜单 ,然后点击主机旁边的 最新数据

此操作将打开从 Linux 服务器主机收集的所有最新指标的列表。

设置问题告警

Zabbix 可以通过多种方式在您的基础架构出现问题时通知您。
本指南提供发送电子邮件告警的配置步骤。

1. 前往 用户设置 -> 个人资料,切换到 介质 选项卡,并添加您的电子邮件

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

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

测试配置

在 Linux 上,您可以通过运行以下命令模拟高 CPU 负载,以接收问题告警:

cat /dev/urandom | md5sum

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

当Zabbix检测到问题时,它将出现在 监控->问题 部分.

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

另请参阅:

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