cse47122
3 years ago
1 changed files with 201 additions and 0 deletions
@ -0,0 +1,201 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
|
||||
|
<head> |
||||
|
<meta charset="UTF-8"> |
||||
|
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=edge"><![endif]--> |
||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
|
<meta name="generator" content="Asciidoctor 1.5.4"> |
||||
|
<title>Data Collector Service</title> |
||||
|
<link rel="stylesheet" href="https://asciidoclive.com/assets/asciidoctor.js/css/asciidoctor.css"> |
||||
|
</head> |
||||
|
|
||||
|
<body class="article"> |
||||
|
<div id="header"> |
||||
|
<div id="toc" class="toc"> |
||||
|
<div id="toctitle">Table of Contents</div> |
||||
|
<ul class="sectlevel1"> |
||||
|
<li><a href="#__strong_data_collector_service_strong"><strong>Data Collector Service</strong></a></li> |
||||
|
<li><a href="#__strong_strong"><strong>Προαπαιτούμενα</strong></a></li> |
||||
|
<li><a href="#__strong_strong_2"><strong>Μέρος Πρώτο</strong></a></li> |
||||
|
<li><a href="#__strong_strong_3"><strong>Δέυτερο Μέρος</strong></a></li> |
||||
|
<li><a href="#__strong_strong_4"><strong>Τρίτο μέρος</strong></a></li> |
||||
|
<li><a href="#__strong_link_strong"><strong>Link για τα αρχεία</strong></a></li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div id="content"> |
||||
|
<div class="sect1"> |
||||
|
<h2 id="__strong_data_collector_service_strong"><strong>Data Collector Service</strong></h2> |
||||
|
<div class="sectionbody"> |
||||
|
<div class="paragraph"> |
||||
|
<p>Καρύδης Πέτρος 711141245</p> |
||||
|
</div> |
||||
|
<div class="paragraph"> |
||||
|
<p>Ματέο Ρουμπάτι 71347122</p> |
||||
|
</div> |
||||
|
<div class="paragraph"> |
||||
|
<p>Ευθύμης Σδράκας 71346681</p> |
||||
|
</div> |
||||
|
<div class="paragraph"> |
||||
|
<p>To project "Data collector service" αποτελεί τη βασική επιλογή για την |
||||
|
εξέταση του εργαστηρίου και χωρίζεται σε 3 ενότητες:</p> |
||||
|
</div> |
||||
|
<div class="ulist"> |
||||
|
<ul> |
||||
|
<li> |
||||
|
<p><strong>Πρώτη</strong></p> |
||||
|
<div class="ulist"> |
||||
|
<ul> |
||||
|
<li> |
||||
|
<p>Δημιουργία δικτύου</p> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>Αυτόματη εγκατάσταση προγράμματος για την συλλογή των δεδομένων</p> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>onEvent - τοπική/προσωρινή αποθήκευση των δεδομένων</p> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p><strong>Δεύτερη</strong></p> |
||||
|
<div class="ulist"> |
||||
|
<ul> |
||||
|
<li> |
||||
|
<p>Δημιουργία βάσης δεδομένων(Database replication)</p> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>onEvent αποθήκευση των δεδομένων στην βάση</p> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p><strong>Τρίτη</strong></p> |
||||
|
<div class="ulist"> |
||||
|
<ul> |
||||
|
<li> |
||||
|
<p>Δημιουργία GUI ή</p> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>Δημιουργία Websocket σύνδεσης με την βάση ή με τις βασικές υπηρεσίες |
||||
|
για άμεση μεταφορά των δεδομένων</p> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="sect1"> |
||||
|
<h2 id="__strong_strong"><strong>Προαπαιτούμενα</strong></h2> |
||||
|
<div class="sectionbody"> |
||||
|
<div class="ulist"> |
||||
|
<ul> |
||||
|
<li> |
||||
|
<p><a href="https://uniwagr-my.sharepoint.com/personal/ice19390012_uniwa_gr/_layouts/15/onedrive.aspx?id=%2Fpersonal%2Fice19390012_uniwa_gr%2FDocuments%2Fimages%2Fgeneric%2Eqcow2&parent=%2Fpersonal%2Fice19390012_uniwa_gr%2FDocuments%2Fimages&originalPath=aHR0cHM6Ly91bml3YWdyLW15LnNoYXJlcG9pbnQuY29tLzp1Oi9nL3BlcnNvbmFsL2ljZTE5MzkwMDEyX3VuaXdhX2dyL0ViaGpRSWVpRGVORmtma1NCV2N6UmdnQmNKcTJQdjZsQUpzLU5La1Q0aFhnLWc_cnRpbWU9eXhGbk9lb3AyVWc" |
||||
|
target="_blank">Linux Ubuntu 20.04.2 LTS</a></p> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p><a href="https://www.fluentd.org/download" target="_blank">Fluentd</a></p> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p><a href="https://www.ansible.com/" target="_blank">Ansible</a></p> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="sect1"> |
||||
|
<h2 id="__strong_strong_2"><strong>Μέρος Πρώτο</strong></h2> |
||||
|
<div class="sectionbody"> |
||||
|
<div class="paragraph"> |
||||
|
<p>Στο πρώτο μέρος για την δημιουργία του δικτύου χρησιμοποίησαμε το εικόνικό |
||||
|
εργαστήριο hybrid-linux από το <a href="http://localhost:3088/" target="_blank">Swarmlab</a>.</p> |
||||
|
</div> |
||||
|
<div class="paragraph"> |
||||
|
<p><span class="image"><img src="https://i.imgur.com/U0D4UxL.png" alt="U0D4UxL"></span></p> |
||||
|
</div> |
||||
|
<div class="paragraph"> |
||||
|
<p>docker exec -it -udocker hybrid-linux_master_1 /bin/bash // Συνδεόμαστε |
||||
|
στο master του swarm</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="sect1"> |
||||
|
<h2 id="__strong_strong_3"><strong>Δέυτερο Μέρος</strong></h2> |
||||
|
<div class="sectionbody"> |
||||
|
<div class="paragraph"> |
||||
|
<p>Για την υλοποίση του δέυτερου μέρους ανοίγουμε ξανά μέσα από το swarmlab |
||||
|
ένα εικονικό εργαστήριο για τη mongoDB.</p> |
||||
|
</div> |
||||
|
<div class="paragraph"> |
||||
|
<p>Τρέχουμε το makefile δίνοντας make στο terminal όπου θα εγκαταστήσει σε |
||||
|
όλες τις εικονικές μηχανές του δικτύου τα απαραίτητα προγράμματα που |
||||
|
χρειάζονται για την υλοποίηση του data collection, καθώς και το config-update |
||||
|
το οποίο βοηθάει στη διασύνδεση των κόμβων με τη mongoDB.</p> |
||||
|
</div> |
||||
|
<div class="paragraph"> |
||||
|
<p><span class="image"><img src="https://i.imgur.com/nr9olNX.png" alt="nr9olNX"></span> docker exec -it swarmlabmongo1 /bin/sh // Συνδεόμαστε στη mongoDB</p> |
||||
|
</div> |
||||
|
<div class="paragraph"> |
||||
|
<p>Αφού συνδεθούμε μέσω του terminal στη mongo χρησιμοποιούμε τις παρακάτω |
||||
|
εντολές για να προσπελάσουμε την βάση:</p> |
||||
|
</div> |
||||
|
<div class="ulist"> |
||||
|
<ul> |
||||
|
<li> |
||||
|
<p>mongo</p> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>use app_swarmlab</p> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>db.auth('/app_swarmlab', '/app_swarmlab')</p> |
||||
|
</li> |
||||
|
</ul> |
||||
|
</div> |
||||
|
<div class="admonitionblock note"> |
||||
|
<table> |
||||
|
<tr> |
||||
|
<td class="icon"> |
||||
|
<div class="title">Note</div> |
||||
|
</td> |
||||
|
<td class="content"> |
||||
|
Για τη σύνδεση της βάσης και του σμήνους συνδέσαμε το δίκτυο "χειροκίνητα" μέσα απο |
||||
|
το swarmlab και όχι μέσω microservice με nodejs. |
||||
|
</td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
</div> |
||||
|
<div class="paragraph"> |
||||
|
<p>Στη συνέχεια για να ελέγξουμε αν η σύνδεση με τη βάση λειτουργεί τρέχουμε |
||||
|
ένα απο τα αρχεία test-mongo που έχουμε δημιουργήσει.Έπειτα αφού τα τρέξουμε |
||||
|
πηγαίνουμε στη βάση και τρέχουμε την εντολή <strong>db.logs.find({}).sort( { _id: -1 } )</strong> για να δούμε αν έχουν γίνει οι εγγραφές μέσα στη βάση.</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="sect1"> |
||||
|
<h2 id="__strong_strong_4"><strong>Τρίτο μέρος</strong></h2> |
||||
|
<div class="sectionbody"> |
||||
|
<div class="paragraph"> |
||||
|
<p>Λόγω περιορισμένου χρόνου δεν καταφέραμε να υλοποιήσουμε το τρίτο μέρος |
||||
|
της εργασίας.</p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="sect1"> |
||||
|
<h2 id="__strong_link_strong"><strong>Link για τα αρχεία</strong></h2> |
||||
|
<div class="sectionbody"> |
||||
|
<div class="paragraph"> |
||||
|
<p><a href="https://git.swarmlab.io:3000/cse47122/DATACENTER.git" class="bare">https://git.swarmlab.io:3000/cse47122/DATACENTER.git</a></p> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</body> |
||||
|
|
||||
|
</html> |
Loading…
Reference in new issue