AppBeat Blog

Perfect Monitoring for Your Cloud

Source code for our website monitoring command line tool

As we have previously promised, we published full source code of our cross-platform website monitoring command line tool. You can get it from

Tool is written in C# and targets cross-platform .NET Core framework. This means you can run it on Windows, Linux or Mac.

Tool currently supports following commands:

AppBeat Command Line Interface for monitoring automation, version 1.0.0
Usage: dotnet AppBeat.CLI.dll [command] [options]

  help                Displays this help.

  link                Links this command line tool with your AppBeat account by providing secret access key.

  unlink              Unlinks this command line tool from your AppBeat account.

  status              Returns current status overview of your system with all services and checks.

  list                Lists active checks or services and returns unique identifier for each resource (resource identifiers).

  pause               Pauses check(s) and/or service(s) by using resource identifiers.

  resume              Resumes check(s) and/or service(s) by using resource identifiers.

  new-check           Creates new AppBeat check (periodic monitor) from json settings provided by UTF-8 encoded input file or standard input.

  delete              Permanently deletes check(s) and/or service(s) by using resource identifiers.

If you have any questions or ideas for improvement, please contact us at any time.

Houston, we have a mobile app!

The AppBeat Android app lets you connect to your AppBeat uptime monitoring service from anywhere, anytime. You can view current live status of your checks and do basic check management:
• create simple web checks
• pause/resume specific check or entire group of checks

For more powerful management you can always login to our web application at where you can:
• view uptime / downtime reports, performance reports and incident reports
• check your monitoring logs
• add other check types: HTTP(S), HTTP/2, IPv4, IPv6, Ping, SSL, DNS, UDP, TCP, IMAP, POP3, SMTP, SSH
• setup public status page
• enable third-party notifications: HipChat, PagerDuty, Pushover, Slack, StatusPage or dynamic webhooks
• enable API access which allows you customization or use our cross-platform command line tool:

Best of all, you can your AppBeat account for free - no credit card required, nothing to lose!

Performance and uptime matters, start monitoring now: get your Android mobile app from Google Play!

Our website monitor now supports Pushover and StatusPage

Yesterday we published AppBeat 1.4.6 which now natively supports Pushover and StatusPage.

With Pushover you can now easily receive outage notifications on your Android or iOS phones, and with StatusPage you can automatically publish detected outages on your public status page.

With this version we also add support for message personalization for most third-party integrations:

All third-party integrations can be managed in "Account / Integrations" section:


How to periodically run SSH commands and trigger AppBeat alert

In AppBeat 1.4.5 we introduced support for running SSH commands where you can trigger monitoring alert by checking result of:

  • command exit status code (for example you can simply trigger error if exit status code is not 0)
  • checking specific text in standard output (stdout) by running regex expression
  • checking specific text in standard error (stderr) by running regex expression

You can add new SSH monitor by clicking "Add new periodic monitor", enter monitor name and from "Agent type" select "Run Secure Shell (SSH) command":

On next step enter SSH hostname or server IP address and type command you would like to run (for example script name or cat /proc/uptime, ...) and specify server authentication. You can use standard username/password authentication or key based authentication (with private key in OpenSSH format).

After you finished "New periodic check" wizard we will immediately start monitoring your SSH server by running your command and checking for expected result.

Happy monitoring!

p.s. if you don't have AppBeat account yet, you can create one for free!

New scheduling algorithm

In last few days we upgraded our core scheduling algorithm which assigns agent resources (CPU, network) to your monitoring tasks.

New version now handles agent resources much better and distributes monitoring tasks more equally. This results in much lower average resource usage on our entire pool of monitoring agents.

Here is screenshot of CPU usage on one of our agents where this effect is clearly visible:

Testing AppBeat monitoring automation

We are currently finishing command line tool for basic AppBeat management. Soon you will be able to get your system status, pause / resume / delete services and checks, create new checks.

For example, this is minimum configuration for creating new check:

	"Agent": "Web",
	"Name": "Check1",
	"Description": "Check created with AppBeat command line tool / API",
	"CheckIntervalInSeconds": "60",
	"AgentSpecificSettings": {
		"URL": "",
		"TIMEOUT": "15",
		"METHOD": "GET",
		"HTTP_VER": "http1.1",
		"IP_VER": "ipv4"

AppBeat command line tool will be available for Windows, Linux and Mac.

Detailed website monitoring logging

On September 8th we deployed AppBeat 1.4.3 which brings you more detailed logging for your web monitors. If error occurs we will save server response (HTTP body with header) and send you unique link where you or your support team can view it. Previously you would receive just HTTP status code.

Detailed logs can now help you to diagnose root cause of problem more quickly. They also allow you to keep historic track of incidents (please see note below about how long we keep your detailed logs).

List of all changes are:

  • improved logging for all web checks created after August 9, 2016 - when check changes state from good to non-good we now save detailed error message with response body and header (if available). Older web checks will be migrated to new model gradually.
    Note: we will keep your detailed server response for limited time, based on your subscription level:
    • Free: 1 day
    • Basic: 7 days
    • Starter: 1 month
    • Standard: 3 months
    • Advanced: 6 months
    • Enterprise: 1 year
  • adding or editing checks: you can now select service by entering service name (especially useful if you have large number of services)
  • downtime calculation returned error if user previously edited check and changed service
  • other minor improvements

Happy monitoring!