26 Apr 2021

**UPDATE **

The comparison for 2021 has been completed. You can skip straight to the results for 2021, view the results for 2020 & 2019, or read on to see how we ranked the sites...

We compared every available website monitoring service by price. A comparison of each service was made by:

1) the price of the cheapest Pro plan

2) the price to monitor 10 websites

3) the price to monitor 100 websites

cheap cherries comparison


Ranking by Cheapest Pro Plan

Sites were ranked according to their cheapest available Pro plan. We haven't included Free plans in the comparison, however here is a feature comparison of Free vs Pro plans which shows the kind of features to expect from a decent Pro plan.

US dollars were used for the comparison. For sites that only accept other currencies, prices were converted by the exchange rate on Google Finance on 23 Apr 2021.

Where a cheaper price was available by paying yearly, the annual cost divided by 12 was used for comparison.

Price, Features & Quality

This is a price comparison article.

However... it is worth remembering that price is not the only factor to take into account when choosing a website monitoring service (or any service).

Features and quality are also important. We haven't reviewed these here because feature reviews can be very subjective. Since we provide one of the website monitoring services in the comparison it is vital that the results are unbiased. Therefore we chose a measure that was hard to argue with - price.

That being said we did notice that the price of the service seems to be totally uncorrelated to the quality and features provided. Some of the cheapest services provide higher quality than other more expensive competitors. On the flip side, some of the cheap options are very poor indeed!

But we'll let you decide on quality yourselves... here are our website monitoring plans including the full list of features.

Below are the top 10 sites or skip straight to the full list...

cheap website monitoring comparison 2021


Which Monitoring Sites Were Included?

Initially we viewed every website monitoring service available online - there were 185 at the time of writing!

We excluded very expensive services, sites that clearly had problems and any monitoring software that needed installation on your server. This reduced the number of sites considerably - 46 monitoring services made it through to the final results.

Cheap Monitoring Only

Sites with a cheapest plan costing $10/month or more were excluded since they can't be considered low-price.

Free plans were not included because we wanted to compare applications with Pro features.

Also excluded were "Pro" plans that don't provide anything more than the average Free plan. For example, "Pro" plans with monitoring intervals of greater than 1 minute, with alerts only available via email or with monitoring from only one location were not included.

Sites which don't provide prices on their website or which require the customer to contact them to receive a price weren't included either.

Working Sites Only

We excluded a few sites that clearly have problems: if the site didn't load, the SSL certificate was invalid or Google warned us that it contained malware then we didn't include it.

Also, we didn't include sites that are in Beta testing.

External Monitoring Services Only

This comparison is for external monitoring services, so we didn't include software that requires installation on the customer's server.

2021 Results

Again, some interesting trends in the website monitoring industry were highlighted in this year's results...

More Monitoring Services: the total number of website monitoring services has continued to increase: 158 in 2019, 170 in 2020 and 185 in 2021.

Increase Not Reflected In Quality Budget Services: the total number of services that made the final results decreased from 55 in 2019 to 41 in 2020 and recovered slightly to 46 in 2021 but still remains down on 2019.

Price Increases: a considerable number of monitoring services increased their prices this year, although price increases tend to be more modest than in 2020 and likely reflect increased operating costs rather than pricing restructures.

Full results are shown with prices in US dollars per month and sorted by price, lowest first:

Monitoring Service

 

Cheapest Plan

10 Monitors

100 Monitors

Currencies

1) Downtime Monkey

 

Cheapest Plan: $0.69

10 Monitors: $2.16

100 Monitors: $8.68

Currencies: $, €, £ +120

2) Updown

 

Cheapest Plan: $0.71

10 Monitors: $7.09

100 Monitors: $70.91

Currencies:

3) Copper Egg

 

Cheapest Plan: $0.80

10 Monitors: $8.00

100 Monitors: $80.00

Currencies: $

4) Admin Labs

 

Cheapest Plan: $0.89

10 Monitors: $8.93

100 Monitors: $89.28

Currencies: $

5) Ping My Site

 

Cheapest Plan: $0.99

10 Monitors: $9.90

100 Monitors: $99.00

Currencies: $

6) Monitor2

 

Cheapest Plan: $1.00

10 Monitors: $5.00

100 Monitors: n/a

Currencies: $

7) Uptime Pal

 

Cheapest Plan: $1.00

10 Monitors: $10.00

100 Monitors: $100.00

Currencies: $

8) Server Check In

 

Cheapest Plan: $1.25

10 Monitors: $4.00

100 Monitors: n/a

Currencies: $

9) Mon Tools

 

Cheapest Plan: $1.50

10 Monitors: $15.00

100 Monitors: n/a

Currencies: $

10) Cloud Radar

 

Cheapest Plan: $1.70

10 Monitors: $17.00

100 Monitors: $170.00

Currencies: $, €

11) Observery

 

Cheapest Plan: $1.95

10 Monitors: $1.95

100 Monitors: $4.95

Currencies: $

12) Vigil

 

Cheapest Plan: $1.99

10 Monitors: $19.99

100 Monitors: $199.00

Currencies: $

13) Binary Canary

 

Cheapest Plan: $2.00

10 Monitors: $5.00

100 Monitors: $20.00

Currencies: $

14) Agent Slug

 

Cheapest Plan: $2.02

10 Monitors: $2.02

100 Monitors: $5.04

Currencies:

15) Pingr

 

Cheapest Plan: $2.04

10 Monitors: $11.36

100 Monitors: $104.68

Currencies: $

