在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

logstash无法读取日志数据,求有经验的同学一语道破

Logstash | 作者 i_love_elastic | 发布于2018年02月06日 | 阅读数:11137

  此前尝试用filebeat推数据给logstash,发现无效后便降低难度
  因此现在直接尝试用logstash读取本地日志文件数据,然后以标准输出的形式打印出来,但是依旧失败
  这里展示出简单的配置启动过程,并展示打印出来的信息,求指点!!!
 
一、创建管道
  于logstash的根目录下创建文件"second-pipeline.conf",置入如下内容:


input {
    file {
        path => "D:\software\log_collection_programme\myLogs\error.log"
        type => "system"
        start_position => "beginning"
    }
}

output {
    stdout { codec => rubydebug }
}


  意思就是:简单地读取本地日志文件,然后输出到控制台。
  再确认一下日志源信息是否填写正确:
 
myLog.png

  可见,日志文件是存在的。
 
二、启动logstash
  进入bin目录下,在cmd窗口执行:logstash -f ../second-pipeline.conf --config.reload.automatic
  随后logstash打印出来的信息如下所示:
 
打印.png

  可见,打印出来的信息也无发现什么错误,却也看不到logstash读取的日志文件信息。
  感觉logstash就一直停止在这里,没有读取到文件数据。
 
已邀请:

jhonbo

赞同来自:

关闭logsash然后将你的日志文件追加新的内容,然后重新启动应该就可以看到输出了
因为logstash会对读取过的文件做记录,对读取过的不会再次读取;
当然你也可以换一个文件名称,或者找一个新的日志文件来进行测试

dongne

赞同来自:

建议开启debug模式 一般你删除logstash里面的data文件夹就可以重新采集文件

要回复问题请先登录注册