Metricbeat对接logz.io报x509: certificate signed by unknown authority错误
配置疏漏点
- 显式SSL开关配置未正确生效:logz.io的5015端口要求强制SSL通信,即便配置了CA证书路径,也必须在
output.logstash下显式添加ssl.enabled: true,且该配置项必须和hosts平级、缩进一致,缩进错误会导致配置不被读取,错误日志中的tcp://前缀也说明当前连接未启用SSL封装。 - 证书校验路径未生效:如果配置文件中的
ssl.certificate_authorities行前误加注释符号,会导致Metricbeat未加载指定CA证书,直接使用系统默认根证书库校验,出现未知颁发机构错误。
服务器侧排查点
- 证书有效性测试:执行以下命令直接验证证书是否匹配站点:
若返回openssl s_client -connect listener-eu.logz.io:5015 -CAfile /etc/pki/tls/certs/COMODORSADomainValidationSecureServerCA.crtVerify return code: 0 (ok)则证书本身无问题,否则需要重新下载未损坏的CA证书。 - SELinux权限校验:开启SELinux的环境下,仅配置文件权限不足以保证Metricbeat可读取证书,执行
ls -Z /etc/pki/tls/certs/COMODORSADomainValidationSecureServerCA.crt对比正常服务器的安全上下文,异常时可执行restorecon -v 对应证书路径恢复默认上下文,也可临时关闭SELinux验证是否为拦截导致。 - 系统根证书同步:将CA证书添加到系统全局信任库:
重启Metricbeat后测试是否恢复正常。cp /etc/pki/tls/certs/COMODORSADomainValidationSecureServerCA.crt /etc/pki/ca-trust/source/anchors/ update-ca-trust extract - 中间SSL拦截排查:偶发x509错误伴随超时,大概率是企业出口防火墙做了SSL透明代理,替换了服务端证书,执行上述openssl命令时查看返回的证书颁发机构,如果不是COMODO则可确认存在代理拦截,需要网络团队加白名单放行logz.io流量,或者将代理的根证书加入Metricbeat的CA证书列表。
- Metricbeat自检测试:执行
metricbeat test config确认配置无语法错误,再执行metricbeat test output直接测试输出连通性,返回的错误信息比通用服务日志更精准。 - 系统时间校验:确认服务器系统时间与UTC时间偏差不超过5分钟,证书校验对时间敏感,时间偏差过大会触发证书无效错误。
内容的提问来源于stack exchange,提问作者FranzHuber23
相关产品推荐
相关产品推荐