16) Monitoring Me

 

Cheapest Plan: $2.36

10 Monitors: $12.89

100 Monitors: n/a

Currencies: £

17) Statusoid

 

Cheapest Plan: $3.49

10 Monitors: $34.90

100 Monitors: $349.00

Currencies: $

18) Cloud Probes

 

Cheapest Plan: $3.60

10 Monitors: $7.20

100 Monitors: n/a

Currencies: $

19) Ping Ping

 

Cheapest Plan: $4.00

10 Monitors: $8.00

100 Monitors: $60.00

Currencies: $

20) Ping Monit

 

Cheapest Plan: $4.16

10 Monitors: $4.16

100 Monitors: n/a

Currencies: $

21) Super Monitoring

 

Cheapest Plan: $4.91

10 Monitors: $24.91

100 Monitors: contact

Currencies:

22) API Checker

 

Cheapest Plan: $4.99

10 Monitors: $4.99

100 Monitors: $44.91

Currencies: $

23) Dev Monitor

 

Cheapest Plan: $5.00

10 Monitors: $5.00

100 Monitors: n/a

Currencies: $

24) Monitive

 

Cheapest Plan: $5.00

10 Monitors: $9.50

100 Monitors: $60.00

Currencies: $

25) Ops Dash

 

Cheapest Plan: $5.00

10 Monitors: $10.00

100 Monitors: $100.00

Currencies: $

26) Up Status

 

Cheapest Plan: $5.00

10 Monitors: $10.00

100 Monitors: $100.00

Currencies: $

27) Uptime 360

 

Cheapest Plan: $5.00

10 Monitors: $15.00

100 Monitors: n/a

Currencies: $

28) Pulse Ping

 

Cheapest Plan: $5.99

10 Monitors: $5.99

100 Monitors: $29.99

Currencies: $

29) Uptime Checker

 

Cheapest Plan: $6.00

10 Monitors: $15.00

100 Monitors: $50.00

Currencies: $

30) App Beat

 

Cheapest Plan: $6.04

10 Monitors: $6.04

100 Monitors: $60.49

Currencies:

31) Uptime Mate

 

Cheapest Plan: $6.05

10 Monitors: $10.89

100 Monitors: $78.65

Currencies:

32) Server Guard 24

 

Cheapest Plan: $6.90

10 Monitors: $23.90

100 Monitors: $129.90

Currencies: $

33) Pingniner

 

Cheapest Plan: $6.95

10 Monitors: $9.95

100 Monitors: n/a

Currencies: $

34) Observu

 

Cheapest Plan: $6.95

10 Monitors: $14.99

100 Monitors: $169.00

Currencies: $

35) Site 24x7

 

Cheapest Plan: $7.00

10 Monitors: $7.00

100 Monitors: $71.00

Currencies: $

36) Uptime Robot

 

Cheapest Plan: $7.00

10 Monitors: $7.00

100 Monitors: $21.00

Currencies: $

37) Yup Timer

 

Cheapest Plan: $7.00

10 Monitors: $7.00

100 Monitors: n/a

Currencies: $

38) Pingrely

 

Cheapest Plan: $7.08

10 Monitors: $7.08

100 Monitors: $47.92

Currencies: $

39) Hitflow

 

Cheapest Plan: $7.24

10 Monitors: $7.24

100 Monitors: $60.48

Currencies:

40) Uptime Doctor

 

Cheapest Plan: $7.95

10 Monitors: $7.95

100 Monitors: n/a

Currencies: $

41) Are My Sites Up

 

Cheapest Plan: $8.00

10 Monitors: $32.00

100 Monitors: $192.00

Currencies: $

42) NodePing

 

Cheapest Plan: $8.00

10 Monitors: $15.00

100 Monitors: $15.00

Currencies: $

43) Pinometer

 

Cheapest Plan: $8.00

10 Monitors: $8.00

100 Monitors: $64.00

Currencies: $

44) Uptimia

 

Cheapest Plan: $9.00

10 Monitors: $9.00

100 Monitors: $79.00

Currencies: $

45) Status Rocket

 

Cheapest Plan: $9.00

10 Monitors: $29.00

100 Monitors: $149.00

Currencies: $

46) Alertra

 

Cheapest Plan: $9.95

10 Monitors: $9.95

100 Monitors: n/a

Currencies: $

2020 Results

For sites that only accept currencies other than US dollars, prices were converted by the exchange rate on Google Finance on 3rd March 2020.

cheap website monitoring comparison 2020


Monitoring Service

 

Cheapest Plan

10 Monitors

100 Monitors

Currencies

1) Downtime Monkey

 

Cheapest Plan: $0.48

10 Monitors: $1.51

100 Monitors: $6.08

Currencies: $, €, £ +120

2) Agent Slug

 

Cheapest Plan: $0.49

10 Monitors: $4.89

100 Monitors: $48.92

Currencies:

3) Updown

 

Cheapest Plan: $0.66

10 Monitors: $6.52

100 Monitors: $65.15

Currencies: €, Ƀ

4) Copper Egg

 

Cheapest Plan: $0.80

10 Monitors: $8.00

100 Monitors: $80.00

Currencies: $

5) Admin Labs

 

Cheapest Plan: $0.89

10 Monitors: $8.93

100 Monitors: $89.28

Currencies: $

6) Ping My Site

 

Cheapest Plan: $0.99

10 Monitors: $9.90

100 Monitors: $99.00

Currencies: $

7) Monitor2

 

Cheapest Plan: $1.00

