Logstash——基于Logstash forwarder中设置的字段的动态索引

Logstash——基于Logstash forwarder中设置的字段的动态索引,logstash,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 sale

我想从我在客户机上的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)的值创建索引。如何获取应用程序字段的这些值,以便在输出中使用它来创建indexname

比尔,
Sunil.

弹性搜索{}输出允许您,例如:

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

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

谢谢我已经这样做了,而且效果很好。即使很晚了,但正确的答案是:)@Alain:创建索引时是否需要%{+YYYY.MM.dd}?(我目前正在学习ES)@sk8terboi87ツ, 参数上的额外位指定您希望将日期(从@timestamp)附加到索引名,从而为您提供每日索引。如果你想要一个月度指数(etc),你可以使用不同的模式;如果需要单个索引,可以使用常量。通常,您希望坚持日志文件的每日索引。@AlainCollins:谢谢!因此,这意味着,每日索引将改进日志搜索?每日索引很方便,因为您可以根据需要调整碎片/副本计数,您可以有每日保留策略(在21天后过期等)。elasticsearch将有更多开销来保持这些索引/碎片打开。
index => "%{my_field}-%{+YYYY.MM.dd}"