Data Collector Service

Καρύδης Πέτρος 711141245

Ματέο Ρουμπάτι 71347122

Ευθύμης Σδράκας 71346681

To project "Data collector service" αποτελεί τη βασική επιλογή για την εξέταση του εργαστηρίου και χωρίζεται σε 3 ενότητες:

  • Πρώτη

    • Δημιουργία δικτύου

    • Αυτόματη εγκατάσταση προγράμματος για την συλλογή των δεδομένων

    • onEvent - τοπική/προσωρινή αποθήκευση των δεδομένων

  • Δεύτερη

    • Δημιουργία βάσης δεδομένων(Database replication)

    • onEvent αποθήκευση των δεδομένων στην βάση

  • Τρίτη

    • Δημιουργία GUI ή

    • Δημιουργία Websocket σύνδεσης με την βάση ή με τις βασικές υπηρεσίες για άμεση μεταφορά των δεδομένων

Προαπαιτούμενα

Μέρος Πρώτο

Στο πρώτο μέρος για την δημιουργία του δικτύου χρησιμοποίησαμε το εικόνικό εργαστήριο hybrid-linux από το Swarmlab.

U0D4UxL

docker exec -it -udocker hybrid-linux_master_1 /bin/bash // Συνδεόμαστε στο master του swarm

Δέυτερο Μέρος

Για την υλοποίση του δέυτερου μέρους ανοίγουμε ξανά μέσα από το swarmlab ένα εικονικό εργαστήριο για τη mongoDB.

Τρέχουμε το makefile δίνοντας make στο terminal όπου θα εγκαταστήσει σε όλες τις εικονικές μηχανές του δικτύου τα απαραίτητα προγράμματα που χρειάζονται για την υλοποίηση του data collection, καθώς και το config-update το οποίο βοηθάει στη διασύνδεση των κόμβων με τη mongoDB.

nr9olNX docker exec -it swarmlabmongo1 /bin/sh // Συνδεόμαστε στη mongoDB

Αφού συνδεθούμε μέσω του terminal στη mongo χρησιμοποιούμε τις παρακάτω εντολές για να προσπελάσουμε την βάση:

  • mongo

  • use app_swarmlab

  • db.auth('/app_swarmlab', '/app_swarmlab')

Note
Για τη σύνδεση της βάσης και του σμήνους συνδέσαμε το δίκτυο "χειροκίνητα" μέσα απο το swarmlab και όχι μέσω microservice με nodejs.

Στη συνέχεια για να ελέγξουμε αν η σύνδεση με τη βάση λειτουργεί τρέχουμε ένα απο τα αρχεία test-mongo που έχουμε δημιουργήσει.Έπειτα αφού τα τρέξουμε πηγαίνουμε στη βάση και τρέχουμε την εντολή db.logs.find({}).sort( { _id: -1 } ) για να δούμε αν έχουν γίνει οι εγγραφές μέσα στη βάση.

Τρίτο μέρος

Λόγω περιορισμένου χρόνου δεν καταφέραμε να υλοποιήσουμε το τρίτο μέρος της εργασίας.