9 使用 Zabbix agent 2(被动)监控网站证书

简介

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

本指南适用对象

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

前提条件

在继续本指南之前,您需要根据您的操作系统说明下载并安装 Zabbix 服务器、Zabbix 前端和 Zabbix agent 2。本教程假设 Zabbix 服务器和 agent 都安装在同一台机器上;因此,配置中使用 127.0.0.1

配置 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 插件,因此无需单独安装或配置。

配置 Zabbix 前端

1. 登录 Zabbix 前端。

2. 导航到 Monitoring > Hosts

3. 单击现有的、您希望用于监控网站证书的主机;如有必要,也可以创建主机

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

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

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 证书进行单独监控和告警。

查看已收集的指标

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

要查看已收集的指标,请导航到 监控 > 主机 菜单部分,然后点击主机旁边的 最新数据,以列表形式查看所有最新收集的指标,例如到期日期、颁发者和主题。

设置问题告警

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

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

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

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

测试您的配置

要测试您的配置,我们可以通过在 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 中。

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

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

另请参阅