根据digitalocean教程,我用我的ELK节点作为RedHat服务器设置了ELK stack和filebeat。Kibana已启动并运行,但当我将索引模式配置为logstash-*时,我看不到任何logstash索引:
Unable to fetch mapping. Do you have any indices matching the pattern?
当我做卷曲以查看我的索引时,它们只是filebeat索引。Filebeat应该将数据推送到正在监听5044的logstash
$curl 'localhost:9200/_cat/indices?v'
health status index pri rep docs.count docs.deleted store.size pri.store.size
yellow open filebeat-2017.01.10 5 1 3864 0 1.7mb 1.7mb
yellow open filebeat-2017.06.17 5 1 1848 0 740.1kb 740.1kb
yellow open filebeat-2017.01.18 5 1 77062 0 33mb 33mb
yellow open filebeat-2017.09.14 5 1 1932 0 1.1mb 1.1mb
yellow open filebeat-2017.01.11 5 1 19094 0 3.6mb 3.6mb
yellow open .kibana
您可以看到我只有filebeat索引。我检查了我的端口是否打开,并且根据教程,我的配置文件是正确的。有什么问题吗?Filebeat应该将日志从 /var/log/*. log发送到logstash,再发送到elasticsearch。
当我
tail /var/log/logstash/logstash.log
我的日志里什么都没有。我已经检查过了,logstash、filebeat、kibana和elasticsearch都在运行。我也做了配置文件测试,它说没问题:
$sudo service logstash status
logstash is running
在我的麋鹿节点上,我可以清楚地看到端口5044正在监听:
$ netstat -tulpn | grep -i listen | grep -v tcp6
tcp 0 0 :::5044 :::* LISTEN -
您是否在管理层的Kibana
中定义了索引
很明显,您将无法找到您在Kibana中使用logstash
创建的索引,除非您在Kibana
的Managmen
部分中手动创建它。
确保使用logstash
创建的标识的名称相同。看一下文件,它传达了:
当您定义索引模式时,与该模式匹配的索引必须存在于Elasticsearch中。这些索引必须包含数据。
这基本上是说索引应该存在,以便您在Kibana
中创建索引。logstash
只在Elasticsearch
本身中创建索引,而您必须在Kibana
中手动创建索引,以便访问并可视化数据。
希望有帮助!
Filebeat使用Filebeat YYYY的模式创建每日索引。嗯。dd
所以你不应该期望在Elasticsearch中看到logstash索引。
Filebeat文档中推荐的Logstash配置将数据写入基于“%{[@metadata][beat]}-%{YYYY.MM.dd}”的索引,其中
[@metadata][beat]
默认为节拍(Filebeat)的名称,除非输出。logstash。索引
在文件节拍配置中配置。下面是Logstash的基本配置。
input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
document_type => "%{[@metadata][type]}"
}
}
您可以检查这些索引中的数据,看看它是否是您希望通过以下命令从filebeat获得的数据:
curlhttp://localhost:9200/filebeat-*/_搜索?漂亮的
我正在尝试使用logstash配置在kibana中可视化mongodb数据。下面是我的配置。我在终端中得到一些输出,它永远循环。我看不到由配置文件中提到的名称创建的任何索引,如果索引是生成的,也没有任何数据。在discover选项卡中没有匹配的结果。如何在Kibana中使配置可视化数据? http://localhost:9200/ayesha_logs/_search?漂亮 终端日志:D,[20
问题内容: 我正在探索EKL堆栈并遇到问题。 我已经生成了日志,将日志转发到logstash,日志采用JSON格式,因此仅使用Logstash配置中的JSON过滤器将它们直接推入ES,连接并启动指向ES的Kibana。 Logstash配置: 现在,我已经为每天的日志创建了索引,而Kibana高兴地显示了来自所有索引的所有日志。 我的问题是:日志中有许多字段未启用/未在Kibana中进行过滤的索引
问题内容: 我有2张表,如下所示: 当我解释查询时: postgres给我这个: 过了一会儿给我这个完全相同的查询(仍然不使用索引): 我的问题是:如果我仅按构成唯一索引的st值和类型值进行过滤,为什么不使用此唯一索引? 问题答案: 您的表没有足够的行来使用索引。它们适合放在单个磁盘页面中,因此使用cpu时间读取整个内容并筛选出行要比两次执行同一操作(一次用于索引,另一次用于数据)要快。
我正在带有IIS 7.5的Windows Server 2008 R2上运行它。ELK版本:ElasticSearch v1.4.4 Logstash v1.4.2 Kibana 4.0.1 我可以让简单的cmd行输入工作。logstash.conf: 然后从../bin运行logstash,使用: 我输入的内容将添加到logstash-2015-03-18文档中。 但是,我需要logstash来
问题内容: 我知道每次键入字符串文字时,字符串池中都会引用相同的String对象。 但是,为什么String API不包含,所以我可以使用引用? 至少,这将节省编译时间,因为编译器将知道引用现有的String,而不必检查是否已创建它以进行重用,对吗?我个人认为,字符串文字(尤其是很小的文字)在许多情况下是一种“代码异味”。 那么是否没有String.Empty背后的宏伟设计原因,还是语言创建者根本
问题内容: 在Java中,有和接口。两者都属于Java的标准框架,并提供了一种访问元素的分类方法。 但是,据我了解没有。你可以用来对列表进行排序。 知道为什么要这样设计吗? 问题答案: 列表迭代器首先确保你以列表的内部顺序(也称为插入顺序)获取列表的元素。更具体地说,它是按照插入元素的顺序或操作列表的方式进行的。排序可以看作是对数据结构的一种操作,有几种方法可以对列表进行排序。 我将按照自己的见解