How to parse more similar fields with Logstash?

This is always a tough issue to deal with. Grok while incredibly powerful occasionally has limits. I have never found a good answer to deal with this. But there are options.

Here is an old article for one way to do it

another would be to do it in the ruby filter

A final option might be to use the KV filter as all your data is in "source=file"