Cookie Extractor Enrichment not working

Hi,

we recently updated our collector (2.4.3) and pubsub enrich versions (2.0.5) on GCP. Since the update, the cookie extractor enrichment is not working any more, although the cookie_extractor_config.json is loaded by the enricher:

The other enrichments still work as expected. Any ideas what causes this problem or ideas how to debug it?

Thank you!

This is the cookie extract config:
{ "schema": "iglu:com.snowplowanalytics.snowplow/cookie_extractor_config/jsonschema/1-0-0", "data": { "name": "cookie_extractor_config", "vendor": "com.snowplowanalytics.snowplow", "enabled": true, "parameters": { "cookies": [ "_gaexp" ] } } }

Hi @tziegler

This was a bug introduced in 2.4.x

It has been fixed in 2.4.5: https://github.com/snowplow/stream-collector/releases/tag/2.4.5

1 Like

Thank you @PaulBoocock !
We tried replacing 2.4.3 by 2.4.5 or by 2.5.0, but the collector does not work. Were there any breaking changes e.g. in the config.hocon for version > 2.4.3 ?
The collector logs stop after:

Thank you!

Nope, no breaking changes. There’s some new features in 2.5.0 but they all have defaults so nothing should need to change between 2.4.3 to 2.5.0. We’re running at least 2.4.5 for Snowplow BDP customers.

I don’t think those logs look particularly strange. Are requests making it from your load balancer to the collector?

I see thanks!

I think the requests do not reach the collector at all. When pinging the health-endpoint directly from the VM 0.0.0.0:8080/health, we see OK.
Pinging it from outside, we get a response 502. Checking the health for the collector running on 2.4.3 returns OK. Settings for port, firewall, etc are identical for both VMs.

The config.hocon contains:

collector {
  # The collector runs as a web service specified on the following interface and port.
  interface = "0.0.0.0"
  interface = ${?COLLECTOR_INTERFACE}
  port = "8080"
  port = ${?COLLECTOR_PORT}

  # optional SSL/TLS configuration
  ssl {
    enable = false
    enable = ${?COLLECTOR_SSL}
    # whether to redirect HTTP to HTTPS
    redirect = false
    redirect = ${?COLLECTOR_SSL_REDIRECT}
    port = 443
    port = ${?COLLECTOR_SSL_PORT}
  }
...
}

Hi @PaulBoocock,
I think we found the issue. We mixed some things up when configuring the firewall rules. Now, everything works as expected.

Thank you for your help!

1 Like

Hi @tziegler, I wonder if this is a ssl configuration problem. Do you have ssl enabled? I can’t tell from your hocon file. Starting in version 2.4.0 there was a change in how ssl must be configured and it is described here in the documentation.

However… this would have affected your 2.4.3 collector too, so I cannot explain why your 2.4.3 collector works but your 2.4.5 or 2.5.0 collector does not work.

Have you tried if you get 502 error response on both http and https endpoints?

Hi @istreeter , I think the problem was not in the hocon file, but rather outside in the firewall settings of the VM.
We adjusted the firewall and now it works fine.
Thanks!