lefteris 3 years ago
parent
commit
7933feed48
  1. 53
      README.md
  2. 2
      playground-client
  3. 2
      readmongo

53
README.md

@ -1,23 +1,28 @@
# System and Service Monitoring and Analysis in a Cloud Environment with Services based on Containers
## Requirements
## Requirements to run
1. Docker
2. Npm - node
3. Vue CLI
## Installation Process
```
git clone <insert_git_project_url>
cd Thesis
chmod 700 install.sh
./install.sh
```
## Run Web-client
```
./runw.sh
```
## Run the rest services
```
docker-compose up
```
@ -25,10 +30,13 @@ docker-compose up
...and you are done.
### You can access the web-client on and monitor some logs:
>http://localhost:8080
> 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
```
@ -36,14 +44,17 @@ docker run --network="thesis_playground-net" --log-driver=fluentd --log-opt tag=
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.mongo"
## 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 690 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.
The line of code that needs to be replaced is the line 793 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
@ -53,9 +64,39 @@ node.yml
inventory.yml
```
are to be ignored completely at the moment.
## Important files for those who are interested
# 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**
### Playground-client
First of all, the web-client is a basic vue.js project.
"Χαζό" μικρό node.js project με κάποια απλά api endpoints, για την παραγωγή test logs.

2
playground-client

@ -1 +1 @@
Subproject commit 1abf5ff1b2cc53fd25c04f5da828d402fe2a9f9a
Subproject commit b4a7b10f7ee7920d2c90462b26f4d803c0ff79f9

2
readmongo

@ -1 +1 @@
Subproject commit 52f1d220cad947877b771e13d297b397c56ca596
Subproject commit 02cf747a1ed2a6ec34ff75f6643543e44d8d837d
Loading…
Cancel
Save