Marzec 2016

Proces rekonfiguracji usług

Na pierwszy ogień idzie usługa  WWW na przykładzie serwera apache. Popełniłem diagram, który obrazuje flow danych od momentu ich odebrania przez interfejs sieciowy i zapisania do bufora aż do stworzenia i załadowania na ich podstawie nowej działającej konfiguracji serwera www. Na wejściu odbieramy konfigurację w postaci stringa. Funkcja RetrieveData służy również do odbierania danych od klientów, dlatego… Czytaj dalej Proces rekonfiguracji usług

Co nowego w projekcie

Udało się zrobić kilka zmian w interfejsie webowym. Dodałem logo oraz zmieniłem nieco podstronę konfiguracji serwerów. Przy każdym dostępnym serwerze wyświetla się ikonka. Z rzeczy bardziej funkcjonalnych pojawił się formularz, który umożliwia zdefiniowanie konfiguracji dla nowej strony WWW. Projekt przewiduje wykorzystanie serwera apache, więc opcje odwzorowują 1:1 te, które można znaleźć w pliku konfiguracyjnym. Formularz… Czytaj dalej Co nowego w projekcie

Interfejs WWW

Jestem w trakcie projektowania interfejsu www. W tej chwili zająłem się prezentacją danych, które trafiają na bieżąco do bazy. Ciężko coś więcej na chwilę obecną napisać. Obszary wokół których skupiam swoje działania to dashboard oraz zakładka „Ogólne”, która wyświetla informacje przesłane od klientów. Mam na tym etapie jeszcze kilka pomysłów co klient jeszcze mógłby raportować… Czytaj dalej Interfejs WWW

Pierwszy etap dopięty

Pierwszy etap tworzenia aplikacji został osiągnięty. Uzyskałem efekt na którym mi zależało. Każdy host, który będzie częścią tego systemu już sam rejestruje się w bazie oraz na bieżąco aktualizuje  informacje takie jak: uptime, całkowita ilość miejsca oraz wolna przestrzeń na dysku. Nadeszła pora aby zaprezentować te dane w jakiś estetyczny sposób. Myślę, że za kilka… Czytaj dalej Pierwszy etap dopięty

bug się rodzi

No to wyhodowałem pierwszego poważniejszego buga 😉 No pewnie mam ich jeszcze parę, ale ten jest dość spektakularny. W ciągu kilkunastu sekund plik z logiem aplikacji spuchł mi do 1.3GB 😀 Problem występuje w momencie wyłączenia serwera. A klient stara się do niego dostukać. Bardzo szybko 😉     2016-03-16 23:02:51 WARNING Blad tworzenia socketu 2016-03-16… Czytaj dalej bug się rodzi

Przesyłanie danych od klienta

Mam już coś co działa. htop po lewej przedstawia stronę klienta. Są odpalone 3 procesy spine: główny oraz sender i reciver. Po prawej stronie htop pokazuje stronę serwera – tutaj są dwa procesy: główny, oraz reciver. Klient zawsze odpala jeden proces więcej ponieważ na bieżąco będzie aktualizował stan serwera. Na dole są logi serwera. Widać… Czytaj dalej Przesyłanie danych od klienta

big step

Ok. Żarty się skończyły 🙂 aby ruszyć dalej muszę teraz zaprogramować mechanikę wysyłania i odbierania danych. Dwa odrębne kanały. Będzie się działo. Jeszcze tego nie robiłem 🙂 Po przemyśleniach wszystko wskazuje na to, że stronę serwera i klienta da się obsłużyć tym samym kodem. Z tą różnicą, że serwer będzie jeszcze komunikował się z bazą… Czytaj dalej big step

Format logów

Przetwarzanie informacji zawartych w logach może stać się prawdziwą udręką jeśli jest w nich bałagan. Trzymanie się jednego spójnego formatu jest rzeczą, na którą chcę w tym projekcie położyć szczególny nacisk. Logi będą wyglądały w ten sposób: 2016-03-12 10:54:01 [INFO] (main) Spine-Agent startuje…. 2016-03-12 10:54:01 [INFO] (sender) sender …. Done 2016-03-12 10:54:01 [INFO] (reciver) reciver… Czytaj dalej Format logów

Szkielet agenta

Myślę, że już mam gotowy szkielet programu w którym będę osadzał już kolejne funkcje, dokładał kolejne funkcjonalności. Po odpaleniu programu w systemie uruchamiają się trzy procesy. Procesem nadrzędnym jest spine-agent. Wywołuje on następujące procesy: spine-reciver: Ten proces będzie odpowiedzialny za modyfikowanie plików konfiguracyjnych na serwerze oraz pośrednio za przeładowywanie konfiguracji spine-sender: Zgodnie z interwałem czasowym… Czytaj dalej Szkielet agenta

Koncepcja komunikacji client /server

Po przemyśleniach doszedłem do wniosku, że jednak komunikacja klienta bezpośrednio z serwerem bazy danych nie jest do końca dobrym pomysłem. Sporą wadą takiego podejścia jest to, że trzeba otworzyć połączenie do bazy danych być może nawet publicznie w internecie. Zdecydowałem, że po stronie serwera będzie trzeba uruchomić kod, który będzie komunikował się ze stroną kliencką.… Czytaj dalej Koncepcja komunikacji client /server