Skip to content

Uruchamianie Projektu

grabarczyk-t edited this page Jun 1, 2014 · 23 revisions

Do zbudowania i uruchomienia projektu wymagana jest Java JDK w wersji co najmniej 1.7 oraz Maven:

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):

Uruchamianie Monitora / Katalogu

Jak uruchamiać:

  1. Zbudować projekt: mvn install w katalogu głównym
  2. Uruchomić katalog: java -jar DSM-catalogue-1.0-SNAPSHOT.jar w katalogu DSM-catalogue/target
  3. Uruchomienie Monitora:
  • Monitor z mockową wersja sensora:
    • Uruchomić monitor: mvn install spring-boot:run -Dspring.profiles.active="mockComponents" w katalogu DSM-monitor
  • Monitor bez mocków:
    • Uruchomić monitor: java -jar DSM-monitor-1.0-SNAPSHOT.jar w katalogu DSM-monitor/target
    • (Opcjonalnie) Uruchomić sensor: Opisane niżej

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

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ł

Uruchamianie Sensora

Jak uruchamiać:

  1. Zbudować projekt: mvn install w katalogu DSM-sensor
  2. (w Windowsach) skopiować pliki sigar-x86-winnt.dll i sigar-amd64-winnt.dll z katalogu DSM-sensor\target\artifacts\distrib\lib do DSM-sensor\target\artifacts\distrib\bin
  3. Przejść do katalogu DSM-sensor\target\artifacts\distrib\bin
  4. Uruchomić sensor:
    • Windows: sensor.bat <monitor address> <resource name> <metric> <delay ms>
    • Linux: ./sensor.sh <monitor address> <resource name> <metric> <delay ms>

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. Patrz udp.client.port w 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/

Uruchamianie Klienta Web

Jak uruchamiać:

  1. Uruchomić klienta:
  • Wersja produkcyjna:
    • Uruchomić Katalog, Monitor i Sensor: Opisane wyżej
    • Uruchomić Klienta: mvn install spring-boot:run w katalogu DSM-front/target
  • Wersja zamockowana:
    • Uruchomić Klienta: mvn install spring-boot:run -Dspring.profiles.active="mockComponents" w katalogu DSM-front

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

Uruchamianie Klienta Desktopowego

Jak uruchamiać:

  1. 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 install na 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.
  2. 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

Clone this wiki locally