10 Monitors: $5.00

100 Monitors: n/a

Currencies: $

8) Uptime Pal

 

Cheapest Plan: $1.00

10 Monitors: $10.00

100 Monitors: $100.00

Currencies: $

9) Cloud Radar

 

Cheapest Plan: $1.20

10 Monitors: $12.00

100 Monitors: $120.00

Currencies: $, €

10) Mon Tools

 

Cheapest Plan: $1.50

10 Monitors: $15.00

100 Monitors: n/a

Currencies: $

11) Observery

 

Cheapest Plan: $1.95

10 Monitors: $1.95

100 Monitors: $4.95

Currencies: $

12) Vigil

 

Cheapest Plan: $1.99

10 Monitors: $19.99

100 Monitors: $199.00

Currencies: $

13) Binary Canary

 

Cheapest Plan: $2.00

10 Monitors: $5.00

100 Monitors: $20.00

Currencies: $

14) Monitoring Me

 

Cheapest Plan: $2.36

10 Monitors: $5.40

100 Monitors: $11.85

Currencies: £

15) Statusoid

 

Cheapest Plan: $3.49

10 Monitors: $34.90

100 Monitors: $349.00

Currencies: $

16) Cloud Probes

 

Cheapest Plan: $3.60

10 Monitors: $7.20

100 Monitors: n/a

Currencies: $

17) Ping Monit

 

Cheapest Plan: $4.16

10 Monitors: $4.16

100 Monitors: n/a

Currencies: $

18) Uptime Robot

 

Cheapest Plan: $4.50

10 Monitors: $4.50

100 Monitors: $7.40

Currencies: $

19) Super Monitoring

 

Cheapest Plan: $4.91

10 Monitors: $24.91

100 Monitors: contact

Currencies:

20) Pingoscope

 

Cheapest Plan: $4.95

10 Monitors: $9.95

100 Monitors: $9.95

Currencies: $

21) Up Ninja

 

Cheapest Plan: $4.99

10 Monitors: $4.99

100 Monitors: $24.99

Currencies: $

22) API Checker

 

Cheapest Plan: $4.99

10 Monitors: $4.99

100 Monitors: $49.99

Currencies: $

23) Online Or Not

 

Cheapest Plan: $5.00

10 Monitors: $5.00

100 Monitors: $99.00

Currencies: $

24) Ops Dash

 

Cheapest Plan: $5.00

10 Monitors: $10.00

100 Monitors: $100.00

Currencies: $

25) Oh Dear

 

Cheapest Plan: $5.56

10 Monitors: $22.24

100 Monitors: $111.18

Currencies:

26) Uptime Checker

 

Cheapest Plan: $6.00

10 Monitors: $15.00

100 Monitors: $50.00

Currencies: $

27) Hitflow

 

Cheapest Plan: $6.66

10 Monitors: $6.66

100 Monitors: $55.58

Currencies:

28) Server Guard 24

 

Cheapest Plan: $6.90

10 Monitors: $23.90

100 Monitors: $129.90

Currencies: $

29) Pingniner

 

Cheapest Plan: $6.95

10 Monitors: $9.95

100 Monitors: n/a

Currencies: $

30) Observu

 

Cheapest Plan: $6.95

10 Monitors: $14.99

100 Monitors: $169.00

Currencies: $

31) Do You Check

 

Cheapest Plan: $7.00

10 Monitors: $20.00

100 Monitors: n/a

Currencies: $, €, £

32) Yup Timer

 

Cheapest Plan: $7.00

10 Monitors: $7.00

100 Monitors: n/a

Currencies: $

33) Site 24x7

 

Cheapest Plan: $7.00

10 Monitors: $7.00

100 Monitors: $71.00

Currencies: $

34) Pingrely

 

Cheapest Plan: $7.08

10 Monitors: $7.08

100 Monitors: $47.92

Currencies: $

35) Uptime Doctor

 

Cheapest Plan: $7.95

10 Monitors: $7.95

100 Monitors: n/a

Currencies: $

36) Anturis

 

Cheapest Plan: $8.00

10 Monitors: $8.00

100 Monitors: $76.00

Currencies: $

37) Are My Sites Up

 

Cheapest Plan: $8.00

10 Monitors: $32.00

100 Monitors: $192.00

Currencies: $

38) NodePing

 

Cheapest Plan: $8.00

10 Monitors: $15.00

100 Monitors: $15.00

Currencies: $

39) Pinometer

 

Cheapest Plan: $8.00

10 Monitors: $8.00

100 Monitors: $64.00

Currencies: $

40) Uptimia

 

Cheapest Plan: $9.00

10 Monitors: $9.00

100 Monitors: $79.00

Currencies: $

41) Alertra

 

Cheapest Plan: $9.95

10 Monitors: $9.95

100 Monitors: $20.00

Currencies: $

2019 Results

US dollars were used for the comparison. For sites that only accept other currencies, prices were converted by the exchange rate on Google Finance on 5th June 2019.

cheap website monitoring comparison 2019


Monitoring Service

 

Cheapest Plan

10 Monitors

100 Monitors

Currencies

1) Downtime Monkey

 

Cheapest Plan: $0.48

10 Monitors: $1.51

100 Monitors: $6.08

Currencies: $, €, £ +120

2) Agent Slug

 

Cheapest Plan: $0.50

10 Monitors: $5.03

100 Monitors: $50.27

Currencies:

3) Monitoring Me

 

Cheapest Plan: $0.54

10 Monitors: $5.40

