# Data_collector_service **Λειτουργίες που υλοποιήθηκαν:** 1. Δημιουργία Δικτύου 2. Αυτόματη Εγκατάσταση προγράμματος για τη συλλογή δεδομένων 3. onEvent – local/προσωρινή αποθήκευση δεδομένων 4. Δημιουργία ΒΔ (Database Replication) 5. onEvent αποθήκευση δεδομένων στη βάση αυτή ## 1. Δημιουργία Δικτύου Μέσω της εφαρμογής swarmlab-Hybrid έχουμε την δυνατότητα απο να χρησιμοποιήσουμε το swarmlab-linux εργαστήριο.Από εκεί μπορούμε δημιουργήσουμε ένα σμήνος και πιο συγκεκριμένα να σηκώσουμε όσα μηχανάκια θέλουμε.Έτσι έχουμε ένα σμήνος από 1 master και Ν workers. **Σύνδεση στον Master ή σε κάποιον Worker** Μέσα απο την εφαρμογή μας, στην καρτέλα με τα Containers μπορούμε να συνδεθούμε στον master ή σε οποιονδήποτε worker θέλουμε πατόντας στην λειτουργία Actions και αντιγράφοντας την εντολή που μας δίνεται από το μήνυμα που εμφανίζεται(με pop-up λειτουργία) και εκτελόντας την σε ένα terminal. ## 2. Αυτόματη Εγκατάσταση προγράμματος για τη συλλογή δεδομένων Μέσα στον κατάλογο fluentd υπάρχουν τα απαραίτητα αρχεία για την δημιουργία και την εγκατάσταση του Fluentd. Το Fluentd είναι το εργαλείο που μας δίνει την δυνατότητα να συλέγουμε δεδομένα απο υπολογιστές και να τα επεγεργαζόμαστε, να τα αποθηκεύουμε σε μία βάση ή ότι άλλο εμείς χρειαζόμαστε. Δύο πολύ σημαντικά αρχεία στον fluentd κατάλογο είναι το invetory.yml το οποίο κρατάει όλες τις ip διευθύνσεις απο τα μηχανάκια που σηκώσαμε, και το fluentd.yml όπου στην ουσία είναι η Ansible δηλαδή εκεί έχουμε όλα τα tasks που θέλουμε και χρειαζόμαστε.Για την εγκατάσταση του Fluentd θα χρειαστεί να τρέξουμε το αρχείο fluentd.yml.sh το οποίο συμπεριλαμβάνει και τα δύο αρχεία που αναφέρθηκαν. ## 3. onEvent – local/προσωρινή αποθήκευση δεδομένων Κατά την συνδεσή μας σε κάποιον από τους workers μπορούμε να δημιουργήσουμε έναν φάκελο στον οποίο εκεί θα γίνει η προσωρινή αποθήκευση των δεδομένων.Κάνοντας κάποιες αλλαγές μέσα στον φάκελο αυτό (π.χ echo "Cloud experiment" >> var/log-in/myDir/myFile) θα παρατηρήσουμε μετά απο κάποιο χρονικό διάστημα τις αλλαγές που έχουν γίνει στον φάκελο /tmp/mylog/... Έτσι καταλαβαίνουμε εάν γίνεται σωστά η προσωρινή αποθήκευση τών δεδομένων. ## 4. Δημιουργία ΒΔ (Database Replication) Μέσα απο την εφαρμογή μας στην καρτέλα Storage εκκινούμε την βάση μας. Πατάμε την επιλογή Status και σηκώνουμε την storage-mongo-replica. Έπειτα θα χρειαστεί να συνδέσουμε την βάση μας με το σμήνος που δημιουργήσαμε. Γία να γίνει αυτό θα πρέπει για κάθε μηχανάκι που έχουμε σηκώσει να το συνδέσουμε με το δίκτυο της storage mongo replica. Για την σύνδεση μας με την βάση μέσω του terminal θα χρειαστεί να εκτελέσουμε τις ακόλουθες εντολές: 1) mongo 2) use app_swarmlab 3) db.auth('app_swarmlab','app_swarmlab') και περιμένουμε να μας βγάλει την τιμή 1. ## onEvent αποθήκευση δεδομένων στη βάση αυτή