phobos

Nieuniknione porządki

Ten wpis miał być o czymś innym. O kolejnej funkcjonalności, którą mam nadzieję ukończyć 🙂 W trakcie jej tworzenia zderzyłem się z małą ścianą, którą okazała się struktura o nazwie hostconfig. Stanowi ona trzon dla przechowywania wszelakich danych konfiguracyjnych wyciągniętych z bazy. Niestety nie udało mi się utrzymać jej w ryzach i w struktury danych,… Czytaj dalej Nieuniknione porządki

Wykrywanie awarii usług systemowych

Interfejs WWW zdobył nową funkcjonalność. Jest nią śledzenie statusu działania usług systemowych takich jak serwer www czy ssh. W tym celu kod agenta został wzbogacony o proste funkcje, które testują możliwość połączenia się z konkretną usługą i badają czy odpowiedź z protokołu jest poprawna. Dane dot. statusu działania usług przesyłane są wraz z pozostałymi informacjami… Czytaj dalej Wykrywanie awarii usług systemowych

Bieżący status prac nad monitoringiem

W tzw. praniu zmieniłem nieco początkowe założenia, które w mojej opinii wydały mi się mało praktyczne i trochę bez sensu. Nie będzie np. w dashboardzie live loga, który będzie wyświetlał na bieżąco czy hosty są dostępne, czy też nie. Zamiast tego stworzyłem osobny odnośnik do podstrony zawierającej logi. Logi Są one posortowane malejąco względem daty.… Czytaj dalej Bieżący status prac nad monitoringiem

Monitoring serwerów i usług

Funkcjonalnie temat konfiguracji serwera WWW jest już zamknięty. Zostały jeszcze jakieś niedociągnięcia, ale zostaną poprawione w późniejszym terminie. Podejrzewam, że w trakcie dalszych testów wyjdzie jeszcze sporo rzeczy do poprawienia, więc na razie zbieram je do jednego worka p.t.: „Nice to have”. W związku z tym zacząłem tworzyć coś nowego. Monitoring. To będzie taka trochę… Czytaj dalej Monitoring serwerów i usług

problemy z XFS

W trakcie testów odkryłem, że na RedHacie oraz Centosie 7 nie działa funkcja kasująca katalog zawierający pliki witryny. Szybki reaserch wykazał, że wspólnym mianownikiem jest używany na tych systemach filesystem XFS. Okazuje się, że struktura dirent zwracana przez funkcję readdir(3) na tym systemie plików zwraca niepoprawne dane. if(entry->d_type == 4) { strcat(buff, entry->d_name); strcat(buff, „/”);… Czytaj dalej problemy z XFS

Rekurencja w służbie kasowania danych

Długo się broniłem przed wykorzystaniem rekurencji w swoich projektach. Najzwyczajniej w świecie jej nie potrafiłem ogarnąć 😉 Wczoraj nastąpił przełom. Stanąłem przed zadaniem napisania kodu, który ma skasować katalogi wraz z zawartością: strukturą podkatalogów wraz z plikami. Stanąłem trochę przed ścianą. Wiedziałem, że bez rekurencji napisanie tego może być trochę jak mission impossible. Przemogłem się… Czytaj dalej Rekurencja w służbie kasowania danych

Ikonki informacyjne

Dodałem nową kolumnę o nazwie Status do tabelki wyświetlającej wszystkie dodane vhosty na danym serwerze. Kolumna zawiera ikonki, które zmieniają się w zależności od trybu dostępu do danej strony www. Pełen dostęp do witryny Dostęp ograniczony do listy adresów IP Dostęp zabezpieczony hasłem Dostęp całkowicie zabroniony Dzięki nim na pierwszy rzut oka będzie można ocenić czy dostęp… Czytaj dalej Ikonki informacyjne

Architektura systemu

Całość składa się z dwóch głównych komponentów. Interfejsu www oraz agenta. Interfejs WWW Interfejs www służy do wprowadzania konfiguracji do bazy danych. Za jego pomocą można też zobaczyć podstawowe informacje na temat systemu. Na chwilę obecną są dostępne dane takie jak adresy IP serwerów, zużycie CPU, dysku i pamięci operacyjnej. Jest to centralne miejsce z… Czytaj dalej Architektura systemu

Struktura bazy

Dzisiaj opowiem nieco o strukturze bazy danych, która wciąż ewoluuje. W tej chwili liczy ona 9 tabel, których przeznaczenie postaram się streścić poniżej. Sysinfo Tutaj rejestrują się serwery, na których został uruchomiony agent. W tej tabelce przechowywane są podstawowe informacje na temat serwera, takie jak uptime, zużycie takich zasobów jak cpu, ram czy dysk. Każdy… Czytaj dalej Struktura bazy