100 Monitors: $54.00

Currencies: £

4) Updown

 

Cheapest Plan: $0.66

10 Monitors: $6.59

100 Monitors: $65.93

Currencies: €, Ƀ

5) Admin Labs

 

Cheapest Plan: $0.89

10 Monitors: $8.92

100 Monitors: $89.28

Currencies: $

6) Ping My Site

 

Cheapest Plan: $0.99

10 Monitors: $9.90

100 Monitors: $99.00

Currencies: $

7) Monitor2

 

Cheapest Plan: $1.00

10 Monitors: $5.00

100 Monitors: n/a

Currencies: $

8) Upmon

 

Cheapest Plan: $1.00

10 Monitors: $10.00

100 Monitors: $100.00

Currencies: $

9) Uptime Pal

 

Cheapest Plan: $1.00

10 Monitors: $10.00

100 Monitors: $100.00

Currencies: $

10) Cloud Radar

 

Cheapest Plan: $1.20

10 Monitors: $12.00

100 Monitors: $120.00

Currencies: $, €

11) Down Notifier

 

Cheapest Plan: $1.25

10 Monitors: $1.25

100 Monitors: $28.05

Currencies: $

12) MonTools

 

Cheapest Plan: $1.25

10 Monitors: $10.71

100 Monitors: $107.00

Currencies: $

13) Server Check

 

Cheapest Plan: $1.25

10 Monitors: $4.00

100 Monitors: n/a

Currencies: $

14) Vigil

 

Cheapest Plan: $1.99

10 Monitors: $19.90

100 Monitors: $199.00

Currencies: $

15) Statusoid

 

Cheapest Plan: $2.75

10 Monitors: $14.90

100 Monitors: $136.40

Currencies: $

16) Noty

 

Cheapest Plan: $3.00

10 Monitors: $10.00

100 Monitors: $10.00

Currencies: $

17) Do You Check

 

Cheapest Plan: $3.00

10 Monitors: $20.00

100 Monitors: n/a

Currencies: $, €, £

18) Upski

 

Cheapest Plan: $3.99

10 Monitors: $3.99

100 Monitors: n/a

Currencies: $

19) Ping Monit

 

Cheapest Plan: $4.16

10 Monitors: $4.16

100 Monitors: n/a

Currencies: $

20) Uptime Robot

 

Cheapest Plan: $4.50

10 Monitors: $4.50

100 Monitors: $7.40

Currencies: $

21) Port Monitor

 

Cheapest Plan: $4.54

10 Monitors: $4.54

100 Monitors: $33.29

Currencies: $

22) API Checker

 

Cheapest Plan: $4.58

10 Monitors: $4.58

100 Monitors: $44.92

Currencies: $

23) Super Monitoring

 

Cheapest Plan: $4.59

10 Monitors: $24.28

100 Monitors: contact

Currencies:

24) Pingoscope

 

Cheapest Plan: $4.95

10 Monitors: $9.95

100 Monitors: $9.95

Currencies: $

25) Got Site Monitor

 

Cheapest Plan: $4.95

10 Monitors: $9.95

100 Monitors: n/a

Currencies: $

26) Binary Canary

 

Cheapest Plan: $5.00

10 Monitors: $5.00

100 Monitors: $20.00

Currencies: $

27) R-U-ON

 

Cheapest Plan: $5.00

10 Monitors: $9.99

100 Monitors: $25.00

Currencies: $

28) OpsDash

 

Cheapest Plan: $5.00

10 Monitors: $10.00

100 Monitors: $100.00

Currencies: $

29) WebGazer

 

Cheapest Plan: $5.00

10 Monitors: $15.00

100 Monitors: contact

Currencies: $

30) Oh Dear

 

Cheapest Plan: $5.17

10 Monitors: $20.68

100 Monitors: $103.36

Currencies:

31) AppBeat

 

Cheapest Plan: $5.62

10 Monitors: $5.62

100 Monitors: $56.29

Currencies:

32) Uptime Checker

 

Cheapest Plan: $6.00

10 Monitors: $15.00

100 Monitors: $50.00

Currencies: $

33) Turbo Monitoring

 

Cheapest Plan: $6.69

10 Monitors: $66.38

100 Monitors: n/a

Currencies:

34) Server Guard 24

 

Cheapest Plan: $6.90

10 Monitors: $23.90

100 Monitors: $129.90

Currencies: $

35) Observu

 

Cheapest Plan: $6.95

10 Monitors: $14.99

100 Monitors: $169.00

Currencies: $

36) WatchSumo

 

Cheapest Plan: $7.00

10 Monitors: $21.00

100 Monitors: contact

Currencies: $

37) Pingrely

 

Cheapest Plan: $7.08

10 Monitors: $7.08

100 Monitors: $47.92

Currencies: $

38) Pingdom

 

Cheapest Plan: $7.95

10 Monitors: $7.95

100 Monitors: $131.00

Currencies: $ + contact

39) Uptime Doctor

 

Cheapest Plan: $7.95

10 Monitors: $7.95

100 Monitors: n/a

Currencies: $

40) Uptime

 

Cheapest Plan: $8.00

10 Monitors: $8.00

100 Monitors: $64.00

Currencies: $

40) Pinometer

 

Cheapest Plan: $8.00

10 Monitors: $8.00

100 Monitors: $64.00

Currencies: $

42) Anturis

 

Cheapest Plan: $8.00

10 Monitors: $8.00

100 Monitors: $76.00

Currencies: $

