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} 宏中提供以逗号分隔的端口列表,其中每个端口按顺序对应相应的主机名。例如,要监控端口 8443 上的 example.com 和 example.org:
{$CERT.WEBSITE.HOSTNAME}: example.com,example.org{$CERT.WEBSITE.PORT}: 443,8443
对于 {$CERT.WEBSITE.HOSTNAME} 宏中指定的每个网站,Zabbix 都会创建一组对应的监控项和触发器。这样可以对每个网站的 SSL 证书进行单独监控和告警。

查看已收集的监控项
恭喜!此时,Zabbix 已经在监控所需的 Web 证书。
要查看已收集的监控项,请导航到 Monitoring > Hosts 菜单部分,并点击主机旁边的 Latest data,以列表形式查看所有最新收集的监控项,例如到期日期、颁发者和主题。

设置问题告警
Zabbix 可以就基础设施问题向您发送通知。 本指南提供发送电子邮件告警的基本配置步骤。
1. 导航到 用户设置 > 个人资料,切换到 介质 选项卡并添加您的电子邮件。

2. 按照接收问题通知指南进行操作。
下次当 Zabbix 检测到问题时,您应该会通过电子邮件收到告警。
测试你的配置
要测试你的配置,我们可以通过在 Zabbix 前端中更新主机配置来模拟一个真实问题。
1. 打开 Zabbix 中 “Certificate Monitoring” 主机的配置。
2. 切换到 Macros 选项卡,并选择 Inherited and host macros。
3. 点击之前配置的 {$CERT.EXPIRY.WARN} 宏值旁边的 Change,并设置一个非常大的天数(大于 365 天即可),以便在证书过期前收到警告。
4. 点击 Update 更新主机配置。
5. 过一会儿,Zabbix 将检测到 “SSL certificate expires soon” 问题,并显示距离过期还有多少天。 该问题将出现在 Monitoring > Problems 中。

如果已配置告警,你还会收到该问题的通知。
6. 将宏值改回之前的值,以解决该问题,并继续监控证书值。
另请参阅
- Zabbix agent 2 - 列出监控项键值。
- 模板 Website certificate by Zabbix agent 2 - 有关 Website certificate by Zabbix agent 2 模板的更多信息。
- 模板 Website certificate by Zabbix agent 2 active - 有关 Website certificate by Zabbix agent 2 active 模板的更多信息。
- 使用 Browser 监控项监控网站 - 如何使用 Browser 监控项开始对网站进行基本监控。