Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logstash:Regex匹配不带扩展名的文件_Regex_Logstash - Fatal编程技术网

Logstash:Regex匹配不带扩展名的文件

Logstash:Regex匹配不带扩展名的文件,regex,logstash,Regex,Logstash,我想在Logstash配置文件中排除没有扩展名的文件 我需要用正则表达式来实现它,但无法实现。我遵循的路径是排除名称中不包含点的任何文件 我读了很多书,也试过了,但Logstash一直在吃我需要排除的文件,不让它们转发到ElasticSearch 我的最后一次尝试和错误: input { file { type => "exe-data" path => "/elastic-data/**/*" star

我想在Logstash配置文件中排除没有扩展名的文件

我需要用正则表达式来实现它,但无法实现。我遵循的路径是排除名称中不包含点的任何文件

我读了很多书,也试过了,但Logstash一直在吃我需要排除的文件,不让它们转发到ElasticSearch

我的最后一次尝试和错误:

input {
    file {
            type => "exe-data"
            path => "/elastic-data/**/*"
            start_position => "beginning"
            sincedb_path => "/dev/null"
            codec => plain { charset => "ISO-8859-1" }
            exclude => "*.gz"
            exclude => "*.zip"
            exclude => "^([^.]+)$"

虽然文件输入上的
exclude
可能不支持正则表达式,但您可以在筛选阶段处理此问题

filter {
  if [path] =~ "^/elastic-data/[^.]+$" {
    drop {}
  }

  otherfilter {

  }
}

通过将
drop{}
作为过滤管道中的第一个阶段,您从接受无点文件中得到的影响最小。

不支持正则表达式。好的,我可能会使用grok筛选器,但无法想象如果条件匹配,如何避免文件您的正则表达式是正确的,
^[^。]+$
匹配一个由1个或多个字符组成的字符串,而不是
查看原始帖子中的路径:
path=>“/elastic data/***”
在“elastic data”之后有一个递归,您的解决方案会在这里涵盖递归吗?我不知道怎么做。可能会在几个小时内测试它。