43) NodePing

 

Cheapest Plan: $8.00

10 Monitors: $15.00

100 Monitors: $15.00

Currencies: $

44) Are My Sites Up

 

Cheapest Plan: $8.00

10 Monitors: $32.00

100 Monitors: $192.00

Currencies: $

45) WebMon

 

Cheapest Plan: $8.33

10 Monitors: $33.33

100 Monitors: $79.17

Currencies: $

46) Ping Stack

 

Cheapest Plan: $9.00

10 Monitors: $9.00

100 Monitors: $49.00

Currencies: $

47) Uptimia

 

Cheapest Plan: $9.00

10 Monitors: $9.00

100 Monitors: $79.00

Currencies: $

48) Site 24x7

 

Cheapest Plan: $9.00

10 Monitors: $9.00

100 Monitors: $89.00

Currencies: $

49) Macro Wave

 

Cheapest Plan: $9.40

10 Monitors: $9.40

100 Monitors: n/a

Currencies:

50) Host Tracker

 

Cheapest Plan: $9.92

10 Monitors: $9.92

100 Monitors: $74.92

Currencies: $

51) Alertra

 

Cheapest Plan: $9.95

10 Monitors: $9.95

100 Monitors: $20.00

Currencies: $

52) Monitor Fox

 

Cheapest Plan: $9.95

10 Monitors: $9.95

100 Monitors: $59.95

Currencies: $

53) Happy Apps

 

Cheapest Plan: $9.95

10 Monitors: $9.95

100 Monitors: $199.95

Currencies: $

54) Let’s Monitor

 

Cheapest Plan: $9.99

10 Monitors: $9.99

100 Monitors: $9.99

Currencies: $

55) Candum

 

Cheapest Plan: $9.99

10 Monitors: $9.99

100 Monitors: $89.99

Currencies: $

 

02 Feb 2021

Downtime Monkey now logs more than 4 million website responses each day. We analysed these to see how fast websites respond in practice.

View the full results below or skip to the sound bites.

1 Million Response Times Analysed

We collected 1 million response times from real websites. Half a million from Pro plans and half a million from Free plans.

We then split these into groups: 0 to 1 second, 1 to 2 seconds, 2 to 3 seconds etc. and then counted the number in each group. For responses slower than 17 seconds a site is considered down.

Here are the results:

Graph of all response times by group

Fastest Websites Analysed

The majority of sites responded within a second, so we took another sample and broke the fastest sites into groups of a quarter of a second.

Graph of all response times of fast websites

Free vs Pro

The results from Pro and Free monitors show a similar pattern:

Graph of all response times - free monitors
Graph of all response times - pro monitors

The Sound Bites

The fastest 10% of websites respond in under 0.2 seconds.

The average response time is 1.28 seconds.

Over 90% of sites respond within 3 seconds.

Nearly 1% of websites are down at any single moment.

If you would like to see how fast your website responds sign-up here or check out our features.

 

22 Oct 2020

Downtime Monkey has now been monitoring websites for just over 3 years. Since 2017, we have offered a 30% 'early-bird' discount on Pro subscriptions. But this is coming to an end very soon...

30% Discount Locked-in For 3 Years

Don't fret though, you can still access the discount now... but the offer will end in November.

Note that the discount is locked-in for 36 months from the date of purchase so if you buy a Pro Plan today you'll still receive the discount in October 2023.

early bird with worm

Existing Pro Customers

If you're an existing Pro customer don't worry, you won't lose your discount because it's locked in for 36 months from your original purchase.

However, if you're intending to upgrade it may be worth doing this now to keep your 'early-bird' discount.

A big thank you to all the Pro users who have kept the service going since September 2017!

 

17 Aug 2020

The stats overview page that we launched in June was very well received. We have followed up on this and developed a similar idea for downtime logs. This went live on Friday and shows downtime records for all your monitors in one place.

Filter Logs

By default, logs of all downtimes in the last 24 hours are shown. This means that you'll immediately see downtimes from any recent outages and get the important details at a glance.

It's possible to show logs for any site individually. This is really handy if you monitor a lot of websites and want to focus in on one particular site.

downtime logs filter

You can also change the timespan to see logs up to 2 years old: options are 24 hours, 7 days, 30 days, 90 days, 1 year and 2 years. You can view logs for all your monitors together for up to 30 days - for more than this select an individual site.

Download Logs

As well as viewing logs you can export logs to a spreadsheet (CSV file) in just one click. This is really useful if you want to send logs to a customer, provide evidence of downtimes to a hosting provider or include logs in a company report.

downloadable downtime logs

View Timestamps in your Timezone

In every log, timestamps of the start and end of the downtime are shown. These are displayed in your preferred timezone and exactly match the timestamp shown in the corresponding downtime alerts.

This makes it incredibly easy to cross-reference a log with a particular alert as shown in this recent post on timestamps on downtime alerts.

See the Reason For Every Downtime

The HTTP code is shown in each log and you can hover on this to see the cause of the downtime in plain English. This can help you troubleshoot problems and get your website back online quickly.

view the cause of each downtime

To view downtime logs for your monitors simply login and go to the logs page.

A big thank you to everyone using Downtime Monkey and especially to our Pro users - it wouldn't be possible without you!

 

09 Jul 2020

We've made a useful improvement to Downtime Monkey alerts. Each downtime alert now includes a timestamp that shows the time that the website went down and each uptime alert includes a timestamp that shows the time that the website came back up.

This turned out to be more work than expected, largely because we thought we'd knock it out in under an hour :)

