Nine9s for Developers

If you're looking to integrate your site with Nine9s, there's a few things you may need to know about how Nine9s checks your site.

You can find out more by reading the API Documentation.

When Nine9s Checks Your Site

Depending on your account subscription, Nine9s will check your site either 1/hr, 12/hr (every 5 minutes), or 1/min. By default, Nine9s uses HTTP HEAD requests when checking your site to conserve processing power and bandwidth, but you can tell Nine9s to use GET requests instead if your site doesn't support HEAD requests.

Nine9s will honor any HTTP 3xx redirects and query parameters in the endpoint URL. You can use these to let your Web Server know that the requests are for QA and that they shouldn't be blocked.

Nine9s' User Agent

All checks made to your endpoints will contain the following User-Agent header explaining that the requests come from Nine9s.

User-Agent: Health Check

What is Failure

An endpoint has three possible states: Ok, Degraded, and Down. While, Ok is self-explanatory, there is some nuances to the other two statuses.

An endpoint is considered Degraded in the following scenarios:

  • The endpoint did respond with a successful HTTP Status Code, but it failed to do so within the given degradation threshold.
  • The endpoint is configured to check for valid SSL/TLS certificates and the certificate is going to expire in the next 7 days.

💡 Reminder about degradation thresholds: Be sure to choose your degradation thresholds carefully. If your service fails to respond in time, it could indicate that your endpoint is under heavy load or that something is going on with your system that may warrant attention, but be sure to set your degradation threshold high enough so that you aren't getting mistakenly alerted by occasional global network irregularities.

By contrast, an endpoint is considered Down in the following scenarios:

  • The destination server cannot be found or no route exists to the host.
  • The endpoint fails to return a response within the maximum 15 second time-limit.
  • The endpoint returns a non-successful HTTP Status Code (a non 2xx status).
  • The endpoint is using an expired or invalid SSL/TLS Certificate.

If you're looking for any additional features, please get in touch. Your feedback directly impacts the order of features developed.