Receiving Bad Events

Hey Guys,

I am receiving some bad events, and I am really don’t know from where. The bad event:

{
  "_index": "bad",
  "_type": "bad",
  "_id": "J7MVmnwBfFTw8EZgeJXa",
  "_version": 1,
  "_score": null,
  "_source": {
    "schema": "iglu:com.snowplowanalytics.snowplow.badrows/adapter_failures/jsonschema/1-0-0",
    "data": {
      "processor": {
        "artifact": "stream-enrich",
        "version": "1.4.1"
      },
      "failure": {
        "timestamp": "2021-10-19T19:44:30.933126Z",
        "vendor": "com.snowplowanalytics.snowplow",
        "version": "tp1",
        "messages": [
          {
            "field": "querystring",
            "value": null,
            "expectation": "empty querystring: not a valid URI redirect"
          }
        ]
      },
      "payload": {
        "vendor": "com.snowplowanalytics.snowplow",
        "version": "tp1",
        "querystring": [],
        "contentType": null,
        "body": null,
        "collector": "ssc-2.1.2-nsq",
        "encoding": "UTF-8",
        "hostname": "localhost",
        "timestamp": "2021-10-19T19:44:30.931Z",
        "useragent": "ELB-HealthChecker/2.0",
        "refererUri": null,
        "headers": [
          "Timeout-Access: <function1>",
          "Host: localhost:8080",
          "User-Agent: ELB-HealthChecker/2.0",
          "Connection: close",
          "Accept-Encoding: gzip, compressed"
        ],
        "networkUserId": "XXXXXXXXXXXXX"
      }
    }
  },
  "fields": {
    "data.payload.timestamp": [
      "2021-10-19T19:44:30.931Z"
    ],
    "data.failure.timestamp": [
      "2021-10-19T19:44:30.933Z"
    ]
  },
  "sort": [
    1634672670933
  ]
}

Hey @nando_roz this looks like you are health-checking the collector endpoint with an empty querystring - something like /i generally - which is coming from a load balancer upstream of the server.

How have you configured your load balancer health checks?

Hi @josh,

Yes, with /i. Because I use a pixel event. Should I do somenthing different?

Generally we would recommend just to use the /health endpoint which will not generate fake bad events in your pipeline - using /i will cause you to have bad events happening consistently.

Perfect. Solved. I changed for /i because I was configuring the LB to use HTTPS and needed to change for /i and I dont’t remeber whay :rofl: but now work properly.

Thanks for your support.

2 Likes