Burly Monitoring

#  Know before your client does. 

Burly watches your sites from the outside and the inside. Is it reachable, is the certificate valid, and are your queue, scheduler and disk still doing what they should? If something breaks, you hear about it right away.

  Coming soon  

No payment details needed · Works with spatie/laravel-health · Cancel monthly

 From the outside and the inside

## Your site answers, but does it work?

An ordinary uptime checker only sees whether your site responds. A stuck queue, a stopped scheduler or a full disk then only shows when your site falls over, or when your client calls. That is why Burly also looks inside, at what your app says about its own health.

- **✓**From the outside: availability, status code, response time and the SSL certificate
- **✓**From the inside: database, cache, queue, scheduler, disk space and every check your app registers
- **✓**One message when something breaks and one as soon as it works again

### Uptime

Burly fetches your page and checks the status code, the response time and, if you like, a word that must be on the page. Every minute up to every ten minutes, depending on your plan.

### SSL certificate

We read your certificate every day. If it expires within 14 days you get a warning, and at 3 days or when it is invalid we raise the alarm.

### Health of your app

Burly reads the checks your app publishes about itself and tells you per check what goes wrong, with your app's own explanation.

### Double-checked first

When a check fails, we try again after 30 seconds. Only when it fails again do you get a message. So a small hiccup does not wake you up.

### Calm in your channels

One message in Discord, Slack or your mail when something breaks, and one when it works again. Still broken after a day? We remind you.

### All in one place

Uptime over 24 hours, 7 and 30 days, response times and incidents per site. Next to your feedback and the other modules, in the same account.

 How it works

## Set up in a few minutes.

1. 1### Add your site

    Fill in the url, choose how often we look and optionally give a word that must be on the page.
2. 2### Turn on health

    Burly creates a secret for you. You put it in your app's .env, fill in the url of your health endpoint and the test button shows straight away which checks we read.
3. 3### Get a heads-up

    Choose your channels. If something goes wrong, you know before your client does.

## Setup per kind of site

Burly reads exactly the format [spatie/laravel-health](https://spatie.be/docs/laravel-health) already gives Oh Dear. So you do not need a package from us.

### Laravel with spatie/laravel-health

Turn the endpoint on in `config/health.php` (`oh_dear_endpoint.enabled` set to `true`) and paste the secret from Burly into your `.env`:

```
OH_DEAR_HEALTH_CHECK_SECRET=your-secret-from-burly
```

Then fill in the url of the endpoint in Burly, by default `/oh-dear-health-check-results`.

### Laravel without spatie/laravel-health

Install the package with `composer require spatie/laravel-health`, register the checks you want to follow (database, cache, disk space, scheduler and queue are a good start) and turn the endpoint on as above. The [package documentation](https://spatie.be/docs/laravel-health) shows how.

### Statamic

Statamic runs on Laravel, so the steps are the same as for Laravel.

### Coming from Oh Dear

Add your sites in Burly and replace the Oh Dear secret in your `.env` with the one from Burly. Nothing changes in your app's code.

### Another stack

Return this JSON at a url of your choice, and only when the header `oh-dear-health-check-secret` holds the secret from Burly. If the secret is wrong, answer with a 403.

```
{
  "finishedAt": 1792090008,
  "checkResults": [
    {
      "name": "UsedDiskSpace",
      "label": "Schijfruimte",
      "notificationMessage": "The disk is almost full (88% used).",
      "shortSummary": "88%",
      "status": "warning",
      "meta": {"disk_space_used_percentage": 88}
    }
  ]
}
```

The `status` of a check is `ok`, `warning`, `failed`, `crashed` or `skipped`. If `finishedAt` is older than ten minutes, we tell you your checks have stopped running.

### WordPress

Uptime and SSL work on any site, WordPress included. For the health of WordPress a small plugin follows later.

 Made to fit, built for everyone

##  Missing something in Monitoring? Tell us what you are looking for and we will build it for you. 

 We take every wish seriously. We tailor the product to you and build it so others can enjoy it too. That is how Burly keeps getting a little better, for everyone.

 [Share your wish](/en/your-idea#idee) 

1. **1** **You share your wish**A few sentences is plenty. Tell us what you want, and why.
2. **2** **We build it for you**We tailor the product to your site and to the way you like to work.
3. **3** **Everyone benefits**Your wish becomes part of the product, so other customers get to enjoy it too.
4. Got a completely new idea? Then we cover the build costs and you use it free for six months.

## Plans

 Not on sale yet. The tiers and prices appear here as soon as it is.

## Questions

   How is this different from UptimeRobot?  +  UptimeRobot only looks from the outside. Burly also reads the health of your app, so you see a stuck queue or a full disk before your site falls over.

    How is this different from Oh Dear?  +  Oh Dear does more, such as status pages and checking links. Burly focuses on uptime, SSL and the health of your app, is Dutch, sits in the same account as your other Burly modules and costs a good deal less. You can switch without changing your code.

    Do I need a Burly package in my app?  +  No. Uptime and SSL need nothing installed. For the health of your app you use spatie/laravel-health, or you return the JSON shown above yourself.

    Where do you check from?  +  From our servers in Germany. We do not have a second location yet. That is why we retry a failed check after 30 seconds before we send you a message.

    Is there a status page for my clients?  +  Not yet. You see everything in your dashboard and the messages arrive in your own channels.

    What do you store?  +  Per check the status, the status code, the response time and the results of your app's health checks. We do not keep the content of your pages. Old checks are removed after 90 days.

    Can I switch plans?  +  Yes. Upgrading is immediate and we settle the difference. Downgrading takes effect after the current period.
