As proof of concept we tried to run AppBeat frontend (web application on https://appbeat.io/) on Ubuntu Linux 14.04.
First we had to switch to portable NuGet client library for WCF. This is necessary for communication with our backend. We then used auto generated proxies from Visual Studio "Add Service Reference" utility and only changed few lines of code (to explicitly cast objects to IDisposable at the end).
With this change web project was successfully compiled under dnxcore50 profile! Now everything was ready for Linux test!
We created fresh 64-bit installation of Ubuntu 14.04 and followed instructions on https://dotnet.github.io/getting-started/ and later https://docs.asp.net/en/latest/getting-started/installing-on-linux.html.
Everything went smoothly! At the end we configured firewall and installed nginx server. nginx is used to proxy requests to Kestrel server. Our application worked, but... It was really really slow :) We found out that there is an issue with current ASP.Net Core RC1 (Kestrel) and nginx combination and that it will be fixed with RC2 release (there were some workarounds published but it didn't help in our case). We will repeat test when RC2 is released.
Overall we are highly impressed with how things are evolving with .NET Core. Hat off to all participating in this project!
I just quietly hope that Microsoft will decide to implement native compilation of web apps on .NET Core. That would be really really fantastic!
For startups not older than one year, we are offering website monitoring service for FREE. Please contact us for details.
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:
class CPU : AppBeat.Telemetry.Core.BaseResource, ITelemetryProvider
public ResourceValue GetValue()
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 :)
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!
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)
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).
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
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.
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!
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.