diff --git a/README.md b/README.md index be3e160..b43d1f0 100644 --- a/README.md +++ b/README.md @@ -1,124 +1,3 @@ # System and Service Monitoring and Analysis in a Cloud Environment with Services based on Containers -## Requirements to run -1. Docker -2. Npm - node -3. Vue CLI - -## Installation Process - -``` -git clone -cd Thesis -chmod 700 install.sh -./install.sh -``` - -## Run Web-client - -``` -./runw.sh -``` - -## Run the rest services - -``` -docker-compose up -``` - -...and you are done. - -### You can access the web-client on and monitor some logs: - -> http://localhost:8080 - -## Add your own Service to the system - -All you have to do is add it to the docker-compose file or run it afterwords with a simple docker run command. You need to configure the logging driver though. Example: - -``` -docker run --network="thesis_playground-net" --log-driver=fluentd --log-opt tag="mongo.node3" -p 3003:3001 dummyservice -``` - -You will need to mention a tag as "mongo.whateveryouwant" to be able to see your logs. If your service is a **mongoDB**, a **nodejs** app, or a **redis** you can pick the right tag so you can see your logs. Tags that are already known to the app are "mongo.node", "mongo.redis", "mongo.mongodb" - -## IMPORTANT if you run this localy. - -For the web-client to run you will need to visit https://api-login.swarmlab.io:8089/ and login with your credentials so you will get a token. The token is visible in the url after your login. - -Then, you will need to copy the url and paste it into the file runLlo.vue, which is into playground-client/src/components/doclive/ - -The line of code that needs to be replaced is the line 626 where you can see a url string. Replace it with your url and save it. The project will refresh and now you will be able to use the web-client. - -## Ansible Deployment for Swarlab-Hybrid (not finished) - -An extra deployment method is currently under development so the files: - -``` -mongo.yml - -monitorall.yml.sh - -node.yml - -inventory.yml -``` - -are to be ignored completely at the moment. - -# Important files (in greek) - -## **Playground-client** - -Αρχικά, πρόκειται για ένα σχετικά βασικό vue.js project. Οπότε η κατανόηση του κώδικα απαιτεί μία τυπική γνώση της δομής ενός vue αρχείου. - -> ### playground-client/src/components/runLlo.vue - -Component που ασχολείται με την τύπωση των logs on-event. Ο κώδικας ειναι σχολιασμένος. - -> ### playground-client/src/components/AdhocView.vue - -Component που ασχολείται με την τύπωση των logs στο στάδιο της ευρετηρίασης και του διαγράμματος. Ο κώδικας είναι σχολιασμένος. - -## **readmongo** - -Project γραμμένο σε node.js/express.js - -> ### readmongo/swarmlab-app/src/run/app.js - -Βασικό αρχείο που τρέχει κατά την εκτέλεση του server. Όλες οι σόκετ συνδέσεις και τα api-endpoints είναι γραμμένα εδώ. Ο κώδικας περιέχει αρκετά σχόλια για μελέτη. - -## **WriteToMongo** - -Project που χρησιμοποιεί το εργαλείο fluentd - -> ### WriteToMongo/fluent/fluent.conf - -Βασικό αρχείο που διαχειρίζεται τα logs που του έρχονται. Χρειάζεται μελέτη του documentation για την πλήρη κατανόηση της διαχείρισης που γίνεται. - -## **dummyservice** - -"Χαζό" μικρό node.js project με κάποια απλά api endpoints, για την παραγωγή test logs. Έχει το ίδιο structure με το readmongo service. - -# Containers και Πορτες (ports) - -## Redis - 6379 - -Ακούει στην πόρτα 6379 και το όνομα του container που λαμβάνει μετά την εκτέλεση του docker-compose είναι το "redisserver" - -## MongoDB - 27017 - -Ακούει στην πόρτα 27017 και το όνομα του container είναι "mongo" - -## Fleuntd - 24224 - -Ακούει στην πόρτα 24224 και το όνομα του container που λαμβάνει είναι "fluentd" - -## Server γραμμένος σε node.js - 3000 - -Ακούει στην πόρτα 3000 και το όνομα του container είναι readmongo_service - -## Χαζό service -3001 - -Ακούει στην πόρτα 3001 και το όνομα του container είναι dummy_service