Try:
POST /_ingest/pipeline/_simulate
{
"pipeline" :
{
"description": "_description",
"processors": [
{
"grok": {
"field": "message",
"patterns": [
"%{IMAP_POSTLOGIN_WORD:dovecot.service}: user=%{DOVECOT_USER:dovecot.user}, homedir=%{DATA:dovecot.homedir}, rip=%{IP:dovecot.rip}, lip=%{IP:dovecot.lip}, arguments=%{DATA:dovecot.arguments},"
],
"pattern_definitions": {
"DOVECOT_USER": "%{USERNAME}|%{EMAILADDRESS}|%{DATA}",
"IMAP_POSTLOGIN_WORD": "imap-postlogin"
},
"ignore_missing": true,
"ignore_failure": true
}
},
{
"script": {
"source": """
if (ctx.tags != null && ctx.tags.contains('_grokparsefailure')) {
ctx.tags.remove(ctx.tags.indexOf('_grokparsefailure'));
}""",
"if": "ctx?.dovecot?.service == 'imap-postlogin'"
}
}
]
},
"docs": [
{
"_index": "index",
"_id": "id",
"_source": {
"message": "imap-postlogin: user=us@r, homedir=/.../, rip=10.0.0.1, lip=127.0.0.1, arguments=/.../,",
"tags": [
"journald-log",
"_grokparsefailure"
]
}
}
]
}