使用Elasticsearch进行Logstash

Fat*_*ana 14 elasticsearch logstash

我正在尝试将Logstash与Elasticsearch连接,但无法使其正常工作.

这是我的logstash conf:

input {
  stdin {
    type => "stdin-type"
  }

  file {
    type => "syslog-ng"

    # Wildcards work, here :)
    path => [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog" ]
  }
}

output {
  stdout { }
  elasticsearch{
        type => "all"
        embedded => false
        host => "192.168.0.23"
        port => "9300"
        cluster => "logstash-cluster"
        node_name => "logstash"
        }
}
Run Code Online (Sandbox Code Playgroud)

我只是在elasticsearch.yml中更改了这些细节

cluster.name: logstash-cluster
node.name: "logstash"
node.master: false
network.bind_host: 192.168.0.23
network.publish_host: 192.168.0.23
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["localhost"]
Run Code Online (Sandbox Code Playgroud)

使用这些配置,我无法使Logstash连接到ES.有人可以建议我哪里出错吗?

Ada*_*dam 18

首先,我建议您匹配"类型"属性.在您的输入中,您有两种不同的类型,并且在您的输出中,您的类型在任何输入中都不存在.

要进行测试,请将输出更改为:

output {
stdout { }
elasticsearch{
    type => "stdin-type"
    embedded => false
    host => "192.168.0.23"
    port => "9300"
    cluster => "logstash-cluster"
    node_name => "logstash"
    }
}
Run Code Online (Sandbox Code Playgroud)

那么,您是否在ES实例上创建了索引?

从我使用过的指南和我自己的经验(其他人可能有另一种方法)我总是使用索引,这样当我将某些东西推入ES时,我可以使用ES API并快速检查数据是否有进去与否.

另一个建议是简单地运行带有调试标志的Logstash转发器和索引器,以查看幕后发生的情况.

你能在127.0.0.1上连接你的ES实例吗?此外,尝试尝试端口和主机.作为Logstash系统的一个新用户,我发现我在开始时的理解与设置的现实背道而驰.有时主机IP不是您认为的,也不是端口.如果您愿意检查网络并识别侦听端口和IP,那么您可以对其进行排序,否则请进行一些智能试验和错误.

我强烈推荐本指南作为一个全面的起点.我提到的两点都在指南中直接触及.虽然指南的起点稍微复杂一些,但这些想法和概念是彻底的.

  • 只是你知道,尝试了你的链接,刚刚得到了猎枪的通用支持页面,你认为该指南还在吗? (2认同)

lfe*_*445 11

我无法使Logstash连接到ES

当我的logstash和elasticsearch版本不同步时,这发生在我身上

来自文档:

版本说明:您的Elasticsearch集群必须运行Elasticsearch 1.1.1.如果您使用任何其他版本的Elasticsearch,则应protocol => http在此插件中进行设置.

protocol => http如上所述明确设置为我修复了它.