-
Notifications
You must be signed in to change notification settings - Fork 0
Uruchamianie Projektu
Do zbudowania i uruchomienia projektu wymagana jest Java JDK w wersji co najmniej 1.7 oraz Maven:
- Java jdk 1.7 - http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
- Maven - http://maven.apache.org/
Do uruchomienia klienta desktopowego potrzebny jest interpreter Python w wersji conajmniej 2.7 wraz z modułami wxPython (testowane w wersji 2.8.12.11) oraz Twisted (testowane w wersji 13.2.0):
- Python - https://www.python.org/download/releases/2.7.6
- wxPython - http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/
- Twisted - http://twistedmatrix.com/Releases/Twisted/13.2/
- Zope - https://pypi.python.org/pypi/zope.interface/3.6.7/ (biblioteka zainstaluje się sama w przypadku instalacji przy pomocy pip)
- PyWin32 - http://sourceforge.net/projects/pywin32/files/pywin32/Build%20219/ (tylko w przypadku instalacji na systemie windows, Uwaga: Należy ją zainstalować niezależnie od wersji systemu!!!)
Jak uruchamiać:
- Zbudować projekt:
mvn installw katalogu głównym - Uruchomić katalog:
java -jar DSM-catalogue-1.0-SNAPSHOT.jarw kataloguDSM-catalogue/target - Uruchomienie Monitora:
- Monitor z mockową wersja sensora:
- Uruchomić monitor:
mvn install spring-boot:run -Dspring.profiles.active="mockComponents"w kataloguDSM-monitor
- Uruchomić monitor:
- Monitor bez mocków:
- Uruchomić monitor:
java -jar DSM-monitor-1.0-SNAPSHOT.jarw kataloguDSM-monitor/target - (Opcjonalnie) Uruchomić sensor: Opisane niżej
- Uruchomić monitor:
Domyślna konfiguracja serwerów opisana jest tutaj. Można ustawić inne wartości parametrów dodając przy uruchomieniu opcję -D<nazwa parametru>=<wartość parametru>, np. java -jar DSM-monitor-1.0-SNAPSHOT.jar -Dserver.port=8085.
Jak sprawdzić czy działa?
- Po logach monitora
- co kilka sekund powinna pojawiać się informacja o dodanej danej pomiarowej
- wejść na http://localhost:8080/measurements.json
- powinny być jakieś pomiary. Pomiary powinny mieć poprawne linki "self" i "data"
- wejść na http://localhost:8081/measurements.json
- powinny być jakieś pomiary, pomiary powinny mieć linki "details"
- wejść na link "details" z wybranego pomiaru z powyższego kroku.
- link powinien działać, powinny pojawić się informacje o tym pomiarze
- wejść na link "data" z wybranego pomiaru z powyższego kroku.
- link powinien działać, powinny pojawić się dane pomiarowe
- co jakiś czas wartości powinny być dodawane / aktualizowane
- wejść na http://localhost:8080/resources.json
- powinny być jakieś zasoby. Zasoby powinny mieć link "measurements"
- to samo dla http://localhost:8081/resources.json
Co działa:
- całe rest api katalogu, działają linki, działa filtrowanie
- monitor - pobieranie listy, szczegółów i danych pomiarów prostych, lista zasobów. Działają linki, działa filtrowanie
- komunikacja Monitor -> Katalog
- komunikacja Sensor -> Monitor
- obsługa pomiarów złożonych
- sprawdzanie czy sensor padł
Jak uruchamiać:
- Zbudować projekt:
mvn installw katalogu DSM-sensor - (w Windowsach) skopiować pliki
sigar-x86-winnt.dllisigar-amd64-winnt.dllz kataloguDSM-sensor\target\artifacts\distrib\libdoDSM-sensor\target\artifacts\distrib\bin - Przejść do katalogu
DSM-sensor\target\artifacts\distrib\bin - Uruchomić sensor:
- Windows:
sensor.bat <monitor address> <resource name> <metric> <delay ms> - Linux:
./sensor.sh <monitor address> <resource name> <metric> <delay ms>
- Windows:
Sensor wspiera uruchomienie z kilkoma metrykami na raz (ie.: ./sensor.sh <monitor address> <resource name> <metric1> <delay1 ms> <metric2> <delay2 ms> ...) albo można też uruchamiać nowe metryki jako nowe sensory.
Parametry:
-
<monitor adress>: adres monitora do którego mają zostać wysłane pomiary. Obecnie jest to 127.0.0.1:9000. Patrzudp.client.portw Konfiguracji Modułów -
<resource name>: nazwa zasobu. Należy podać dowolną nazwę. W założeniu sensory odpalane na tej samej maszynie powinny mieć tą samą nazwę. -
<metric>: nazwa metryki - rodzaj pomiaru, który sensor ma wykonywać. To musi być jedna z dostępnych metryk - lista poniżej. -
<delay ms>: długość odstępu pomiędzy kolejnymi pomiarami w milisekundach
Dostępne metryki:
-
cpu:
- procentowe obciążenie procesora (User + Sys + Nice + Wait), w przypadku maszyn wielordzeniowych, średnie obciążenie z wszystkich rdzeni.
- Jednostka: %.
-
actualMemUsage:
-
- Aktualne zużycie pamięci wyrażone w bajtach.
- Jednostka: B (bajt).
-
actualFreeMemUsage:
-
- Aktualna ilość wolnej pamięci wyrażona w bajtach.
- Jednostka: B (bajt).
-
percentUsedMem:
-
- Aktualne zużycie pamięci wyrażone w procentach.
- Jednostka: %.
-
percentFreeMem:
-
- Aktualna ilość wolnej pamięci wyrażona w procentach.
- Jednostka: %.
Jak sprawdzić czy działa?
- Odpalić netcata:
nc -lup <numer portu>- powinny się pojawić wysłane przez sensor dane
netcata pod Windowsy można pobrać ze strony: http://joncraton.org/blog/46/netcat-for-windows/
Jak uruchamiać:
- Uruchomić klienta:
- Wersja produkcyjna:
- Uruchomić Katalog, Monitor i Sensor: Opisane wyżej
- Uruchomić Klienta:
mvn install spring-boot:runw kataloguDSM-front/target
- Wersja zamockowana:
- Uruchomić Klienta:
mvn install spring-boot:run -Dspring.profiles.active="mockComponents"w kataloguDSM-front
- Uruchomić Klienta:
Domyślna konfiguracja serwerów opisana jest tutaj. Można ustawić inne wartości parametrów dodając przy uruchomieniu opcję -D<nazwa parametru>=<wartość parametru>, np. java -jar DSM-front-1.0-SNAPSHOT.jar -Dserver.port=8085.
Jak sprawdzić czy działa?
- wejść na http://localhost:8082/main
- powinna pojawić się strona główna
- wejść na http://localhost:8082/resources
- powinny być jakieś zasoby
- po wybraniu zasobu (show) powinna pokazać się lista pomiarów dla tych zasobów
- wejść na http://localhost:8082/measurements
- powinny być jakieś pomiary w tabeli
- powinna być nazwa metryki, nazwa zasobu, jednostka i aktualna wartość
- wartości powinny się aktualizować co jakiś czas
- po zaznaczeniu jednego lub więcej pomiarów kliknąć 'show'
- powinny się pojawić wykresy dla wybranych pomiarów
- wykresy powinny się aktualizować co jakiś czas
Co działa:
- przeglądanie zasobów i pokazanie pomiarów dla tych zasobów
- wyszukanie pomiarów po nazwie metryki lub/i nazwie zasobu
- wyświetlenie wszystkich pomiarów
- wyświetlanie aktualnych wartości pomiarów aktualizowane co pewien czas
- wyświetlenie wykresów dla pomiarów aktualizowane co pewien czas
- pomiary złożone
- logowanie
Jak uruchamiać:
-
Zainstalować interpreter wymagane moduły:
- Python - Interpreter języka Python jest obecnie dostępny w każdej dystrybucji Linuxa, natomiast w przypadku Windowsa należy pobrać instalator.
- wxPython - Niestety moduł wxPython nie jest kompatybilny z narzędziami Pythona ściągającymi wymagane pakiety, dlatego w przypadku Linuxa najlepiej jest pobrać go z repozytorium posiadanej dystrybucji ( instrukcje: http://wiki.wxpython.org/How%20to%20install%20wxPython), a w przypadku windowsa ściągnąć instalator.
- Twisted - W przypadku Linuxa można skorzystać z narzędzi setuptools poprzez wykonanie polecenia:
sudo python setup.py installna pliku setup.py w module GUI lub z narzędzia pip za pomocą komendy:sudo pip install -e sciezka_do_modulu_gui, można też zainstalować twisted z repozytorium swojej dystrybucji. W przypadku windowsa najłatwiej jest pobrać odpowiedni instalator.
-
Uruchomienie klienta:
- Należy uruchomić skrypt main.py znajdujący się w module gui:
python main.py - Możliwe parametry skryptu:
- -l, --listingdelay - parametr w sekundach określający jak często listowany będzie odpowiedni katalog (domyślnie 5)
- -r, --refreshingdelay - parametr w sekundach określający jak czesto odświeżane będą wartości w oknie (domyślnie 5)
Przykład: Aby uruchomić gui w trybie listowania i odświeżania co 2 sekundy należy wykonać komendę:
python main.py -l 2 -r 2 - Należy uruchomić skrypt main.py znajdujący się w module gui: