Metatrader: How Parse Such Logs?

I would take off the first two fields using then dissect, then use grok with an array of patterns to match each of the message types that you care about.

dissect { mapping => { "message" => "%{someNumber} %{someIP} %{[@metadata][restOfLine]}" }
grok {
    match => {
        "[@metadata][restOfLine]" => [
            "^%{IPV4:anotherIP} '%{NUMBER:anotherNumber}': login ...",
            "^Monitor connections: %{NUMBER:connections}  free memory: %{NUMBER:freeKB}  ..."
        ]
    }
}