配置中的Logstash动态创建字段

时间:2019-10-16 08:04:55

标签: logstash logstash-configuration

我尝试从一个过滤器动态创建路径,但是当我尝试启动Logstash时出现错误。 现场服务是从logstash发送的,我可以在kibana上看到它。

不是我想要的环境变量。当节拍发送到logstash时,我想要logstash的字段。

示例:

节拍通过以下方式发送数据:字段:service,数据:apache

logstash:

export default {
$_veeValidate: {
    validator: 'new'
},
name: 'String',
props: {
    placeholderText: {
        default: 'Add a value'
    },
    hintText: {
        default: 'Add a value'
    },
    isRequired: {
        default: true
    }
},
data: () => ({
    answer: ''
}),
computed: {
    checkRequired() {
        return this.isRequired ? 'required' : ''
    }
},
methods: {
    updateAnswer() {
        this.$validator.validateAll();
        this.$emit('updateAnswer', this.answer);
    }
}

有什么想法吗? :)

配置文件:

filter {
  data_dictionary_path => '/var/log/apache/data.log'
}

错误消息:

filter {
  data_dictionary_path => '/var/log/${service}/data.log'
}

2 个答案:

答案 0 :(得分:0)

.bashrc文件中,如下设置环境变量

export SERVICE=/var/log/continuining_path

在配置文件中

filter {
   data_dictionary_path => "${SERVICE}/data.log"
}

答案 1 :(得分:0)

您尝试过grok过滤器吗?

grok {
match => { "data_dictionary_path" => "/%{GREEDYDATA}/%{GREEDYDATA}/%{GREEDYDATA:service}/%{GREEDYDATA}" }
      }