elasticsearch 如何从同一个filebeat到logstash为不同的日志使用不同的索引名,elasticsearch,logstash,kibana,filebeat,elasticsearch,Logstash,Kibana,Filebeat" /> elasticsearch 如何从同一个filebeat到logstash为不同的日志使用不同的索引名,elasticsearch,logstash,kibana,filebeat,elasticsearch,Logstash,Kibana,Filebeat" />

elasticsearch 如何从同一个filebeat到logstash为不同的日志使用不同的索引名

elasticsearch 如何从同一个filebeat到logstash为不同的日志使用不同的索引名,elasticsearch,logstash,kibana,filebeat,elasticsearch,Logstash,Kibana,Filebeat,我已经设置了ELK的版本(7.3.1)。filebeat(7.3.1)在不同的VM上。 我在VM上有多个日志,其中安装了Filebeat。 我想为不同的日志使用不同的索引名。 我尝试了一种不起作用的方法,配置文件如下 filebeat.yml filebeat.inputs: - type: log enabled: true paths: - /data01/-----/LOG1/forecaster.log fields: log_type: type1 - type

我已经设置了ELK的版本(7.3.1)。filebeat(7.3.1)在不同的VM上。 我在VM上有多个日志,其中安装了Filebeat。 我想为不同的日志使用不同的索引名。 我尝试了一种不起作用的方法,配置文件如下

filebeat.yml

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data01/-----/LOG1/forecaster.log
  fields:
  log_type: type1
- type: log
  enabled: true
  paths:
    - /data01/-----/LOG2/forecaster.log
  fields:
  log_type: type2
- type: log
  enabled: true
  paths:
    - /data01/-----/LOG3/forecaster.log
  fields:
  log_type: type3
logstash.conf

input {
    beats {
                type => "filebeat"
                port => "5044"
    }
}

filter {
  #If log line contains tab character followed by 'at' then we will tag that entry as stacktrace
  if [message] =~ "\tat" {
    grok {
      match => ["message", "^(\tat)"]
      add_tag => ["stacktrace"]
    }
  }
}
output {
stdout {
    codec => rubydebug
  }
if ([fields][log_type] == "type1") {
elasticsearch {
hosts => ["IP:9200"]
index => "log1"
}
}
if ([fields][log_type] == "type2") {
elasticsearch {
hosts => ["IP:9200"]
index => "log2"
}
}
if ([fields][log_type] == "type3") {
elasticsearch {
hosts => ["IP:9200"]
index => "log3"
}
}
}
使用上述配置,并在分析EL和filebeat的日志后,从filebeat中提取日志文件并发送到正在处理的logstash,但不会发送到elastic search

为了使这项工作顺利进行,我需要帮助找出哪里出了问题/遗漏了什么


谢谢

在字段部分,filebeat配置中的缩进似乎不正确,您缺少两个空格字符

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data01/-----/LOG1/forecaster.log
  fields:
    log_type: type1                            <-- fis this line
- type: log
  enabled: true
  paths:
    - /data01/-----/LOG2/forecaster.log
  fields:
    log_type: type2                            <-- fis this line
- type: log
  enabled: true
  paths:
    - /data01/-----/LOG3/forecaster.log
  fields:
    log_type: type3                            <-- fis this line
filebeat.inputs:
-类型:原木
已启用:true
路径:
-/data01/----/LOG1/forecaster.log
领域:

log_type:type1在
字段
部分,filebeat配置中的缩进似乎不正确,您缺少了两个空格字符。它成功了,非常感谢@Val