Although it wasn't totally straightforward to develop, the end-result is incredibly simple to use...

Consistent Timestamps On All Alerts

Each timestamp is consistent across the whole monitoring system. The times shown in email, Slack and SMS alerts are identical to each other and show the time the website was first noted as down.

Note that this is not necessarily the same as the time when the alerts are sent, for example for monitors that are customised to delay alerts until the site remains down for x minutes.

Downtime alert with timestamp

The main benefit is that you'll see exactly when the website was down, at a glance. Also, if you want to see more detail it's easy to find the downtime log...

Timestamps Match Downtime Logs

The time shown in each alert message is also displayed in your preferred timezone and therefore matches exactly the timestamp in your downtime logs.

This makes it very easy to find the corresponding downtime log...

Downtime log with timestamp

If you'd like to receive timestamps with your downtime alerts and have access to comprehensive downtime logs, check out our Pro Plans.

 

19 Jun 2020

We've just rolled out another new feature: a 'Stats Overview' area where you can view a summary of the stats for all your monitors at a glance. There have been several requests for this feature from customers who want to view the most important stats for their websites in one place.

Here are the details...

24 hour Uptime Summary

At the top of the page you'll find the uptime summary which shows the number of sites with 'good' uptime and the number of sites with 'low' uptime, over the past 24 hours.

Website uptime stats summary

6 hour Speed Summary

Alongside the uptime summary you'll find the website speed summary. This shows the number of sites that are running well and the number of 'slow' sites, based on the average response time over the last 6 hours.

Website speed summary

Stats List For All Monitors

Next is a list of all monitors with their pertinent stats and links to in-depth stats and logs. Sites with low uptime and slow sites are listed first so you won't need to scroll to find them.



website stats list

Alongside the stats, you'll see graphs of response times for the last 6 hours. These are interactive so you can view the details of every individual response.

website response with details

Set Your Timezone

The default timezone to display stats is UTC but it's very easy to change, simply:

1) Navigate to 'locations'

2) Select your preferred timezone from the dropdown menu

All response times and downtime logs will now be shown in the timezone of your choice.

Configure Acceptable Uptime

We realise that what constitutes 'good' uptime is subjective. Therefore we have made the acceptable uptime configurable.

Options are: 99%, 99.5%, 99.9%, 99.95%, 99.99%, 99.995% and 99.999%.

The default acceptable uptime is 99.95%, the average result taken from our acceptable uptime survey, but the choice is yours...

acceptable uptime results

Configure Acceptable Response Time

Again, what constitutes 'slow' response time is subjective so we have made the acceptable response time configurable. You can set any value up to 17,000 milliseconds.

The default is 1,500 milliseconds although we recommend that you set your own value, because response time varies with different websites, servers and locations.

A good way to choose a value is to allow monitors to run for a short period to see what a 'normal' response time is for your websites, and then set the acceptable response time just above this figure. With this method, if a site runs more slowly than usual it will be highlighted as a 'slow' site, enabling you to locate problems before they cause actual downtime.

Note that Downtime Monkey measures response time as 'time to receive headers' which is different from the commonly quoted 'time to first byte'. We believe that time to headers is a better measure of response time because headers are received immediately before the first content is loaded to the web browser whereas the first byte is received some time in advance of this so can give an artificially low result (more info here).

A big thank you to those who have taken the time to submit feature requests - you have helped us improve Downtime Monkey!

 

23 May 2020

On Website Downtime

In early March we noticed an increase in the overall number of downtimes logged at Downtime Monkey. This was when COVID-19 related lockdowns were beginning in many countries so we decided to dig into the data to see if there was a correlation. Here are the results...

graph of website downtimes increased due to COVID-19 lockdown - pro monitors
graph of website downtimes increased due to COVID-19 lockdown - free monitors
graph of countries verses lockdown start dates


The Graphs

The top two graphs show the total number of downtimes that occurred each day from 12 February 2020 to 18 May 2020 for websites monitored by Downtime Monkey. The top graph shows data from the Pro monitoring service while the second graph shows data from the Free service.

The third graph shows dates that COVID-19 related lockdown measures began in 16 countries.

The Data

Criteria for a 'downtime'

Both Free and Pro services use http monitoring to detect downtimes. Any website that responds with an http response that is not 20x (e.g. 200 OK) is logged as down. Also, if a website doesn't respond within 17 seconds it is recorded as down due to timeout.

Note that for the purposes of this study we haven't distinguished between downtimes of different duration - a site that is down for 1 minute and a site that is down for one hour are each counted as a single downtime.


Sample sizes

Free monitors: approximately 2000 websites submitted by 1000 users located all over the world.

Pro monitors: approximately 700 websites submitted by 40 users located mainly in North America, Europe and Australia/New Zealand.

Note that the number of monitors grew during the study. Specifically, increases of approximately 30% for Free monitors and 25% for Pro monitors occurred.

The increase in Free monitors was fairly linear with a few monitors added most days and the largest number of monitors (66) added on 20 April. The increase in Pro monitors was sporadic, with only 32 days where new monitors were added. The majority of new monitors (223) were added in a single day on 3 April.


Data differences between Free and Pro services

Free monitoring takes place solely from Downtime Monkey's main server in London, while the Pro service provides the option to use some, or all, of our global network of servers to prevent false positive downtimes. Without global monitoring, false positive downtimes can be caused by the network being down between our server in London and the website's server.

