Logstash 没有在 Elasticsearch 上创建索引
Logstash not creating index on Elasticsearch
我正在尝试在 EC2 Ubuntu 14.04 实例上设置 ELK 堆栈。但是一切都已安装,并且一切正常,除了一件事。
Logstash 没有在 Elasticsearch 上创建索引。每当我尝试访问 Kibana 时,它都希望我从 Elasticsearch 中选择一个索引。
Logstash在ES节点中,但缺少索引。这是我收到的消息:
"Unable to fetch mapping. Do you have indices matching the pattern?"
我是不是遗漏了什么?我遵循了本教程:Digital Ocean
编辑:
这是我面临的错误的屏幕截图:
另一个截图:
这是 Kibana3 还是 4?
如果是Kibana4,能否点击顶行菜单中的settings,选择indices然后确保索引名称包含'logstash-*',然后点击'time-field'名称并选择'@timestamp'
我在下面添加了我的设置的屏幕截图,请注意您勾选的选项。
我在 Amazon AMI 上得到了相同的结果(Centos/RHEL 克隆)
事实上完全按照上面...直到我将一些数据注入Elastic - 这创建了第一个day
索引- 然后 Kibana 开始工作。我的简单 .conf
是:
input {
stdin {
type => "syslog"
}
}
output {
stdout {codec => rubydebug }
elasticsearch {
host => "localhost"
port => 9200
protocol => http
}
}
然后
cat /var/log/messages | logstash -f your.conf
为什么 stdin
你问?好吧,在任何地方都不是很清楚(也是一个新的 Logstash 用户 - 发现这很不清楚)Logstash 永远不会终止(例如,当使用 file
插件时) - 它旨在继续观察。
但是使用标准输入 - Logstash 将 运行 - 将数据发送到 Elastic(创建索引)然后消失。
如果我用 file
输入插件做同样的事情,它永远不会创建索引 - 我不知道这是为什么。
我终于找到了问题所在。出于某种原因,端口 5000 正在被另一个服务访问,这不允许我们接受任何传入连接。因此,您所要做的就是编辑 logstash.conf 文件,并将端口从 5000
更改为 5001
或您方便的任何内容。
确保您所有的 logstash-forwarder 都将日志发送到新端口,您应该可以开始了。如果您使用 FQDN 方法生成了 logstash-forwarder.crt
,那么 logstash-forwarder 应该指向相同的 FQDN 而不是 IP。
我正在尝试在 EC2 Ubuntu 14.04 实例上设置 ELK 堆栈。但是一切都已安装,并且一切正常,除了一件事。
Logstash 没有在 Elasticsearch 上创建索引。每当我尝试访问 Kibana 时,它都希望我从 Elasticsearch 中选择一个索引。
Logstash在ES节点中,但缺少索引。这是我收到的消息:
"Unable to fetch mapping. Do you have indices matching the pattern?"
我是不是遗漏了什么?我遵循了本教程:Digital Ocean
编辑:
这是我面临的错误的屏幕截图:
这是 Kibana3 还是 4?
如果是Kibana4,能否点击顶行菜单中的settings,选择indices然后确保索引名称包含'logstash-*',然后点击'time-field'名称并选择'@timestamp'
我在下面添加了我的设置的屏幕截图,请注意您勾选的选项。
我在 Amazon AMI 上得到了相同的结果(Centos/RHEL 克隆)
事实上完全按照上面...直到我将一些数据注入Elastic - 这创建了第一个day
索引- 然后 Kibana 开始工作。我的简单 .conf
是:
input {
stdin {
type => "syslog"
}
}
output {
stdout {codec => rubydebug }
elasticsearch {
host => "localhost"
port => 9200
protocol => http
}
}
然后
cat /var/log/messages | logstash -f your.conf
为什么 stdin
你问?好吧,在任何地方都不是很清楚(也是一个新的 Logstash 用户 - 发现这很不清楚)Logstash 永远不会终止(例如,当使用 file
插件时) - 它旨在继续观察。
但是使用标准输入 - Logstash 将 运行 - 将数据发送到 Elastic(创建索引)然后消失。
如果我用 file
输入插件做同样的事情,它永远不会创建索引 - 我不知道这是为什么。
我终于找到了问题所在。出于某种原因,端口 5000 正在被另一个服务访问,这不允许我们接受任何传入连接。因此,您所要做的就是编辑 logstash.conf 文件,并将端口从 5000
更改为 5001
或您方便的任何内容。
确保您所有的 logstash-forwarder 都将日志发送到新端口,您应该可以开始了。如果您使用 FQDN 方法生成了 logstash-forwarder.crt
,那么 logstash-forwarder 应该指向相同的 FQDN 而不是 IP。