AppBeat Blog

Perfect Monitoring for Your Cloud

Daily incident report

Today we added new report which can be accessed by clicking "Reports" on left sidebar and then selecting "Incidents by date" tab:

Here you can see for each problematic website or service when did problem start and how long it took until problem was resolved.

Alternatively you can also access this report by clicking date on "Undefined", "Error" or "Warning" section of "Statistics & Logs" (as shown below in green rectangle):

How do I whitelist AppBeat IP in CloudFlare?

If you receive check errors by AppBeat that your website is using CloudFlare which prevents us to scan it, then you will need to whitelist our IP address which is used by our web monitor:

Instructions on how to do this are displayed on CloudFlare Support:

If you have problems please contact CloudFlare support, or contact us for more details by email: contact AT

How to create a status page for your app or website?

Today we turned on new feature in AppBeat web app, called "Public pages". This feature is available for free (if you don't have AppBeat account yet, you can create it here - yes, it is free :)

What are status pages?

Do you have web site or online service and want to add page which displays live status of your service? Something like this?

There are some commercial providers which provide similar pages (usually for monthly fee), but you have to manually update statuses or bother with third party monitoring integration.

With AppBeat this becomes very simple and automated, because we also provide monitoring (All-in-One solution!). Here is how you turn this feature.

After you created your own monitors by clicking "Add new check" button and your "Live status" module displays everything green (status OK), you should click on "Public status" button from left sidebar.

Status pages are by default turned off and you have to click "Enable public status page" to enable it:

When you customized your title and URL you can click second tab: "Services":

Here you must explicitly turn on which services you want to share with your visitors. If you don't like service names or if it has default name "My Monitored App" you can click link "Manage services" which is located under "Other tasks".

That is it! You can check what your users would see by clicking "Show public preview" link. If there is something you don't like just return to AppBeat and edit it again. You can then copy "public preview" link and paste it to your page.

Please note: this is just beginning. We plan to upgrade this feature even further very soon. We will allow you to write your own status updates and comments during service disruptions so your customers will exactly know what is going on.

We will provide you status history and option for scheduled maintenance.

Stay tuned :)

Tip: Azure SQL Database and transient errors

If you are using Azure SQL Database you may occasionally experience following exception (this is example throw by native SqlClient library):

System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.  This failure occurred while attempting to connect to the routing destination.

What is this? 

Azure system may occasionally quickly shift hardware resources to better load-balance various workloads. During this reconfiguration time span, you may have connectivity issues to Azure SQL Database. If this happens, your client can receive transient error (transient fault).

How do you handle this?

 If you are using .NET Framework 4.6.1 or later you can simply update your connection string, without touching your code.

Simply add following to your connection string:

ConnectRetryCount=VALUE1_IN_SECONDS;ConnectRetryInterval=VALUE2_IN_SECONDS;Connection Timeout=VALUE3_IN_SECONDS;

where VALUE1_IN_SECONDS is number between 0 and 255, VALUE2_IN_SECONDS is number between 1 and 60, VALUE3_IN_SECONDS is number between 0 and 2147483647.

It is recommended that you set Connection Timeout to: ConnectRetryCount * ConnectionRetryInterval (in our case VALUE3_IN_SECONDS = VALUE1_IN_SECONDS * VALUE2_IN_SECONDS). It is not recommended to set this value to 0 because this indicates no limit (connect waits indefinitely).



How to monitor your website with AppBeat?

Once you have logged-in to your AppBeat account  (you can create new account here and we offer also free plans), please click “Add new check” button:

This will open “New check” dialog. Now simply enter your friendly name and ensure that “Web site – check response from web server” is selected in “Agent type” section. Then click “Continue to Step 2” button:

On next step you have to enter URL of web site that you want to periodically check. Finish wizard by clicking “Add” button:

Congratulations! You have just added your first website check.