我在同一台计算机上并行运行一个弹性实例和一个logstash实例。
当尝试将文件加载到弹性文件中时,使用运行下面的配置文件的logstash,我得到弹性的后续输出消息并且没有加载文件 (当输入被配置为stdin时,一切似乎都正常工作)
任何想法?
”
[2014-06-17 22:42:24,748][INFO ][cluster.service ] [Masked Marvel] removed {[logstash- Eitan-PC-5928-2010][Ql5fyvEGQyO96R9NIeP32g][Eitan-PC][inet[Eitan-PC/10.0.0.5:9301]]{client=true, data=false},}, reason: zen-disco-node_failed([logstash-Eitan-PC-5928-2010][Ql5fyvEGQyO96R9NIeP32g][Eitan-PC][inet[Eitan-PC/10.0.0.5:9301]]{client=true, data=false}), reason transport disconnected (wi
已验证连接)
[2014-06-17 22:43:00,686][INFO ][cluster.service ] [Masked Marvel] added {[logstash-Eitan-PC-5292-4014][m0Tg-fcmTHW9aP6zHeUqTA][Eitan-PC][inet[/10.0.0.5:9301]]{client=true, data=false},}, reason: zen-disco-receive(join from node[[logstash-Eitan-PC-5292-4014][m0Tg-fcmTHW9aP6zHeUqTA][Eitan-PC][in
et [/10.0.0.5:9301]] {client = true,data = false}])
“
配置文件:
input {
file {
path => "c:\testLog.txt"
}
}
output {
elasticsearch { host => localhost
index=> amat1
}
}
答案 0 :(得分:0)
当您使用“elasticsearch”作为输出http://logstash.net/docs/1.4.1/outputs/elasticsearch而不是“elasticsearch_http”http://logstash.net/docs/1.4.1/outputs/elasticsearch_http时,您将要设置“协议”。
原因是它可以有3个不同的值,“node”,“http”或“transport”,每个值都有不同的行为,默认选择没有很好地记录。
从日志文件的外观来看,它似乎正在尝试使用“节点”协议,因为我在端口9301上看到连接尝试,这表明logstash正在尝试将集群作为节点加入集群(以及其他日志条目)。这可能由于多种原因而失败,包括群集名称不匹配。
我建议将协议设置为“http” - 该更改之前修复了类似的问题。
另见:
http://logstash.net/docs/1.4.1/outputs/elasticsearch#cluster http://logstash.net/docs/1.4.1/outputs/elasticsearch#protocol
编辑:
我在配置中看到的一些其他问题 -
您的主机和索引应该是字符串,在logstash配置中 文件应该用双引号“localhost”和“amat1”包装。 没有引号可行,但他们建议您使用引号。
如果您不使用“http”作为协议或不使用 “elasticsearch_http”作为输出你应该设置簇等于 您的ES群集名称(因为它将尝试成为该群集的节点) 群集)。
您应该在文件输入中将start_position设置为“开始”。 否则它将默认从文件的末尾和你读取 不会看到任何数据。这是Windows的一个特殊问题 作为跟踪文件中位置的另一种方式,sincedb是 在Windows上打破:
您应该将日志文件的路径更改为:
"C:/testLog.txt"
。 Logstash更喜欢正斜杠和大写
在Windows下驱动字母。