Table of Contents

3 故障排除

通用建议

  • 首先明确在问题场景中哪个组件充当 TLS 客户端,哪个组件充当 TLS 服务器。
    Zabbix server、proxies 和 agents 根据它们之间的交互,都可以作为 TLS 服务器或客户端运行。
    例如,当 Zabbix server 为被动检查连接到 agent 时,它充当 TLS 客户端,而 agent 则作为 TLS 服务器。
    Zabbix agent 从 proxy 请求主动检查列表时,充当 TLS 客户端,而 proxy 则作为 TLS 服务器。
    zabbix_getzabbix_sender 工具始终作为 TLS 客户端。
  • Zabbix 使用双向认证。
    双方都会验证对方,并可能拒绝连接。
    例如,当 Zabbix server 连接到 agent 时,如果 agent 的证书无效,可能会立即关闭连接。反之亦然——
    Zabbix agent 接受来自服务器的连接时,如果服务器不被 agent 信任,也可能关闭连接。
  • 检查两端的日志文件——TLS 客户端和 TLS 服务器的日志。
    拒绝连接的一方可能会记录具体的拒绝原因。而另一方通常报告的是较为笼统的错误(例如,“连接被对端关闭”,“连接未正常终止”)。
  • 有时加密配置错误会导致产生令人困惑的错误信息,这些信息与实际原因毫无关联。
    在下面的小节中,我们尝试提供一些(远非详尽的)错误信息及其可能原因的集合,以帮助进行故障排查。
    请注意,不同的加密工具包(OpenSSL、GnuTLS)在相同问题情况下通常会产生不同的错误信息。
    有时错误信息甚至取决于两端所使用的加密工具包的具体组合。