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

在这一节中,我们将介绍如何使用 Zabbix agent 2 的被动模式功能来监控网站的 SSL/TLS 证书。通过这种方式,你可以确保网站证书在过期前得到及时更新,避免因证书问题导致的网站访问中断。

配置步骤

1. 配置 Zabbix agent 2

确保你的 Zabbix agent 2 已经正确安装并配置,能够接收来自 Zabbix server 的被动检查请求。

2. 创建监控项

在 Zabbix web 界面中,导航至配置(Configuration)> 主机(Hosts),选择你想要监控的主机,然后添加一个新的监控项(Item)。

  • 名称:输入描述性的名称,例如 "Website SSL/TLS Certificate Expiration"。
  • :使用 sslcertificate.check[<hostname>,<port>,<path>] 函数,其中 <hostname> 是要检查的网站地址,<port> 是 SSL/TLS 端口(通常是 443),<path> 是可选的路径。
  • 类型:选择 "Zabbix agent (passive)"。
  • 更新间隔:设置适当的更新间隔,例如 1 天。

3. 配置触发器

创建一个触发器来监控证书的过期时间。导航至配置(Configuration)> 触发器(Triggers),然后添加一个新的触发器。

  • 描述:例如 "SSL/TLS 证书将在 30 天内过期"。
  • 表达式:使用 {<host>:sslcertificate.check[<hostname>,<port>,<path>].last()} < 30,其中 <host> 是监控项所在的主机,<hostname><port><path> 与监控项中的一致。

4. 配置动作

设置一个动作来通知你当触发器被触发时。导航至配置(Configuration)> 动作(Actions),然后添加一个新的动作。

  • 条件:选择你刚才创建的触发器。
  • 操作:选择发送邮件或短信等通知方式。

完成以上步骤后,Zabbix 将能够监控你的网站证书,并在证书即将过期时通知你。

引言

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

此指南面向的读者

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

先决条件

在继续本指南之前,您需要根据您的操作系统说明下载并安装 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 运行在同一台机器上:

    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. 导航至 监控 > 主机

  3. 点击您想要监控网站证书的现有主机,或在必要时 创建一个主机

  • 主机名 字段中,输入主机名(例如,“证书监控”)。
  • 模板 字段中,输入或选择将与主机 关联 的模板“通过 Zabbix agent 2 监控的网站证书”。
  • 主机群组 字段中,输入或选择一个主机群组(例如,“SSL/TLS 监控”)。
  • 接口 字段中,添加类型为“Agent”的接口并指定 IP 地址。 在此示例中,使用“127.0.0.1”。

  • 选项卡中,切换到 继承和主机宏,查找以下宏并点击宏值旁边的 更改 进行更新:
    • {$CERT.WEBSITE.HOSTNAME} - 输入所需的网站 DNS 名称作为值。

  1. 点击 添加 以添加主机。

要监控多个网站,请重复上述步骤为每个网站创建单独的主机。每个主机都应使用“通过 Zabbix agent 2 监控的网站证书”模板,并配置相应的宏。为了简化流程,可以考虑克隆现有主机。克隆时,请确保更新 主机名{$CERT.WEBSITE.HOSTNAME} 宏,使用所需的值。

查看收集的指标

恭喜!到这一步,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证书即将到期”,显示距离到期的天数。 问题将出现在 Monitoring > Problems

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

6. 将宏值改回其原始值以解决该问题并继续监控证书值。

另请参阅