Git Product home page Git Product logo

mspr2's Introduction

MSPR2 - Solution de Surveillance et de Télémaintenance

Objectifs

Ce projet vise à mettre en œuvre une solution complète de surveillance et de télémaintenance des systèmes informatiques à travers deux sous-composants principaux :

  • L'Harvester : un client qui collecte des métriques des machines clientes de manière sécurisée.
  • Le Nester : un serveur qui supervise les clients et facilite la télémaintenance.

Architecture

Harvester (Client)

Le Harvester est responsable de la collecte des métriques système à l'aide de Prometheus et de node_exporter. Il utilise également remote_write pour centraliser les données dans une base de données TimeScaleDB/Postgres12.

Fonctionnalités principales

  • Collecte de métriques avec Prometheus.
  • Télémaintenance avec VNC et ShellInABox pour l'accès distant et sécurisé.

Nester (Serveur)

Le Nester fournit une interface web pour la supervision des Harvesters et réalise la télémaintenance grâce à l'intégration de services comme Grafana et NoVNC.

Fonctionnalités principales

  • Supervision des Harvesters via des tableaux de bord Grafana.
  • Interface web avec Flask pour le contrôle et la supervision.
  • Intégration de NoVNC pour l'accès VNC dans le navigateur.

Configuration et Déploiement

Les deux sous-systèmes utilisent Ansible pour automatiser le déploiement et la configuration des services nécessaires. Chaque sous-système comprend des playbooks Ansible spécifiques qui gèrent l'installation, la configuration, et le lancement des services.

Harvester

  • Répertoire prometheus_ansible/ pour la configuration de Prometheus et node_exporter.
  • Répertoire novnc_ansible/ pour la configuration de NoVNC et VNC.
  • Script install_prometheus.sh et install_novnc.sh pour l'installation automatique.

Nester

  • Répertoire grafana_ansible/ pour l'installation de Grafana.
  • Répertoire nester_ansible/ pour le déploiement de l'interface web Flask et l'intégration de NoVNC.
  • Script install_grafana.sh et install_nester.sh pour l'installation automatique.

Intégration avec TimescaleDB

Pour une gestion efficace et performante des données de métriques collectées par Prometheus, TimescaleDB est configuré pour fonctionner de concert avec ce dernier. Le processus d'installation et de configuration détaillé est disponible dans le fichier SGDB.md.

Résumé de l'installation

  • Installation de TimescaleDB sur un serveur PostgreSQL.
  • Configuration pour accepter les connexions Prometheus.
  • Installation de l'adaptateur Prometheus pour TimescaleDB.

Résumé des Ports Utilisés

  • Harvester : Ports 9090 (Prometheus), 9100 (Node Exporter), 6082 (NoVNC), 6175 (ShellInABox), 5902 (VNC).
  • Nester : Ports 3000 (Grafana), 6080 (NoVNC), 8080 (interface web), 5000 (reverse TCP pour Flask).
  • SGDB : Ports 5432 (TimeScalesPG), 9201 (Adaptateur)

Comment Contribuer

Les contributions sont bienvenues ! Veuillez consulter les fichiers README.md individuels des sous-projets pour plus de détails sur le développement et la configuration.


Pour plus d'informations sur le déploiement, la configuration, et l'utilisation des différents services et outils, veuillez vous référer aux README.md de chaque sous-repo ainsi que le fichier SGDB.md

mspr2's People

Contributors

cfo-clement avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.