Data Collector Service
Καρύδης Πέτρος 711141245
Ματέο Ρουμπάτι 71347122
Ευθύμης Σδράκας 71346681
To project "Data collector service" αποτελεί τη βασική επιλογή για την εξέταση του εργαστηρίου και χωρίζεται σε 3 ενότητες:
-
Πρώτη
-
Δημιουργία δικτύου
-
Αυτόματη εγκατάσταση προγράμματος για την συλλογή των δεδομένων
-
onEvent - τοπική/προσωρινή αποθήκευση των δεδομένων
-
-
Δεύτερη
-
Δημιουργία βάσης δεδομένων(Database replication)
-
onEvent αποθήκευση των δεδομένων στην βάση
-
-
Τρίτη
-
Δημιουργία GUI ή
-
Δημιουργία Websocket σύνδεσης με την βάση ή με τις βασικές υπηρεσίες για άμεση μεταφορά των δεδομένων
-
Προαπαιτούμενα
Μέρος Πρώτο
Στο πρώτο μέρος για την δημιουργία του δικτύου χρησιμοποίησαμε το εικόνικό εργαστήριο hybrid-linux από το Swarmlab.
docker exec -it -udocker hybrid-linux_master_1 /bin/bash // Συνδεόμαστε στο master του swarm
Δέυτερο Μέρος
Για την υλοποίση του δέυτερου μέρους ανοίγουμε ξανά μέσα από το swarmlab ένα εικονικό εργαστήριο για τη mongoDB.
Τρέχουμε το makefile δίνοντας make στο terminal όπου θα εγκαταστήσει σε όλες τις εικονικές μηχανές του δικτύου τα απαραίτητα προγράμματα που χρειάζονται για την υλοποίηση του data collection, καθώς και το config-update το οποίο βοηθάει στη διασύνδεση των κόμβων με τη mongoDB.
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 } ) για να δούμε αν έχουν γίνει οι εγγραφές μέσα στη βάση.
Τρίτο μέρος
Λόγω περιορισμένου χρόνου δεν καταφέραμε να υλοποιήσουμε το τρίτο μέρος της εργασίας.