Elinext. Système de Surveillance Réseau

Elinext. Système de Surveillance Réseau

Information
Région:
Mondial
Secteur:
Télécom
Type:
Application web
Modèle d'engagement:
Temps et Matériel
Durée:
Projet en cours, Démarré en novembre 2022
Équipe:
1 Développeur FE Senior et 1-2 Développeurs FE Intermédiaires (à différentes étapes du projet), 2 Développeurs BE Intermédiaires et 1 Lead BE, 1 BA Intermédiaire qui a également effectué du travail de PM, Plusieurs ingénieurs QA, 1 Designer UX/UI Intermédiaire
ID:
371
Technologies utilisées
Java
Spring boot
PrimeNG
RabbitMQ
Chart.js 4
Spring Cloud
Eureka
Angular 14
PrimeNG 14
PostgreSQL

Client

Elinext est une entreprise internationale de développement de logiciels sur mesure. En tant qu'entreprise technologique, nous devons toujours être en ligne, et l'infrastructure ne doit jamais être compromise. La détection précoce de tout dysfonctionnement aide considérablement à minimiser les dommages. Nous développons de nombreux logiciels qui nous aident dans nos opérations quotidiennes, et le logiciel de surveillance réseau en fait partie.

Description du Projet

La Surveillance Réseau est une solution web visant à identifier les problèmes dans le fonctionnement de nombreux services d'infrastructure IT et à notifier les utilisateurs de ces problèmes.

La solution utilise le concept d'une application standard de contrôle de santé : la surveillance fournit un aperçu de la santé des services en temps quasi réel. Elle a été développée principalement pour minimiser les pertes de temps et de matériel causées par une détection tardive des pannes et dysfonctionnements.

Parmi les fonctionnalités clés de l'application web figurent la gestion des rôles utilisateurs, la gestion des projets, des services et des métriques. De plus, les fonctionnalités de statistiques et de notifications ont été implémentées.

Défis

Auparavant, l'entreprise ne disposait pas d'une application capable de définir les problèmes dans l'infrastructure IT, par exemple en cas de panne de courant, et d'en notifier rapidement les administrateurs. Par conséquent, nous pouvions découvrir les problèmes survenus plus tard que nous aurions pu, et la décision a été prise de développer un tel système pour l'entreprise.

Processus

Actuellement, nous entrons dans la deuxième phase de développement (au-delà du MVP). À ce jour, nous pouvons mettre en évidence les étapes suivantes :

Phase 1 : Novembre 2022 – Décembre 2023

Développement MVP : Renouveler l'application web existante. L'équipe a dû développer un nouveau design UI/UX à partir de zéro et affiner tous les modules dont l'application était composée.

Phase 1.1 : Janvier 2024 – Mars 2024

Depuis le début de l'année 2024, plusieurs améliorations ont été apportées. Parallèlement à de nombreuses améliorations UI et au refactoring du code, voici les changements sur lesquels l'équipe a travaillé pendant la Phase 1.1 sur une période de trois mois :

  • Ajout de la possibilité de copier la métrique au sein d'un même service
  • Ajout des résultats de vérification des métriques dans les notifications par email
  • Suppression du rôle "Administrateur de projet responsable" du modèle de Projet
  • Suppression des types de service et du champ URL/IP du modèle de Service
  • Mises à jour liées à la migration vers Identity Server v.

La phase deux est à venir. L'ensemble du périmètre n'a pas encore été clarifié, mais il inclura certainement des améliorations UI, la possibilité de rendre les colonnes visibles/invisibles, l'implémentation du protocole SNMP pour la vérification des métriques, et d'autres fonctionnalités, notamment :

  • Implémentation des notifications Telegram
  • Analyse des sites internes pour les liens cassés
  • Gestion des groupes d'utilisateurs

Pendant les 6 premiers mois du projet, l'équipe utilisait la méthodologie Scrum (sprints de 2 semaines). Ensuite, nous avons décidé d'utiliser la méthodologie Kanban. Cette méthodologie était plus pratique en raison de la disponibilité changeante de l'équipe de développement. Nous avons conservé certains éléments Scrum (réunions quotidiennes, rétrospectives)

Tout au long des phases, l'équipe a toujours recherché des améliorations dans le workflow utilisateur et l'UI. Cela a abouti à une UI beaucoup plus conviviale qu'initialement.

Nous aurions pu livrer le MVP plus tôt. Raison : l'équipe était constamment en sous-effectif pendant la phase de test car les membres travaillaient sur des projets externes. Mais finalement, nous nous sommes rapidement préparés pour la sortie grâce au solide QA qui a rejoint notre équipe.

Solution

Construire un système web interne qui inclut des fonctions simples de surveillance de l'infrastructure IT avec la possibilité d'envoyer des alertes en cas de problème et un ensemble de fonctionnalités. Voici une brève description de celles-ci.

Module Un : Projet

