And what watches the watchmen? The microservices trend is great but this sort of monitoring starts to fall apart when you horizontally scale for HA. In this case we separate out our monitoring by doing synthetic requests at the service level, and then very specific health checking at the "instance" level (really containers now). Instance level health checks will ensure connectivity to outside dependencies, databases,…
> Also, I'm not a Go developer but is this idiomatic? The error handling is kinda strange. I would do some like this: var ErrUnexpectedResponse = errors.New("unexpected response") .... func syntheticHttpRequest(url string, apiToken string) error { ... } else if resp.StatusCode != 202 { return ErrUnexpectedResponse } return nil } (a bunch of other stuff was mentioned in the comments)
Re: Monitoring Microservices with Synthetic Transactions in Go
#21What's strange about this?