Logstash Dissect Filter

Why not use a grok filter?

grok {
  match => ["message", "\boutside:%{IP:ip}\b"]
  tag_on_failure => []
}
if [ip] {
  geoip {
    ...
  }
}