We developed Command Center (CC) to monitor applications and service statuses. It is a software able of recording and making easy to find events while showing them in a friendly and clear graphical interface.
One of the main CC aims is to have a high-efficient system in terms of processing, storage, and information transference. Additionally, it is essential that development teams can have tools that allow them to debug and solve issues quickly. As a result, it is also necessary that any person viewing the dashboard may be able to identify at a glance the presence of an error, without requiring any specific technical knowledge.
Considering these three goals, we proposed an improvement, which consists of:
Logger is a back-end service responsible for logging all the monitored IT process events, such as connectivity, application, back-end service, API, and many others. The collected data is stored in memory until a predefined volume is reached and then persisted in the database.
Logged events are classified by multiple criteria. For example, Operations, Issues, or Errors, according to their impact on the system. This classification simplifies the indexing and successive search for information in the log. It shouldn't be forgotten that the log may consist of tens of thousands of records per minute in just one app.
The logger was developed in F# and it can be easily tie-up with applications built with a variety of technologies. For instance, the current version is used in C# and F# code systems.
The data previously gathered by the logger can be accessed via two web clients: Dashboard and Management.
It's a space designed to display real-time statistical data. It has an overall sector where it's possible to identify immediately the existence of errors or the sum of incidents in a specific period.
In addition, it shows the statistical detail of monitoring services in specific sections. Each section will show information such as issues quantity, errors, Ping, and requests quantity.
When we designed the dashboard, we mainly considered the intention of generating visual impact. In this regard, we chose a design that represents a universe of information, seen from a window or a hatch to the space. The background provides a depth sensation that strengthens this concept, and dynamic elements give life to indicators, which are constantly updated.
This second Command Center web client allows to explore, analyze and visualize data in an efficient way. Here, the user is a developer or an IT worker, that will be able to access deeper information about the apps' performance.
This client seeks to improve the information management, making easier access to the data collected by the logger, or analyze in detail what is being sent from any service or app. It also allows querying requests, issues, traces, and failures.
All in all, Command Center was developed after identifying our clients' specific needs: to improve the existing logging (event logging) and to bring in strength without increasing the processing workload. At the same time, we decided to add a monitor that would display the information clearly for our clients' applications and services.
This is a better monitoring of applications’ performance and a faster response to failures or incidents while ensuring work quality and good software efficiency.