Console

The best website monitoring tools for developers

Photo of David Mytton David Mytton

Last updated: 2022-01-18

From 2009-2018 David was CEO at Server Density, a SaaS monitoring startup. He has been a developer for 15+ years and is now co-founder of Console.

✦ Disclosure: All reviews are editorially independent and partners must meet our selection criteria.

The best website monitoring tools have multiple check types such as HTTP(S), DNS, TCP and SMTP, configurable check frequency, check locations around the world, the ability to build multi-step transaction monitoring tests (also known as synthetic monitoring), and advanced alerting so you can be notified via different channels when your website or API goes down.

We tested 13 website monitoring services using our independent selection criteria. The best website monitoring tools for developers and devops engineers in 2022 are:

  1. Datadog
  2. Uptrends
  3. Checkly
  4. Site24x7
  5. New Relic
  6. Uptime
  7. RapidSpike

In this article, we explain why. We assessed the key features all monitoring tools should have from the perspective of an experienced developer or devops engineer. This means focusing on sophisticated alerting, multiple check types and the ability to execute checks frequently (every 5 minutes is too slow!).

We think that website monitoring products must include some form of transaction monitoring, also called synthetic monitoring. This is because most websites and applications include multi-step flows that are critical to the operation of the service and they cannot be tested with just basic website monitoring. Synthetic monitoring allows tests to simulate a real user clicking on items, filling out forms and performing other steps in the flow.

We also reviewed product APIs and checked to see if the web UI has dark mode! As a developer I would expect dark mode in all the tools I use, especially a monitoring service I could potentially need to access when it alerts me in the middle of the night! Some services even support configuration in Terraform.

Best website monitoring tools

We reviewed 13 website monitoring tools. The best is: Datadog. We also liked Uptrends and Checkly.

FAQ

How do I monitor a website?

Monitoring a website requires executing requests to a URL on a regular basis to ensure that it is operating correctly. This means you need a way of automating those requests and ideally running them from different locations around the world. You could write your own system using cURL to issue requests and then executing them with a cron job running on servers around the world, however most people pay to use a website monitoring service.

How do I monitor an API?

An API can be monitored using any website or synthetic monitoring tool that can issue requests to the API, most commonly via HTTP. APIs process programmatic requests and responses which means the monitoring tool needs to be able to handle API protocols such as REST, XML, JSON, gRPC, and GraphQL. Supporting authentication methods such as OAuth, JWT and authorization headers is important.

Some tools also support the ability to parse the response and examine the content for specific fields and values. These can be defined as test assertions that query the GraphQL or JSON response based on specified keys.

Multi-step chained requests are important if you want to check whether an API is accepting and processing write requests correctly, or if there is the concept of a login session that persists across multiple requests.

What is the difference between website monitoring and synthetic monitoring?

Website monitoring is a simple connectivity and performance check against an HTTP(S) service available via a URL. A request is successful if the page loads within a specified time.

Synthetic monitoring is a more advanced version of website monitoring where a browser session is simulated as if it was a real user. It is used to check that important workflows are working properly, such as user registration, APIs, shopping cart checkout, or submitting a form. This may be a single request to the page to check that it responds as expected and loads in one or multiple browsers (usually Google Chrome), but it usually means multiple steps as part of a transaction e.g., browsing a website, filling out a form or logging into an account.

For API tests, synthetic monitoring will involve executing a chain of requests and then using the response to fill variables that can be used for the next request.

How does transaction monitoring work?

Multi-step transaction monitoring works by defining steps which are then executed by a synthetic browser session. This simulates a user visiting a website and then performing the defined steps. The best synthetic monitoring tools provide both a web editor where you can drag and drop steps as part of a flow, as well as the ability to edit the steps in code.

The most common method of defining transaction steps is using Node.js or JavaScript based on JSON, XPath and/or HTML selectors. This means pinpointing specific elements on the page (or API response) and then performing an action against them, such as clicking a link or filling out a form field.

Some synthetic monitoring tools also provide recorder apps or browser extensions so you can run through the steps yourself and they will be automatically converted into the correct test script. Popular frameworks such as Playwright, Puppeteer or Selenium WebDriver may be used to standardize the test steps.

Is website monitoring open-source?

Website monitoring is not usually open-source. This is because it must be run on nodes running in locations around the world and support difficult to manage agents for simulating web browser transactions and synthetic monitors. Maintaining this infrastructure is time consuming so most website monitoring is software as a service.

That said, some aspects of synthetic monitoring may involve open source components. For example, popular open-source frameworks such as Playwright, Puppeteer or Selenium WebDriver exist for generating the code that describes the steps in transaction monitoring. These steps are then executed on the monitoring platform, which is closed-source.

There are some open-source monitoring tools which have closed-source synthetic monitoring features as part of their cloud version. For example, Grafana Cloud has an addon called Synthetic Monitoring which was originally developed as an open-source plugin called worldping. This supports HTTP/HTTPS, DNS, TCP and ICMP Ping which then integrate with the Prometheus Black Box exporter to make metrics available as part of a Grafana Cloud subscription. Unfortunately it is no longer open-source but the Synthetic Monitoring Agent that executes the checks - and can be installed as a private monitoring node - is open-source.

Photo of David Mytton
About the author

David Mytton is co-founder of Console. From 2009-2018, David was CEO at Server Density, a SaaS monitoring startup used by hundreds of customers to collect billions of time series metrics. He is also a researcher in sustainable computing at Uptime Institute and affiliated with Imperial College London. David has been a developer for 15+ years.

About Console

Console is the place developers go to find the best tools. Each week, our weekly newsletter picks out the most interesting tools and new releases. We keep track of everything - dev tools, devops, cloud, and APIs - so you don’t have to.