Logstash不在Elasticsearch上创建索引

Kar*_*k K 10 sysadmin elasticsearch logstash kibana ubuntu-14.04

我正在尝试在EC2,Ubuntu 14.04实例上设置ELK堆栈.但是一切都安装好了,除了一件事,一切都很好.

Logstash没有在Elasticsearch上创建索引.每当我尝试访问Kibana时,它都希望我从Elasticsearch中选择一个索引.

Logstash位于ES节点中,但缺少索引.这是我得到的信息:

"Unable to fetch mapping. Do you have indices matching the pattern?"

我错过了什么吗?我按照本教程:数字海洋

编辑: 这是我面临的错误的屏幕截图: Logstash缺少ES中的指数(Kibana4) 另一个截图:

小智 8

我在Amazon AMI上获得了相同的结果(Centos/RHEL克隆)

实际上完全如上所述...... 直到我将一些数据注入Elastic - 这创建了第一个day索引 - 然后Kibana开始工作.我的简单.conf是:

input {
  stdin {
      type => "syslog"
    }
}
output {
  stdout {codec => rubydebug }
   elasticsearch {
          host => "localhost"
          port => 9200
          protocol => http
       }
}
Run Code Online (Sandbox Code Playgroud)

然后

cat /var/log/messages | logstash -f your.conf
Run Code Online (Sandbox Code Playgroud)

stdin你问为什么?好吧,任何地方都不是非常清楚(也是一个新的Logstash用户 - 发现这个非常不清楚)Logstash永远不会终止(例如使用file插件时) - 它的目的是继续观看.

但是使用stdin - Logstash将运行 - 将数据发送到Elastic(创建索引)然后消失.

如果我使用file输入插件执行相同的操作,它将永远不会创建索引 - 我不知道为什么会这样.


Kar*_*k K 2

我终于找到了问题所在。由于某种原因,端口 5000 正在被另一个服务访问,这不允许我们接受任何传入连接。因此,您所要做的就是编辑logstash.conf 文件,并将端口从 更改50005001或任何您方便的值。

确保所有 Logstash 转发器都将日志发送到新端口,然后就可以开始了。如果您已logstash-forwarder.crt使用 FQDN 方法生成,则logstash-forwarder 应指向相同的 FQDN 而不是 IP。