PrzemekBancerowski / PZ

System monitorowania rozproszonych zasobów komputerowych - projekt na programowanie zespołowe 2016
0 stars 0 forks source link

Sensor #5

Open PrzemekBancerowski opened 8 years ago

PrzemekBancerowski commented 8 years ago

Trochę info odnośnie tego jak ja wstępnie widzę sensor.

  1. Aplikacja ma działać w tle
  2. Ma korzystać z pliku konfiguracyjnego, w którym będą następujące parametry:
    • nazwa sensora (będzie przesyłana z metadanymi)
    • adres ip i port na który mają być wysyłane dane
    • odstęp pomiędzy wysłaniem kolejnego pomiaru w sekundach
    • częstotliwość co ile pomiarów mają być wysyłane metadane
    • jakie dane będą przesyłane (CPU, RAM, HDD, nie wiem co jeszcze tam da się wyciągnąć)
  3. Dane mają być przesyłane protokołem UDP na adres z pliku konfiguracyjnego
  4. Dane przesyłane będą w formacie json
  5. ID jest adresem MAC komputera na którym znajduje się sensor

Obstawiam, że json z danymi będzie wyglądał mniej więcej tak:

{
   "data":{
        "ID": "A1-B3-AA-F1-12-A2",
        "RAM":{
            "total":99999,
            "used":11111
          },
        "CPU1":{
            "total":99999,
            "used":11111
        },
        "CPU2":{
            "total":99999,
            "used":3333
        }

   }
}

@pSolT jak dowiesz się już jakie dane można wyciągnąć, to napisz dokładnie jak będzie wyglądał przesyłany json zarówno z danymi jak i z metadanymi. Dobrze byłoby gdybyś zrobił to do końca tygodnia.

pSolT commented 8 years ago

Będe korzystał z biblioteki sigar, z której można całe mnóstwo informacji, ale proponuję się ograniczyć do:

@PrzemekBancerowski zgadzasz się z taką listą danych/metadanych?

PrzemekBancerowski commented 8 years ago

Wydaj mi się całkiem ok. Zastanawiam się tylko czy potrzebujemy danych o procesach i metadanych sieci. @dbaczek co o tym myślisz?

dbaczek commented 8 years ago

Myślę że to Co zaproponował Paweł jest ok. Być może nie będziemy potrzebować tych informacji, ale raczej nie szkodzi ich wysyłać. Najwyżej monitor nie będzie ich brał w ogóle pod uwagę.

pSolT commented 8 years ago

Update: z dyskiem jako takim jest mały problem - mam swobodny dostęp do systemu plików, ale nie mogę wyciągnąć bezpośrednio informacji o zużyciu / pojemności dysku . Kombinować czy dysk odstawiamy ?

PrzemekBancerowski commented 8 years ago

rób bez dysku

ghost commented 8 years ago

@pSolT czy to co jest wcommitowane to już finalna wersja? Jeśli tak opisz tutaj dokładnie co gdzie i jak wysyłasz, jak się to cudo konfiguruje i odpala. Chcę zacząć pisać monitor, który będzie odbierał te dane.

ghost commented 8 years ago

http://pastebin.com/pCBydAT2 link do jsona, który dostałam od @pSolT. Dane są opisane bardzo niejasno, popraw trochę konwencję nazw, nie wiem co oznaczają poszczególne parametry. Co to jest "lo" na przykład?

pSolT commented 8 years ago

@kapiotrowicz 'lo' to nazwa interfejsu sieciowego ('loopback interface') , podobnie jak enp0s25, virbr0 i wlp0s20u6. Daj znać, które z danych są opisane w sposób niejasny, wymyślę substytuty. Aktualnie nazwy są wzięte wprost z biblioteki .

pSolT commented 8 years ago

@kapiotrowicz Wprowadziłem pewną istotną zmianę w sensorze: W pliku konfiguracyjnym przy 'metadata_interval" podajemy co ile próbek mają być wysyłane dodatkowo metdane - domyślnie ustawiłem wartość "10", czyli co 10 próbek do danych będą dołączone metadane.