It's worth noting that the majority of sites monitored by the Pro service have at least one global server allocated, therefore network problems will have minimal effect on the Pro data while the Free monitoring data will include some false positive downtimes caused by network problems.


Lockdown Start Dates

Lockdown start dates were obtained from the Oxford Coronavirus Government Response Tracker. For simplicity the data was limited to 16 countries that are known to be home to a large number of web hosting servers. A more exhaustive range of lockdown dates by country is shown here.

Conclusion & Discussion

National recommendations and lockdowns largely began between 9 and 24 March.

Pro monitoring results show a very distinct stepped increase in downtimes between 9 and 11 March. As expected Free monitoring results are more noisy, but nonetheless show a significant increase in downtimes between 12 and 23 March.

It can be tentatively concluded that a correlation exists between COVID-19 related lockdown and increased website downtime. It will be interesting to confirm this by revisiting the study as countries gradually remove lockdown measures in the coming weeks and months.


Correlation or Causation?

Although a correlation has been shown it is not possible to prove causation here. However, it doesn't require a huge leap of logic to see that hosting providers may struggle to deal with problems efficiently when working with skeleton staff.

If you would like to monitor your own websites with Downtime Monkey, you can sign up for the Free service or check out our plans.

 

14 May 2020

It's been a strange few months here in Edinburgh. Thankfully Downtime Monkey has been largely unaffected by the lockdown, quietly continuing to monitor websites while the world shuts down.

Coding from home has been challenging with kids off school and nurseries closed. However, in the twilight zone silent hours after everyone has gone to bed we've been developing improvements and fixing bugs.

Here are the details...

night owl


Refactor Monitoring Scripts for Efficiency & Readability

Downtime Monkey's original monitoring scripts were written nearly 3 years ago. Since then, we've added a bunch of new features: a global network of servers, response time monitoring, slack alerts, repeat alerts and rate limiting of alerts have all been added.

These new features were bolted onto the scripts and although they worked well the scripts became increasingly complicated making it difficult to add new features.

Things have also been scaling up. We now have over 1000 users (thank you!) and over 200,000 downtimes were recorded in the last 90 days. Inefficiencies in monitoring scripts that previously had little effect now have the potential to cause increased load on the server.

We could always throw CPUs and RAM at the problem, but these resources are expensive. Instead we bit the bullet and completely refactored the main monitoring scripts for efficiency and simplicity. It was a lot of work for what seems like nothing new but we're now in a position to grow efficiently and add new features easily... so watch this space.

Reminders For Expiring Cards

When a Pro customer is signed-up for auto-renewal and their credit card expires the payment could fail and the customer could lose their Pro account.

Obviously we don't want this to happen so we've set up automated emails to remind customers when a card is due to expire.

Corner Case Bugfix for Repeat Slack Alerts

A rare bug was found relating to Slack repeat alerts under very specific conditions.

When a user had set up a repeat alert to Slack and deleted the monitor after the website went down but before turning Slack alerts off the repeat alert would continue to send if the site remained down after the monitor had been deleted.

When this occurred the customer needed to contact support to stop the alerts. This is now fixed and all repeat alerts are removed when the monitor is deleted.

Rate Limiting: Queued Slack Alerts

One of the side-effects of global lockdown is that many more people are connecting remotely and working from home. This seems to have caused an increase in downtimes and even mass outages when major hosting providers run into server difficulties.

At times like this Downtime Monkey usually sees a spike in alerts with hundreds of alerts being sent out simultaneously. Email and SMS infrastructure deals with this quite well but the Slack API struggles when the number of alerts peaks.

To mitigate this we tweaked our processing of Slack alerts so they aren't sent out simultaneously but instead alerts are queued for sending with a tiny pause between each alert.

A big thank you to everyone who uses Downtime Monkey and an even bigger thank you to the Pro Plan customers - we couldn't do it without you!

 

06 Feb 2020

...achieved with a few simple code changes!

As explained in the last post we've spent a few weeks working on small fixes and improvements, focusing on jobs that aren't urgent but shouldn't be overlooked.

Here we'll look at how a few simple code changes greatly increased efficiency when serving pages on the Downtime Monkey website. These improvements focus on reducing the server's CPU load and memory use.

The site is already highly tuned for page speed and although these changes don't speed up the site noticeably, they allow the site to receive more traffic without slowing due to server overload.

Two Much

'Too Much Johnson' 1938, directed by Orson Welles



TLDR; Looping through large datasets when serving a webpage is avoided. Instead pre-processed data is stored in the database and only the necessary values are pulled. When real-time data is needed on-page, only the relevant data is pulled from the database so a smaller dataset is used.

Is Efficiency Important?

To quote Donald Knuth from his book The Art of Computer Programming: "premature optimisation is the root of all evil". Working hard on performance and scaling at the very beginning of a start-up can be a large waste of time - it's better to focus on much needed features.

On the other hand, a poorly tuned site can run slowly or even crash when there is an increase in traffic and optimising your code is a lot cheaper than throwing RAM and CPU cores at the problem.

web server

The Optimal Time For Optimisation

In theory, the ideal time to optimise is just before you run into load problems, just before your traffic scales.

But as the saying goes: "in theory there is no difference between theory and practice, while in practice there is". It can be best to err on the side of caution and make optimisations well in advance of problems.

Traffic to the Downtime Monkey website has increased steadily each year, from just 350 visitors a month when we first launched to 3500 in 2018 and over 9000 at times through 2019. As 2020 gets underway we want to be prepared for continued growth. Time for some optimisations...

Minimise Processing On Busy Pages

