我无法将Logstash连接到Elasticsearch。我已经使用helm在kubernetes上安装了ELK堆栈。每个pod都在运行并处于就绪状态。Elasticsearch和kibana都很好(即连接正确)。问题是logstash无法识别Elasticsearch以建立连接。查找以下错误的屏幕截图:
请帮助提出适当的解决方案。
dly7yett1#
看下面的https://medium.com/kubernetes-tutorials/exporting-kubernetes-logs-to-elasticsearch-using-fluent-bit-758e8de606af在步骤3中,部署fluentbit DaemonSet。在这里,根据www.example.com,env变量FLUENT_ELASTICSEARCH_HOST被修改为elasticsearch.default.svc.cluster.localhttps://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#srv-records,格式为[srv].[namespace].srv.cluster.local。该连接字符串为Kubernetes DNS所知。因此,请将环境变量更改为“Kubernetes DNS”格式通过学习ECK教程,您应该已经有了一个服务,您可以通过执行kubectl get services -n [namespace]或kubectl get services -A来获得该服务
env
FLUENT_ELASTICSEARCH_HOST
elasticsearch.default.svc.cluster.local
[srv].[namespace].srv.cluster.local
kubectl get services -n [namespace]
kubectl get services -A
1条答案
按热度按时间dly7yett1#
看下面的https://medium.com/kubernetes-tutorials/exporting-kubernetes-logs-to-elasticsearch-using-fluent-bit-758e8de606af
在步骤3中,部署fluentbit DaemonSet。在这里,根据www.example.com,
env
变量FLUENT_ELASTICSEARCH_HOST
被修改为elasticsearch.default.svc.cluster.local
https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/#srv-records,格式为[srv].[namespace].srv.cluster.local
。该连接字符串为Kubernetes DNS所知。因此,请将环境变量更改为“Kubernetes DNS”格式
通过学习ECK教程,您应该已经有了一个服务,您可以通过执行
kubectl get services -n [namespace]
或kubectl get services -A
来获得该服务