Logstash - 基于logstash转发器中设置的字段的动态索引

时间:2015-07-07 06:00:41

标签: logstash

我想根据我在客户机上的logstash-forwarder中设置的'Application'字段的值创建索引。 例如: 在CRM客户端的logstash-forwarder.conf中,我写了

{
"paths": [
"/var/log/crm/crmERROR.log"
],
"fields": {**"**Application**":"CRM"**,"Sub-System":"Mysystem", "type":"Error-logs "
}

in LSF config on sales client 2 I say 
{
"paths": [
"/var/log/sales/SalesERROR.log"
],
"fields": {**"Application":"Sales"**,"Sub-System":"Myststem", "type":"Error-logs "
}

所有这些日志都将通过LS-shipper发送到redis。 LS-indexer将从redis中获取它。 现在在LS-Indexer中,我想根据字段“Application”(CRM,Sales)的值创建索引。如何获取Application字段的这些值,以便我可以在输出中使用它来创建indexname。

BR, 苏尼。

1 个答案:

答案 0 :(得分:6)

elasticsearch {}输出允许您specify the index name,例如:

output {
    elasticsearch {
        index => "logstash-%{+YYYY.MM.dd}"
    }
}

您可以在索引名称中使用变量:

index => "%{my_field}-%{+YYYY.MM.dd}"