[comment]: # ({bc473bce-7d35b712})
# 9 使用 Zabbix agent 2（被动）监控网站证书

[comment]: # ({/bc473bce-7d35b712})

[comment]: # ({b0e73183-aea68f1a})
#### 简介

本指南全面概述了如何在 Zabbix agent 2 中使用 ``web.certificate.get`` 键来设置和监控 SSL/TLS 证书。它旨在简化对单个或多个网站的证书监控，确保管理员能够快速识别诸如证书过期或无效等潜在问题。

[comment]: # ({/b0e73183-aea68f1a})

[comment]: # ({524de314-4567c578})
**本指南适用对象**

本指南面向新的 Zabbix 用户，包含启用网站证书基础监控所需的最少步骤。如果您正在寻找更深入的自定义选项，或需要更高级的配置，请参阅 Zabbix 手册中的 [Configuration](/manual/config) 部分。

[comment]: # ({/524de314-4567c578})

[comment]: # ({dce6125c-931ef233})
**前提条件**

在继续本指南之前，您需要根据您的操作系统说明[下载并安装](https://www.zabbix.com/download) Zabbix 服务器、Zabbix 前端和 Zabbix agent 2。本教程假设 Zabbix 服务器和 agent 都安装在同一台机器上；因此，配置中使用 ``127.0.0.1``。

[comment]: # ({/dce6125c-931ef233})

[comment]: # ({106ad085-04e8e337})
#### 配置 Zabbix agent 2

1\. 打开 Zabbix agent 配置文件（默认路径：``/etc/zabbix/zabbix_agent2.conf``）：

    sudo vi /etc/zabbix/zabbix_agent2.conf

2\. 将 Server 参数设置为 127.0.0.1，因为 agent 和服务器运行在同一台机器上：

    Server=127.0.0.1

3\. 保存文件并重启 Zabbix agent 2 服务：

    sudo systemctl restart zabbix-agent2

4\. 在完成 Zabbix agent 2 的安装和配置后，使用以下命令测试其可用性：

    zabbix_get -s 127.0.0.1 -k web.certificate.get[<website_DNS_name>]

Zabbix agent 2 默认包含 WebCertificate 插件，因此无需单独安装或配置。

[comment]: # ({/106ad085-04e8e337})

[comment]: # ({34f22d4b-100b8992})
#### 配置 Zabbix 前端

1\. 登录 Zabbix 前端。

2\. 导航到 *Monitoring > Hosts*。

3\. 单击现有的、您希望用于监控网站证书的主机；如有必要，也可以[创建主机](/manual/config/hosts/host)：

-   在 *Host name* 字段中，输入主机名称（例如“Certificate Monitoring”）。
-   在 *Templates* 字段中，输入或选择将要[链接](/manual/config/templates/linking)到该主机的模板“Website certificate by Zabbix agent 2”。
-   在 *Host groups* 字段中，输入或选择一个主机组（例如“SSL/TLS Monitoring”）。
-   在 *Interfaces* 字段中，添加一个类型为“Agent”的接口并指定 IP 地址。
    在本示例中，使用的是“127.0.0.1”。

![](../../../assets/en/manual/guides/certificate_host.png){width="600"}

-   在 *Macros* 选项卡中，切换到 *Inherited and host macros*，找到以下宏，然后单击宏值旁边的 *Change* 进行更新：
    - ``{$CERT.WEBSITE.HOSTNAME}`` - 输入所需的网站 DNS 名称作为其值。

![](../../../assets/en/manual/guides/certificate_macros.png){width="600"}

4\. 单击 *Add* 以添加主机。

要监控多个网站，您可以在 `{$CERT.WEBSITE.HOSTNAME}` 宏中指定以逗号分隔的主机名列表。可选地，您还可以在 `{$CERT.WEBSITE.PORT}` 宏中提供以逗号分隔的端口列表，其中每个端口按顺序对应相应的主机名。例如，要监控 example.com 和 example.org，并将 example.org 监控在 8443 端口上：

-   `{$CERT.WEBSITE.HOSTNAME}`: example.com,example.org
-   `{$CERT.WEBSITE.PORT}`: 443,8443

对于 `{$CERT.WEBSITE.HOSTNAME}` 宏中指定的每个网站，Zabbix 都会创建一组对应的监控项和触发器。这样可以对每个网站的 SSL 证书进行单独监控和告警。

![](../../../assets/en/manual/guides/certificate_multiple_websites.png){width="600"}

[comment]: # ({/34f22d4b-100b8992})

[comment]: # ({2e8b9b28-69b6ae95})
#### 查看已收集的指标

恭喜！至此，Zabbix 已经在监控所需的 Web 证书。

要查看已收集的指标，请导航到 [*监控 > 主机*](/manual/web_interface/frontend_sections/monitoring/hosts) 菜单部分，然后点击主机旁边的 [*最新数据*](/manual/web_interface/frontend_sections/monitoring/latest_data)，以列表形式查看所有最新收集的指标，例如到期日期、颁发者和主题。

![](../../../assets/en/manual/guides/certificate_latestdata.png){width="600"}

[comment]: # ({/2e8b9b28-69b6ae95})

[comment]: # ({2902030b-27310ef3})
#### 设置问题告警

Zabbix 可以就基础设施问题向您发送通知。
本指南提供发送电子邮件告警的基本配置步骤。

1\. 导航到 [*用户设置 > 个人资料*](/manual/web_interface/user_profile)，切换到 *介质* 选项卡并[添加您的电子邮件](/manual/installation/quick_guides/basic_config/login#adding-user)。

![](../../../assets/en/manual/quickstart/new_media.png){width="600"}

2\. 按照[接收问题通知](/manual/installation/quick_guides/basic_config/notification)指南进行操作。

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

[comment]: # ({/2902030b-27310ef3})

[comment]: # ({2d7c57e2-f0c4f6e8})
#### 测试您的配置

要测试您的配置，我们可以通过在 Zabbix 前端中更新主机配置来模拟一个真实问题。

1\. 在 Zabbix 中打开您的“证书监控”主机配置。

2\. 切换到 *Macros* 选项卡并选择 *Inherited and host macros*。

3\. 点击之前已配置的 ``{$CERT.EXPIRY.WARN}`` 宏值旁边的 *Change*，并将其设置为一个非常大的天数值（大于 365 天通常就足够了），以便在证书到期前接收到警告。

4\. 点击 *Update* 以更新主机配置。

5\. 稍等片刻，Zabbix 将检测到“SSL certificate expires soon”问题，并显示距离到期的天数。  
该问题将显示在 [*Monitoring > Problems*](/manual/web_interface/frontend_sections/monitoring/problems) 中。

![](../../../assets/en/manual/guides/certificate_problem.png){width="600"}

如果已[配置](#set-up-problem-alerts)告警，您还将收到该问题的通知。

6\. 将宏值改回之前的值，以解决该问题并继续监控证书值。

[comment]: # ({/2d7c57e2-f0c4f6e8})

[comment]: # ({055146b2-682c2014})
#### 另请参阅

-   [Zabbix agent 2](/manual/config/items/itemtypes/zabbix_agent/zabbix_agent2) - 列出监控项键值。
-   模板 [*Website certificate by Zabbix agent 2*](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/certificate_agent2) - 有关 *Website certificate by Zabbix agent 2* 模板的更多信息。
-   模板 [*Website certificate by Zabbix agent 2 active*](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/certificate_agent2_active) - 有关 *Website certificate by Zabbix agent 2 active* 模板的更多信息。
-   [使用 Browser 监控项监控网站](/manual/guides/monitor_browser) - 如何使用 Browser 监控项开始对网站进行基本监控。

[comment]: # ({/055146b2-682c2014})
