我试图在专用网络的docker容器中配置ELK,并在另一个专用网络的节拍器中配置Linux机器。我试图为Filebeat生成SSL证书以验证ELK服务器的身份。我尝试通过转发容器端口来使用容器主机的公共IP,但是没有用。谁能帮助我验证文件节拍节点中的ELK服务器身份。
我做了什么?
在网络A上: 1)使用sebp / elk映像启动ELK容器 2)是否为端口5601、9200、5044进行了端口转发 3)验证kibana是否正在网络中加载并且成功 4)使用安装了docker的主机的公共IP在ELK容器中生成SSL证书。 5)将此SSL证书复制到Beats主机/ etc / pki / tls / certs /
在网络B上: 1)机器中安装的节拍(不是容器) 2)使用端口(Say x.x.x.x:8001)的Docker主机的公共IP配置filebeat.yml并添加ssl证书路径 3)重新启动网络A中的logstash和网络B中的filebeat,并收到以下错误 错误: .514762 transport.go:125:ERR SSL客户端无法连接:x509:无法验证证书,因为它不包含任何IP SAN。
非常感谢
答案 0 :(得分:0)
您可以检查并验证以下几点-
docker port elk_stack 5044/tcp -> 0.0.0.0:5044 5601/tcp -> 0.0.0.0:5601 9200/tcp -> 0.0.0.0:9200
检查filebeat日志是否显示连接请求以更正elasticsearch / kibana主机,在上述情况下,该主机将是您的主机IP和暴露的容器端口。
使用curl命令从运行filebeat的远程主机上检查是否可以访问elasticsearch和kibana-
curl ${elasticsearch_host}:9200 curl ${kibana_host}:5601