Remove On-Page Loops

Looping through large amounts of data is CPU intensive and avoiding this is one of the low hanging fruits of performance optimisation. We took note of pages that looped through data before page load and where possible, put an alternative in place.

A good example is the home page where the number of downtimes logged in the last 90 days is displayed. Originally, this was calculated in real time using a foreach loop to count all the logged downtimes. For those interested, here's the PHP:

			

//pull all the records from the database				
$record = new Table($statusChanges);
$all_records = $record->get('status_changes');
$records = $record->tableData();

$downtime_count = 0;

$ninety_days_ago = strtotime('-90 days');

//loop through each record and count the relevant ones
foreach ($records as $record1) {
    if (strtotime($record1->change_time) > $ninety_days_ago) {
        if ($record1->change_to == 'down') {
            $downtime_count = ($downtime_count + 1);
        }
    } 
}

//format for display on page
$downtime_count = number_format($downtime_count);

			
		

Not pretty but simple, easy to read and it worked seamlessly for over 2 years.

However, when we first wrote this code there were only a few thousand downtimes in a 90 day period - now there can be over 150,000. It really doesn't make sense for the server to be crunching that kind of data every time someone visits the home page.

Instead, we now count the number of logged downtimes behind the scenes and store the figure in the database. When someone visits the home page we simply pull the figure from the database - no foreach loop required.

This was a little bit more work at the backend because we needed to schedule a script to run once a day and setup a table in the database to store the results. However, there were two major efficiency gains:

1) less memory is now used as only a few rows are pulled from the database rather than over 100,000

2) fewer CPU cycles are needed giving big savings in processing power

There is also the added advantage of slimmed-down code for the webpage:

			

//pull the pre-calculated stats from the database				
$stat = new Table($statsInstance);
$all_stats = $stat->get('dtm_stats');
$stats = $stat->tableData();

//select the downtime count (it's first) and format it for display on page
$downtime_count = number_format($stats[0]->downtime_count);

			
		

When Real Time Data Is Needed

The above solution worked because the data displayed doesn't need to be accurate in real time. However, in some circumstances we need to show data in real time. For example, when a website's percentage uptime is displayed it's important that it is accurate at the time it's viewed.

Originally, to display a website's percentage uptime, we pulled all the downtime logs from the database and looped through these to select the downtimes for the specific website:

			

//pull all the records from the database				
$record = new Table($statusChanges);
$all_records = $record->get('status_changes');
$records = $record->tableData();

//loop through each record and select the records specific to the monitor
foreach ($records as $record1) {
    if ($record1->monitor_id == $monitor_id) {
        //calculate percentage uptime
    } 
}

			
		

Now only the data for the specific website is pulled from the database. Pulling only the relevant data from the database consumes much less server memory and also has the advantage of reduced CPU cycles because there's a smaller dataset to loop through. It wasn't any more work to implement than the original and in retrospect we should have done it this way from the start:

			

//pull only the records we need from the database				
$record = new Tablerows($statusChanges);
$specific_records = $record->getByMonID('status_changes', $monitor_id);
$records = $record->tableData();

//loop through every record
foreach ($records as $record1) {
    //calculate percentage uptime
}

			
		

Performance tuning has the potential to be never ending but these simple fixes gave huge gains in efficiency when rolled out across the whole site. For now they are all we need. In the future, it would be great to have so many users that we'll need to re-optimise - sign-up and start monitoring your websites to help us get there!

 

All Posts

 Website Monitoring Prices Compared

 A Quick Study Of Response Time

 'Early-bird' Discount Ends November

 Downtime Logs... All In One Place

 Timestamps On Downtime Alerts

 Stats At A Glance

 The Effects Of COVID-19 Lockdowns

 Lockdown Bugfixes & Midnight Coding

 Greatly Reduced Server Loads

 Monitoring URLs With Query Strings

 New Year's Carbon Offsetting

 Keeping Your Web Host Honest

 New Pro Plans For EU Individuals

 New Downtime Alert Options

 New SMS Provider for the US

 Free & Pro Monitoring Compared

 New SCA-ready Payments System

 Global Website Monitoring

 Downtime Alerts: An Ideal Custom Setup

 Server Upgrade & IP Address Change

 Website Monitoring: Cheap vs Free

 Improvements & Bugfixes

 Website Content (Keyword) Monitoring

 Cheap Website Monitoring Pro Plans

 Spring Cleaning = Bug Fixing

 Bug Found & Fixed

 Server Upgrade Scheduled Completed

 Whitelist Email Addresses in cPanel

 Monitoring Software Awards

 Website Downtime Alerts To Slack

 Whitelist Email Addresses: Thunderbird

 Monitor Response Time

 Whitelist Email Addresses in Yahoo Mail

 How we improved accessibility by 42%

 Whitelist Email Addresses in Outlook

 Whitelist Email Addresses In Gmail

 Why Whitelist An Email Address?

 User Interface Improvements

 Free Email Support For All

 When is a website considered down

 Bulk import, edit and delete monitors

 Privacy, democracy & bureaucracy

 How Much Downtime is Acceptable?

 Feature: Custom Alert Times

 Server Upgrade Scheduled Completed

 Free Plan Upgraded to 60 Monitors

 New Feature: Rate Limit SMS Alerts

 How We Boosted Page Speed By 58%

 How To Reduce Website Downtime

 Making the Monkey

 How To Monitor A Website

 5 Tips for Website Internationalisation

 We're Live...

 Initial Development Completed