For simplicity I'd use format strings:
filebeat.prospectors:
- ...
fields.class: "nginx"
- ...
fields.class: "apache"
output.elasticsearch:
index: '%{[fields.class]-%{+yyyy.MM.dd}'
You can use indices
with when clause. If no when clause matches, the index
setting will be applied.
Documentation on when
-clause is available in the 'Conditions' documentation: https://www.elastic.co/guide/en/beats/filebeat/current/configuration-processors.html#conditions
It's always when.<condition>:
.