Le projet est l'objet principal du système. Le projet contient plusieurs services, et le service contient des métriques qui doivent être vérifiées. Cette hiérarchie peut être utile pour diviser le nombre considérable de métriques.

Dans la grille des projets, l'utilisateur peut rapidement observer l'état de tous les objets dans l'ensemble – chaque projet hérite du statut des services qu'il contient.

Le module comprend :

  • Voir tous les projets dans une grille
  • Filtrer et trier les informations dans les colonnes de la grille
  • Filtrer la grille par projets favoris et tous les projets
  • Ajuster la largeur des colonnes et définir la largeur par défaut
  • Voir le statut du projet

De plus, on peut évidemment effectuer des opérations CRUD sur les projets et spécifier les informations du projet dans les commentaires.

Fonctionnalité : Paramètres des Membres

Les administrateurs accordent l'accès aux projets aux utilisateurs du serveur d'identité via cette fonctionnalité.

Ici, on peut gérer une liste de membres, y compris voir tous les membres dans une grille, filtrer les informations dans les colonnes de la grille et ajuster la largeur de ces colonnes. Les administrateurs peuvent ajouter et supprimer des membres, ainsi que modifier leurs rôles. En même temps, l'administrateur n'a pas besoin de créer un compte ; il doit simplement sélectionner la personne dans le menu déroulant et lui attribuer un rôle de projet.

Fonctionnalité : Paramètres des Groupes

C'est une opportunité de diviser une large gamme de services en plusieurs groupes sur n'importe quelle base. Cette fonctionnalité permet de faire exactement cela. Les paramètres de groupe permettent d'activer ou de désactiver les notifications pour les services. L'utilisateur peut sélectionner un destinataire spécifique de notification parmi les membres du projet.

Fonctionnalité : Services

Chaque projet peut avoir plusieurs services à surveiller. Cette fonctionnalité permet d'observer facilement les informations générales, le statut et les groupes des services. Elle aide à contrôler la réception des notifications et ajoute une fonctionnalité pour filtrer une large gamme de services par groupe.

Fondamentalement, cette fonctionnalité permet de voir les services dans une grille, de filtrer et trier les informations dans les colonnes de la grille, et d'assigner des services aux groupes.

Fonctionnalité : Liste de Contrôle des Métriques

L'utilisateur peut ajouter et surveiller diverses métriques liées au service. L'administrateur peut définir le planning de vérification une fois puis recevoir des notifications en cas de problème ou vérifier une ou toutes les métriques manuellement pour voir les dernières mises à jour.

Les utilisateurs peuvent copier les métriques existantes et les renommer.

Fonctionnalité : Statistiques en Vue Tableau

La vue tableau des statistiques aide à observer la dynamique des vérifications de métriques en détail sous forme de tableau. L'utilisateur peut filtrer les données statistiques par statut ou déclencheur, il peut donc tirer des conclusions spécifiques basées sur les données retournées.

Fonctionnalité : Statistiques en Vue Graphique

La représentation graphique des statistiques aide à observer la dynamique des résultats de vérification des métriques, particulièrement sur une longue période. L'utilisateur peut voir à quelle fréquence les résultats ont atteint les valeurs seuils si elles ont été spécifiées.

Notifications

Avec les notifications, l'utilisateur est averti des événements dans le système à temps, particulièrement des problèmes avec les métriques. Cela aide à prendre des mesures pour éliminer les problèmes le plus rapidement possible. Les notifications in-app et par email sont activées, les notifications Telegram seront disponibles dans les versions futures.

Module Deux : Utilisateurs

Un utilisateur avec un accès suffisant (rôle administrateur) peut voir tous les utilisateurs qui ont accès au système sur une page. Dans les détails utilisateur, l'administrateur peut trouver des informations générales sur l'utilisateur et les projets qui lui sont liés (nom, email, rôle). Cela aide à comprendre comment cet utilisateur a obtenu l'accès au système.

Module Trois : Paramètres

L'administrateur peut contrôler la synchronisation avec le serveur d'identité, ainsi l'application récupère les dernières informations sur les utilisateurs. Les synchronisations manuelles et automatisées sont disponibles.

Résultats

Maintenant, les administrateurs Elinext sont conscients des problèmes avec les serveurs et autres infrastructures dès leur apparition. Tous les problèmes peuvent être résolus immédiatement, nous ne sommes donc pas inquiets d'une potentielle panne de courant ou d'une autre calamité de ce genre. Les conséquences d'une panne réseau ne bloquent plus le travail des employés Elinext dans la mesure où cela était le cas ou aurait pu l'être.

Des travaux sont en cours sur l'amélioration du système, et ses futures versions sont en développement.

1-2-png-7
2-2-png-7
3-2-png-4
4-1-png-9
5-1-png-9
6-1-png-8
7-1-png-8
8-1-png-7
9-1-png-5
10-1-png-6
Voulez-vous le même projet?
Vous Avez une Idée de Projet? Discutons-en Ensemble
Contactez-Nous