We have released version 2.3.0 of the Snowplow Stream Collector. The main feature of this release is the addition of a new health endpoint, which can be used to monitor the status of the sinks to which the collector is trying to write events.
Users of the stream collector already had a health endpoint that could be polled like so:
$ curl -X GET mycollector/health
Similarly, the new sink health endpoint can be monitored via:
$ curl -X GET mycollector/sink-health
If the collector is itself healthy (returning
200 on the
health endpoint), there are two possible responses from the
sink-health endpoint. If the collector is not detecting any issues with the sinks, then you can expect a response of
200 OK. If, on the other hand, there is a suspected outage, the response will be
503 Service Unavailable.
This new health endpoint is meant to provide an alarm trigger in case of cloud outages (eg
Pub/Sub being unavailable). By contrast, non-cloud sinks, such as
stdout will always return a
200 response (as long as the collector itself is healthy and able to respond).
If you are running a
Kinesis collector, with an
SQS buffer for surge protection, then the status of the
Kinesis stream to which the collector is trying to write will not be considered when deciding whether there is a suspected outage. As long as the
SQS buffer is available, the
sink-health endpoint will respond with
200 even if
Kinesis is having issues.
From this release, the assets built under this project will also be available as
jar files attached to the Github release.
For a full list of changes, please refer to the release notes: