HostTracker Company is one of the market leaders in the supplying of monitoring services for sites and various web services. It teems with a wealth of different constantly improved tools, which are taking into accounts the most recent tendencies and trends. How did this company emerge? Why there is a need in monitoring? How the monitoring could help in the sites and servers development and testing? This review will answer to these questions and will also show how the simple desire to optimize your work may be transformed into a useful product for others, as well as, how not to lose the ‘startup spirit’ and always keep up with your clients.
Introduction or the history of startup
Everyone involved in the IT sector must know the feeling, when a server (website, database, software, network) seems to be perfectly configured, but it suddenly stops to work properly. Solving this problem could take a lot of time. Meanwhile, this mess would go on, take place regularly or wouldn’t happen at all – but, nevertheless, that’s the worst, as it wouldn’t be clear when it shows up another time. Moreover, what if this happens during handover the project to the client? Pondering over all these things caused HostTracker to appear.
A founder had always tried to make his work on objects as brilliant as he could at his main job, so he decided to automatize the process of monitoring. If at that time (at the beginning of 2000), there were reliably working monitoring services – possibly, HostTracker would never have appeared. Therefore, he had to write a simple script to check his bulk of sites. However, the script faced the same problems that were mentioned at the beginning of this paragraph. From time to time, the script didn’t work at all or didn’t work properly.
So, that’s why, we had to optimize the script a little and make it more reliable, as well as, through the duplication and distribution it on several machines. After a series of optimizations the idea crossed our minds that it could be useful for someone else, and HostTracker became public. With the advent of a variety of clients – we decided to monetize the efforts. As you can see, our service appeared to solve personal problems, but during the process of development has become available to others to help them solve the same problems, which, at one time, we faced.
Monitoring: the main points
This part of the review contains information about the most popular feature - regular check of the site or other entity available from the network for immediate identification of emerging problems. These checks can be run on different protocols: http (s), icmp (aka Ping), port (check any port over TCP) etc. It is worth noting, that there are different approaches to monitoring. There is an internal monitoring - when the state of the site is estimated by the software hosted on the same server. To put it tentatively, there may be included such tools like Google Analytics– built in the page script sends information about customers who entered the site, and can make indirect conclusions about the site performance. The other type of monitoring - external, or, as lawyers say, "monitoring by a third party." It is embodied in simulating the logging in of real users with real addresses to the site, and making conclusions on the real server replies to the sent requests. Further we will talk about this method in the review.
Infrastructure or how it works
For easier understanding, the infrastructure can be divided into two components: the "internal" and "external". The “internal” is placed in the cloud and consists of computing servers, databases, file servers etc. All of these components belong to HostTracker and are operated directly by HostTracker employees. The “external” component - nodes or agents, which are placed around the world and serve as independent servers inspectors, similarly to "Secret shoppers" at the stores. They are testing the sites and other entities by creating the standard requests for checking protocol. If it is a web site test, then it will be the usual http requests and there will be no difference between these requests and requests of real visitors.
These servers are completely independent from each other and from internal system structure. Everything what they do – receive a list of sites for checking from the central server and give it back the check results. Some of these servers are being rented by the HostTracker, whilst the majority of them belongs to the partners. These partners are providing them for free or with a significant discount, in return for backlinks or discounts for our services, or just due to friendship relationship.
This kind of infrastructure allocation is a result of monitoring service performance algorithm.
The service performance algorithm
Regular checks are being done due to the client’s predefined interval, beginning from one minute. When it comes to testing, the server sends the task to one randomly selected agent – a part of the external HostTracker network. It is performing checks by a given protocol, and sending back the response of the checking server. These results are being processed on the “external” side. If it happens to have a positive response - nothing happens, there will be only a record in the database about this (it is available to the client in a form of an inspections log). If an error has been noticed, then tasks are immediately created to verify, again, this site by other randomly selected servers from the general network. After that, the answers from all these servers will be analyzed.
If the error hasn’t been confirmed by the majority of servers - it remains in the log and there is no reason to worry. Apparently, anything can happen: the network lag, requests overload and everything. If most or all of the agents do confirm an error - then it is assumed, that the trouble occurred and there is a serious problem – likely, at that time, a lot of people can’t get to the site. Moreover, almost all commercial sites will suffer from a great loss of money in this situation.
Error handling and clients notification
According to the settings, after identifying the problems, a lot of different things can also happen. The problem initial diagnostics is being done at once. If there is any error, the code of this error is recorded, otherwise there will be a record of the protocol response. This data can be used for detecting the reasons of the error, for example, network failure, server failure etc. However, first and foremost, the client is interested in getting to know about the problem. So, if you want to be aware of any errors at any time, you should register your phone number, e-mail or other communication channel to receive notifications from HostTracker.
These notifications may be sent to different people, with different contacts and at any time. Truly, a lot of interesting features are there to offer. The message can be sent immediately, which is done the most frequently. Although, that’s not enough for the particular customer to be satisfied. Firstly, the "unimportant" sites do exist and it would be inappropriate to wake administrator up because of the short-term downtime. Secondly, there are "important" people, that shouldn’t be bothered because of different insignificant problems. Therefore, HostTracker offers a feature of the alerts escalation. As well as, HostTracker would send a notification to a specific address after some time of the site’s fall, if it didn’t recover by itself.
Moreover, you can create "work schedule" for each contract - set the time interval during which, it is possible to send alerts. So, HostTracker wouldn’t disturb this person at other time. It happens to be very useful for some customers. For instance, this configuration will send an alert to the particular person between 8:00 am. and 7:00 pm., in case the site has been “off” for one or more hours:
We will describe a wide variety of other service functions in the next reviews. Also, you will find all histories of their emergence and development, the examples of their usage and other things from our own experience. It is worth noting, that one of the main advantages of the service is the orientation to clients. Many service functions have been invented due to clients, friends and partners requests, enabling them to solve their specific technical problems, the solution of which on their own would require a lot more resources. Therefore, we’re looking forward to your feedbacks and suggestions!