AGENT - Premwoik/Onitor GitHub Wiki

Zbierane informacje o monitorowanym serwerze

Plik odpowiedzialny za zbieranie informacji to collector.py jego podzespoły to:

  • SystemDataCollector - zbieranie informacji o systemie
  • JournalLogCollector - odczytywanie logów systemowych i parsowanie
  • AgentLogCollector - magazynowanie informacji o błędach w pracy agenta

Zbierane informacje przez agenta to:

  • Obciążenie procesora
  • Zajeteosc ram i dysku
  • Ilość operacji dyskowych na sek.
  • Temperatura
  • Transmisja danych na interface'ach
  • Logi o crash'ach

Modyfikowanie procesu zbierania informacji

W pliku config.json znajdują się informacje na temat:

  1. zbieranych informacji przez agenta
  2. interwale czasu wysyłania danych do serwera
  3. co jaki czas ma być sprawdzany plik config.json
  4. adres ip serwera na jaki agent wysyła zebrane dane

plik configuration.py zarządza agentem ustawiając odpowiednio podzespoły zgodnie z informacjami zawartymi w config.json

Moduł przesyłania informacji do serwera

Plik odpowiedzialny za przesyłanie informacji o monitorowanym serwerze to rest.py

  • InfoJsonBuilder - budowanie REST-owego zapytania (JSON)
  • Client - wysyłanie zbudowanego zapytania

Użycie agenta

Rozpoczęcie procesu monitoringu serwera w tle

  • python3 agent.py start

Rozpoczęcie procesu monitoringu serwera wraz z informacją o wysyłaniu danych do serwera

  • python3 agent.py no-daemon

Wyświetlenie informacji o agencie

  • python3 agent.py

Uruchomienie wszystkich testów

  • python3 -m unittest discover tests/

Pozostałe moduły

daemon.py - plik odpowiedzialny za pracę w tle agenta

agent.py - główna klasa - moduł służy do uruchamiania, inicjuje pracę agenta

Testy

  • test_collector.py - testuje pracę collector.py - zbierania informacji oraz parsowania informacji o monitorowanym serwerze
  • test_rest.py - testuje pracę rest.py - przygotowywania danych o monitorowanym serwerze oraz ich wysyłanie