Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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配置变量扩展_Logstash_Filebeat - Fatal编程技术网

Logstash配置变量扩展

Logstash配置变量扩展,logstash,filebeat,Logstash,Filebeat,我的logstash过滤器有一个奇怪的问题,直到昨天还在工作 这是我的.conf文件: input { beats { port => 5044 } } filter { if "access.log" in [source] { grok { match => { "message" => "%{GREEDYDATA:messagebefore}\[%{HTTPDATE:real_date}\]\ %{GREEDYDATA:messa

我的logstash过滤器有一个奇怪的问题,直到昨天还在工作

这是我的.conf文件:

input {
  beats {
    port => 5044
  }
}

filter {
  if "access.log" in [source] {
    grok {
      match => { "message" => "%{GREEDYDATA:messagebefore}\[%{HTTPDATE:real_date}\]\ %{GREEDYDATA:messageafter}" }
    }

    mutate {
      replace => { "[message]" => "%{messagebefore} %{messageafter}" }
      remove_field => [ "messagebefore" ]
      remove_field => [ "messageafter" ]
    }

    date {
      match => [ "real_date", "dd/MMM/YYYY:HH:mm:ss Z" ]
    }
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
  }
}
问题在于,在输出中,派生变量%messagebefore和%message after作为文本而不是内容传递

例如:

source:/var/log/nginx/access.log message:%{messagebefore} %{messageafter}...
奇怪的是,在昨天下午之前,这台机器运转良好。我也明白,这可能不是处理nginx日志的最佳方式,但我仅将此作为示例,因为它也会影响我的所有其他配置文件

我的环境:

麋鹿堆栈在Centos 7上作为docker容器运行,源于docker.io/sebp/ELK

Filebeat在Centos 7客户端上运行

有什么想法吗


谢谢。

我自己解决了这个问题,并在这里发布,以防有人遇到同样的问题

在构建docker容器时,我无意中留下了另一个.conf文件,其中也包含对access.log的引用。这两个.conf文件在logstash处理这两个文件时发生冲突。我删除了错误的文件,它已经开始工作了