AppBeat Blog

Perfect Monitoring for Your Cloud

Work in progress: installable smart agents for richer telemetry

We are planning to extend our platform with smart agents that can be installed on workstations or servers. We will provide for example CPU, memory, disk space monitoring, ..., with possibility to extend agent with custom logic to monitor virtually anything.

We plan to develop cross platform shared codebase with platform specific extensions. For example, here is example of simple implementation for Windows operating system, which uses Performance Counter to get CPU usage:

namespace AppBeat.Telemetry.Windows
    class CPU : AppBeat.Telemetry.Core.BaseResource, ITelemetryProvider
        public ResourceValue GetValue()
            return GetResourceValuePercentage(

Strong emphasis is of course on security. Some security aspects:

  • Firewall friendly: no inbound connections will be made, instead all telemetry will be pushed from smart agent to AppBeat server (only outbound connections will be made)
  • All communication with AppBeat server is over secure SSL connection
  • Additional to that, all messages will also be encrypted by application (smart agent) by using your unique private key. This additionally protects you from man-in-the-middle attack.

This is still work in progress but we want to give you a glimpse of what we are doing :)

We listen to our users!

Yesterday was our first day of AppBeat 1.0 and we received quite positive feedback from people. Thank you all!

Few users wanted quicker way to add website monitors and we listened to you. Today we published updated version which adds new "Quick website monitor" button on top of screen:

Thanks to great development tools and frameworks from Microsoft, we can rapidly develop and publish new features in matter of hours!

AppBeat 1.0 is released

We would like to officially announce that first final version of AppBeat is ready to use!

We would like to thank to all participants of our BETA version. You helped us a lot with your valuable feedback!

As we promised during BETA version, we will always try to offer one of our plans for free (forever, no credit cards required). Currently we are offering five free monitors with five minute check frequency. If you would like more monitors, higher check frequency or more SMS notifications, please take a look at our flexible pricing plans.

Most of our competitors offer few predefined paid plans for you. Our pricing decision was not to limit our users, so we are offering configurable plans with thousands of different combinations. Choose whatever suits you best!

Also, our prices are very very competitive, but in case you find better offer elsewhere, please contact us and we will give you even better offer!

To our early adopters we are offering:

  • BETA users: if you decide to purchase one of our annual plans, we will give you three months for free (12 paid months + 3 free months)
  • first 50 buyers of our annual plans: we will give you three months for free (12 paid months + 3 free months)

We plan to actively develop and improve our AppBeat platform, but we need your help. Please tell us what would you like to see in next versions. Would you like real-time user monitoring of your websites for better insight? Would you like advanced monitoring agents, that could be installed on your server and offer you rich real-time telemetry (disk usage, CPU usage, virtual machine insights, ...)? Would you like to see something else? Please contact us and give us your feedback. Top requested features will most likely be implemented in future versions of AppBeat.

Happy monitoring :)

(and of course we wish you minimum number of outages)

Ensuring high availability of our core monitoring service

With our latest deployment of our core AppBeat monitoring service on two geographically separate locations, and by removing our last single point of failure (central database, which is now locally mirrored), we have achieved very robust high availability monitoring system.

With this setup we are hoping for at least 99.9999% availability of our core monitoring service (web management application is separate and less critical system, it is not part of core monitoring service).

We are happy to announce that this high availability setup is now available by default for all users (even those with free plan).

Join now.

AppBeat and high availability of monitoring service

We are currently in process of deploying second instance of our AppBeat core scheduler to server on different geographic location and network.

Second instance of our scheduler will be automatically activated if primary server does not respond (due to network or hardware issues). This will allow us to provide very high availability of our monitoring service for our users and customers.

AppBeat was architected from beginning with high availability in mind which is very suitable for enterprise usage.

Sign up for Free account

Schedule new probe

If you have less frequent monitoring and you want to check if your website or service still has errors (and you can't wait until next scheduled run), you can click on "schedule new probe" link as shown below:

This will add your monitoring request to scheduler que, and it will be automatically retested as soon as possible (usually this is in less than 10 seconds, but please note that page auto refreshes every 60 seconds - you may also manually refresh page for quicker result).

Don't have AppBeat account yet? Sign up for Free.

We have switched to BETA 2

In this version of AppBeat we primarily focused on some optimizations of our core monitor service. For example, our core now sends database updates much much efficiently. In each monitoring batch that we dispatch we have several checks. When those checks return result, our dispatcher manager packs all the results into single DataTable and sends it to database as Table-Valued Parameter. This means single roundtrip to database, instead of previously tens of single database updates.

We are close to releasing final version of AppBeat. Stay tuned!

New AppBeat monitoring agents

We have added three new monitoring agents to our AppBeat collection:

  • HTTP header agent: if you want to monitor just HTTP header values from web server, without downloading content, then you should use this agent. This is fastest and most optimal way, to check if your web server is alive.
    Note: your web server must support HTTP HEAD request as described in RFC 2616 protocol, section 9.4.
  • TCP connectivity agent: this is simple agent which checks if TCP port is open or not. For example, you could use this agent to check if RDP port 3389 is waiting for connections. Of course, you can use any port you want. For list of common ports you can check this Wikipedia article: List of TCP and UDP port numbers
  • UDP connectivity agent: similar to TCP connectivity agent, only that it checks UDP ports.

In addition to that, we can also implement private agents, which can monitor your custom solution and are available only to you. If you are interested, please contact us.

Ensuring that correct production version of website is deployed

It is common for web developers to have local "debug" version of website and production version.

For example, in debug version you may have uncompressed, full version of JavaScript files for easier debugging and diagnostics, while in production environment you often deploy smaller and thus faster versions of same files.

To automatically detect situation where you mistakenly published debug version into production environment, you can use free AppBeat account to monitor your web page and alert you of such mistakes. Here is short tutorial how to do this.

Once you are logged-in, click on "Add new check" button which opens "New check" dialog.

On first step simply enter name of your monitor. It is nice to have good name because it will be included in SMS / email notifications:

On second step you enter URL of your page and then click on "Warning" or "Error" tab. Now enter rule similar to this:

In our example we entered warning rule:


When web page from provided URL is downloaded (in our example it is processed first by Error rule, then by Warning rule and finally by Good rule (this is how rules are prioritized). If Error or Warning rules are evaluated to TRUE, notification alert is immediately triggered.

In contrast to Error/Warning rules, Good rule must evaluate to TRUE to be treated as OK. If FALSE is returned it means check is not good and alert is immediately triggered.

If we return again to our rule example:


It simply says that if HTML response from our web server does not contain string it triggers Warning signal and then we are notified about this by SMS or email.

If our web site contains correct (minified) version of AppBeat script (AppBeat.min.js), this rule evaluates to FALSE, which means there is no warning. On the other hand, if we mistakenly publish HTML file which contains link to AppBeat.js, rule would evaluate to TRUE and trigger warning.

This is one simple example on how to effectively use AppBeat in real life. Hope it helps you too!

Improved wizard for adding new checks (monitors)

In latest beta version of AppBeat web app we introduced improved wizard for adding new checks (monitors).

If you keep default names, you can add new website monitor with just three quick actions:

  • click "Next" button on first step
  • enter website URL on second step
  • confirm by clicking "Finish" button

Monitoring your website has never been so easy :) Try it out by signing up for free.