Elinext. Network Monitoring System

Elinext. Network Monitoring System

Information
Region:
Worldwide
Industry:
Telecom
Type:
Web application
Engagement model:
Time and Material
Duration:
Ongoing Project, Started November 2022
Staff:
1 Senior and 1-2 Middle FE developers (at different stages of the tournament), 2 Middle and 1 Lead BE developers, 1 Middle BA who also did some PM work, Several QA engineers, 1 Middle UX/UI designer
ID:
371
Technologies used
Java
Spring boot
PrimeNG
RabbitMQ
Angular 14
PrimeNG 14
Chart.js 4
Spring Cloud
Postgres
Eureka

Client

Elinext is an international custom software development company. As a tech company, we always have to be online, and the infrastructure should never be harmed. Early detection of any malfunction drastically helps to minimize the damage. We develop lots of software pieces that help us with our everyday operations, and network monitoring software is also one of them.

Project Description

Network Monitoring is a web solution that is aimed at identifying issues in the operation of numerous IT infrastructure services and notifying users about the issues.

The solution uses the concept of a standard health check application: monitoring provides insight into the health of services in near real-time. It was developed mainly to minimize time and material losses caused by late detection of failures and malfunctions.

Among the key features that web application consists of are user role management, projects, services, and metrics management. Also, the stats feature and notifications have been implemented.

Challenges

Previously, the company did not have an application that could define issues in the IT infrastructure, for example, due to a power outage, and promptly notify administrators about it. Therefore, we could find out about the issues that arose later than we could have, and the decision was made to develop such a system for the company.

Process

At the moment, we’re entering the second phase of development (beyond MVP). At the moment, we can highlight the following stages:

Phase 1: November 2022 – December 2023

MVP development: Renew the existing web application. The team had to develop a new UI/UX design from scratch and refine all the modules the application consisted of.

Phase 1.1: January 2024 – March 2024.

Since the beginning of the year 2024, several refinements have been made. Alongside many UI improvements and code refactoring, these were the changes that the team worked on during Phase 1.1 within the three-months span:
  • Added the ability to copy the metric within one service
  • Added metric check results in the email notifications
  • Removed the “Responsible project admin” role from the Project model
  • Removed the service types and URL/IP field from the Service model
  • Made updates connected with migration to the Identity Server v.

Phase two is upcoming. The entire scope has not been clarified yet, but it will definitely include UI refinements, the possibility of making the columns visible/invisible, implementation of SNMP protocol for metrics check, and other features, including but not limited to:

  • Implementing Telegram notifications
  • Scanning the internal sites for broken links
  • User group management

During the first 6 months of the project’s existence, the team was using Scrum methodology (sprint duration of 2 weeks). Then, we decided to use the Kanban methodology. This methodology was more convenient because of the ever-changing availability of the development team. We kept using some Scrum entities (i.e. daily meetings, retrospectives)

Throughout all the phases, the team was always searching for improvements in the user workflow and UI. That resulted in a much more user-friendly UI than it was initially.

We could have released MVP earlier. Reason: the team was constantly understaffed during the testing phase because the members were working on external projects. But in the end, we quickly prepared for the release thanks to the strong QA who joined our team.

Solution

Build an internal web system that includes simple IT infrastructure monitoring functions with the possibility to send alerts if something goes wrong.   and a set of features. Here is a short description of them.

Module One: Project

The project is the main object in the system. The project contains several services, and the service contains metrics that need to be checked. This hierarchy may be useful to divide the considerable number of metrics.

In the projects grid, the user can quickly observe the state of all objects overall – every project inherits status from the services inside of it.

The module includes:

  • View all the projects in a grid
  • Filter and sort information in the grid columns
  • Filter the grid by favorite and all projects
  • Adjust the columns' width and set the width to default
  • See the project status

Besides, one could obviously CRUD projects and specify the project info in the comments.

Feature: Member Settings

Admins grant access to the projects to users from the identity server via this feature.

Here one could manage a member’s list, including viewing all the members in a grid, filtering info in the grid of columns, and adjusting the width of these columns. Admins can add and delete members, as well as edit their roles. At the same time, the administrator does not need to create an account; he just needs to select the person in the dropdown and assign him a project role.

Feature: Groups Settings

This is an opportunity to divide a wide range of services into several groups on any grounds. This feature allows doing just that. Group settings allow to enable or disable notifications for services. The user can select a specific notification recipient among project members.

Feature: Services

Each project may have several services that are to be monitored. This feature makes it easy to observe services’ general info, status, and groups. It helps with controlling the receiving of notifications and adds a feature to filter a wide range of services by group.

Basically, this feature enables viewing the services in a grid, filtering and sorting information in the grid columns, and assigning services to groups.

Feature: Metrics Checklist

The user can add and monitor various metrics related to the service. The admin can set the schedule for checking once and then receive notifications in case something gone wrong or check one or all the metrics manually to see the latest updates.

Users can copy the existing metrics and rename them.

Feature: Stats in Table View

The table view of statistics helps to observe the dynamics of metric check-in details in the form of a table. The user can filter the statistical data by status or trigger, therefore he can make specific conclusions based on returned data.

Feature: Stats in Graphic View

The graphic representation of statistics helps to observe the dynamics of metric check results, especially for a long period of time. The user can see how often the results gained the threshold values if they were specified.

Notifications

With notifications, the user is warned about the events in the system on time, especially about some issues with metrics. It helps to take measures to eliminate issues as quickly as possible. In-app and email notifications are enabled, telegram notifications will be available in future versions.

Module Two: Users

A user with sufficient access (administrator role) can see all the users that have access to the system on one page. In user details, the administrator can find general info about the user and projects related to him (name, email, role). It helps to find out how this user gained access to the system.

Module Three: Settings

The admin can control the synchronization with the Identity server, so the app retrieves the latest info about the users. Both manual and automated synchronizations are available.

Results

Now Elinext administrators are aware of issues with servers and other infrastructure upon their occurrence. All the issues can be resolved immediately, so we aren’t worried about a potential power outage or other calamity of such kind. The consequences of the network being down don’t block the work of Elinext employees to the extent it used to or might have been.

There are some works done on the refinement of the system, and its future versions in the development are upcoming.

1-1712-1633-1404-1205-1116-817-698-629-5010-42
Do you want the same project?
Got A Project Idea? Lets Discuss It With Us
Contact Us


    Insert math as
    Block
    Inline
    Additional settings
    Formula color
    Text color
    #333333
    Type math using LaTeX
    Preview
    \({}\)
    Nothing to preview
    Insert