Monitoring your Render app with Heii On-Call

In this guide we cover step by step how to set up Outbound Probes to monitor a website hosted on Render.

Author
Humberto Evans

Render is a hosting platform providing a fast way to deploy a modern application. They have a generous free tier to get started, and will easily scale with you as your team grows.

Render url on dashboard

Once your app is up and running, it is important to set up website and application monitoring so you can act quickly to resolve any issues in production. Continuous uptime monitoring by Heii On-Call notifies you and helps you troubleshoot quickly regardless of whether downtime is caused by code or configuration changes pushed by your team, or due to any upstream infrastructure issues.

Set up an Outbound Probe to your Home Page

The first step to monitoring any public facing website is to set up a monitor that will request your webpage and let you know if it is still serving requests at all. This is called an Outbound Probe in Heii On-Call. After creating your first Organization in Heii On-Call you are automatically given a default Rotation and a Service. Click into the Service and create a New Trigger.

Outbound Probe with fields

Give your trigger a name and type in the URL of your Render Web Service. This URL is available on your Render dashboard.

Now select a Timeout value for your Outbound Probe.

The timeout value is important to think about, and picking well can mean the difference between too many alerts that you end up ignoring (false positives), or being slow to detect real downtime (false negatives). A value of "5 minutes" means that Heii On-Call will alert you if your site is detected as down for at least 5 minutes. When picking this value remember the internet is a large distributed system. Parts of the network will fail randomly and self-heal without you having to do anything about it. A single missed Outbound Probe could mean that there was a transient network outage between Heii On-Call’s datacenter and Render’s datacenter for your region, or it could point to a systemic issue with either Heii On-Call, Render, your application code, or any of the many systems in between.

The goal is to pick a number that allows temporary issues to resolve themselves, but alerts as soon as possible if something is broken in a permanent way that needs to be fixed by a human. We recommend a 5 minute timeout to start.

You can leave the additional fields blank. Click Create Trigger, and Heii On-Call will perform a HEAD request to your site and continue to do so periodically. You can view some information about the last response on the trigger page:

Heii On-Call Outbound Probe to Render

Note: The CF-Ray response header is included in the payload and displayed on the trigger page. If there is ever enough downtime to trigger an alert, the last received response headers will be saved to the created Incident. If you ever need to reach out to Render’s customer support team, please include this CF-Ray ID as well as the last status code, as these will help trace the issue quickly.

Set up an Outbound Probe to your Health Check endpoint

In addition to checking that your main page is reachable from the internet, it is also a good idea to set up an Outbound Probe to your health check endpoint. A health check endpoint is an endpoint in your application that always returns status 200 under normal conditions. This should be a lightweight endpoint that doesn't do much except verify that your server is in fact accepting requests and returning responses. Once you set up the endpoint in your application code, you should add it to your Render Web Service at the bottom of the settings page.

Render Health Check Settings

Then also set up a Heii On-Call Outbound Probe for the health check endpoint.

Heii On-Call Health Check

Done

That's it! With these two simple Outbound Probes, you should be able to monitor uptime for the vast majority of use cases on your Render deploys. These are quick to set up but cover you with continuous monitoring and alerting for any issues at every layer of your production deployment, including DNS, TCP, SSL, load balancer, and application-level issues.

Next steps

If you’re using Render to run Background Workers or Cron Jobs, you can use Heii On-Call’s Inbound Liveness triggers to make sure these keep running too. See our docs for information about Inbound Liveness triggers as well as advanced Outbound Probe configuration options.

Happy Monitoring!