Logicify Double-Sided System of User Behavior and System Condition Monitoring

Daryna Tkachenko

The aim of any software company (and Logicify is not an exception) is to deliver healthy and reliable products. While a product’s reliability and performance rely on the team of developers and QAs, what does the “health” of a product depend on?

3 min read

Exposing a software to regular checks in order to track its performance, productivity and general “health” sounds like a reasonable idea, doesn’t it? With this in mind, we came up with an idea of continuing monitoring the systems we build. Surprisingly, we did not find an out-of-box tool for a comprehensive monitoring that met all of our needs. We couldn’t but came up with a combination of tools for both technical and user behavior monitoring for the software products we develop for our clients. Over time and experience, we concluded that - in the long run - both the client and our company benefited from this two-sided monitoring system. Our system covers both user behavior and system condition monitoring, and we find both components equally important.

User Behavior Monitoring

This kind of monitoring is important for all businesses, especially for startups. It gives an idea of how exactly the users utilize the system as a whole or its specific components. If user behavior does not coincide with the one anticipated by a product owner, the components of the product, or even the startup’s direction, could be altered. This type of monitoring helps to determine if the users would benefit from the product or not. We use a well-known web analytics service, Google Analytics, for this kind of monitoring. This freemium analytics service needs no intro as it is the most widely used web analytical tool worldwide.

System Condition Monitoring

Technical monitoring of our products allows to test their behavior in the case of emergency or on-load. The response time of the same system components could differ depending on the number of users currently logged in and working in it, so it is important to know these figures. The outcomes of system condition monitoring could be used to predict system behavior. Also, it allows engineers to look at the system wearing the user’s shoes but with maintenance in mind.

In addition to exposing data vital for system health and performance, the monitoring tool lets support engineers track the issue from bottom to top across system components, servers, and even separate system. Log management tools prove helpful for this. The use of global unique request identifiers ties different log messages to a single user interaction session or event and enables support engineer to reconstruct the system conditions at the time of an error. The system shows an engineer the error code the user has received with the context of connected system log messages, thus helping to minimize the lag between determining an error’s origin and actually fixing it and enabling much easier root cause analysis.

Technical monitoring offers illuminating insights into the system’s ins and outs. It holds all the cards to the engineers to predict its behavior and improve the whole system or its particular components. Again, it is the startups that would benefit from this monitoring technique the most as they often suffer from limited tech teams.

We strove towards making this technical monitoring as complete as possible, so we ended up with a combination of Graylog, an open source log management tool, and Grafana, the platform for analytics and monitoring. As a complementary tool for proactive health-checks, we use our open source Healthcheck Bot. Most of our clients do use these systems of monitoring and reap their advantages. With this monitoring, they could easily make business decisions about scaling or adding new pieces of functionality for their software products.

Related articles


Scroll top