当前位置: 首页 > 知识库问答 >
问题:

文件输入不能用于logstash(.kibana索引)

东方嘉木
2023-03-14

我正在带有IIS 7.5的Windows Server 2008 R2上运行它。ELK版本:ElasticSearch v1.4.4 Logstash v1.4.2 Kibana 4.0.1

我可以让简单的cmd行输入工作。logstash.conf:

input { stdin {} }
output {
  elasticsearch { host => localhost }
  stdout { codec => rubydebug }
}

然后从../bin运行logstash,使用:

.\logstash agent -f logstash.conf

我输入的内容将添加到logstash-2015-03-18文档中。

但是,我需要logstash来处理我自己应用程序中的日志文件,这些文件将被复制到e:/tmp/logs(直到我让ELK 100%工作)

因此我将logstash.conf更改为:

input { 
  file { path => "E:\tmp\logs\*.log" }
}
Path: E:\LogStash files\logstash-1.4.2\logstash-1.4.2\bin\run.bat
Startup dir. : E:\LogStash files\logstash-1.4.2\logstash-1.4.2\bin
Dependencies: elasticsearch-service-x64

Run.bat是

logstash.bat agent -f logstash.conf

那么,问题出在哪里呢?当我运行服务,我没有看到一个新的索引在ElasticSearch(我使用DHC Chrome插件)。唯一的索引是.Kibana(我想这是为Kibana本身?!)。

是上面有什么问题还是我可以输出文件处理到一个文件调试?

ps.我已经删除了.sincedb*文件。

共有1个答案

秋博容
2023-03-14

在windows中处理日志文件:

1)使用设置:

input {
  file {
   path => "D:/ELK STACK/<...>.log" 
   start_position => beginning // to prevent tailing
   sincedb_path => "/dev/null" // set sincedb path
  }
}

2)检查文件路径是否正确

logstash agent -vv -f test.conf (--v highest verbosity level)

如果您正在获取_discover_file_glob错误,则表示您的路径不正确。

也可能是以下问题的bcse:

1)logstash假设每个事件是一行。所以它在每一行的末尾寻找“\n”。所以在文件末尾添加一个空行。

 类似资料:
  • 问题内容: 我正在探索EKL堆栈并遇到问题。 我已经生成了日志,将日志转发到logstash,日志采用JSON格式,因此仅使用Logstash配置中的JSON过滤器将它们直接推入ES,连接并启动指向ES的Kibana。 Logstash配置: 现在,我已经为每天的日志创建了索引,而Kibana高兴地显示了来自所有索引的所有日志。 我的问题是:日志中有许多字段未启用/未在Kibana中进行过滤的索引

  • 问题内容: 我想在Elasticsearch中导入一个文本文件。文本文件每行包含3个值。经过数小时的奋斗,我没有完成它。非常感谢您的帮助。 安装了Logstash的Elasticsearch 5.4.0。 样本数据: 还构建了一个python脚本,但是它太慢了: 编辑:感谢它的工作,但我想我的筛选器很烂,因为我希望它看起来像这样: 然后将数据如下所示: 问题答案: 只需将其放入一个名为: 然后使用

  • 问题内容: 我对Logstash有一个奇怪的问题。我正在提供一个日志文件作为logstash的输入。配置如下: 我已经在运行elasticsearch服务器并验证是否正在使用curl查询接收数据。问题是,当输入为时,没有数据被接收。但是,如果我将输入更改为以下内容,它将顺利发送所有输入数据: 我不明白我要去哪里错了。有人可以看看这个吗? 问题答案: 您应该在文件部分下设置start_positio

  • 根据digitalocean教程,我用我的ELK节点作为RedHat服务器设置了ELK stack和filebeat。Kibana已启动并运行,但当我将索引模式配置为logstash-*时,我看不到任何logstash索引: 当我做卷曲以查看我的索引时,它们只是filebeat索引。Filebeat应该将数据推送到正在监听5044的logstash 您可以看到我只有filebeat索引。我检查了我

  • 问题内容: 在Logstash文档中找不到关系数据库的任何输入插件。 用logstash从一个关系数据库表中导入数据的最佳方法是什么?是否使用JDBC将Elastic Search直接连接到数据库? 问题答案: 您将需要使用JDBC River(https://github.com/jprante/elasticsearch-river- jdbc )将JDBC数据加载到elasticsearch

  • 问题内容: 我设置了logstash以使用嵌入式elastisearch。 我可以记录事件。 我的logstashconf看起来是这样的:https://gist.github.com/khebbie/42d72d212cf3727a03a0 现在,我想添加另一个udp输入,并在另一个索引中对该输入进行索引。 有可能吗?我这样做是为了使报告更加容易,因此我可以在一个索引中包含系统日志事件,而在另一