Collector Endpoint returning a 404

I just set up Snowplow Open Source and went to send test data via the form on this page: https://docs.snowplow.io/docs/first-steps/tracking/. I receive an “Invalid response from the Collector. Please ensure the URL is correct and the Collector is running” error. I do not have a custom domain name configured and used the http:// protocol.

Additionally I can curl url -i http://<collector_dns_name>/health and receive a 200 “okay” status. When I curl url -i http://<collector_dns_name> I receive a 404.

I saw this post that says there is no root path to the collector: Sending test events to new Collector results in 404 not found - #2 by Colm

I then tried curl -i http://<collector_dns_name>/com.snowplowanalytics.snowplow/tp2 and received the error “Could not resolve host:<collector_dns_name>.”

What am I missing?

Hi @NicoleD if the health endpoint is returning 200 OK then the Collector should be ready to go! Could you try something like this to see if the Collector returns correctly:

curl -XGET 'http://<collector_dns_name>/i?e=pv' --output -

This is the smallest valid event you can send to the Collector which uses the GET protocol. You should see a response like this in your terminal (which is just the return i pixel gif):

GIF89a����!�,D;

If you see that then the Collector should be good to go and you can point Trackers at it!


This requires you to use a POST protocol so generally I would expect the empty version of that flow to look like the following:

curl -XPOST https://<collector_dns_name>/com.snowplowanalytics.snowplow/tp2 -d '{}'

# Which should return ...
ok

Thanks! I do get the expected response in both those scenarios when I use your examples. I’ll move on then, now that I know the collector is working!

1 Like