Opis projektu

topless - TOP like Log Events Scanning System

Sczymtosieje

topless jest narzędziem służącym do monitorowania logów. Topless prezentuje informacje bazując na logicznej strukturze informacji kryjącej się za strumieniem logów. Przykładowo oglądając logi serwera poczty topless nie będzie informował o kolejnych pojawiających się rekordach logów. Zamiast tego będzie informował o kolejnych wiadomościach przechodzących przez serwer.

Bardziej technicznie

Główne elementy topless to analizator składniowy, analizator semantyczny oraz frontend. Zadaniem analizatora składniowego jest przekształcenie strumienia logów na strumień dokumentów XML. Odbywa się to w dwóch etapach: skrypt awk (perl, python, whatever) nasłuchujący na strumieniu logów generuje strumień XML w bardzo prostym formacie. Chodzi o to, żeby na samym początku uciec z niewygodnego formatu tekstowego logów do jakiegokolwiek formatu XML. Następnie strumień XML jest przekształcany za pomocą transformacji XSLT na strumień XMLowych dokumentów ULF (Unified Log Format). Zarówno początkowy skrypt awk jak i transformata XSLT są specyficzne dla konkretnego formatu strumienia logów. Analizator semantyczny analizuje plik ULF i grupuje poszczególne informacje na podstawie przynależności do tego samego "obiektu" (opisujące tą samą wiasomość przechodzącą przez serwre poczty, opisujące tą samą wizytę na stronie www w przypadku logów httpd). Dodatkowo analizator semantyczny onacza informacje zawarte w logu należnie od ich ważności, wyłapuje elementy które nie powinny się tam znaleźć lub są szczególnie istotne i wymagają większej uwagi uzytkownika. Konfiguracja analizatora semantycznego to plik XML specyficzny dla danego formatu logów. Frontend topless jest realizowany jako ładowany dynamicznie plugin. Dzięki temu będzie mozna w przyszłości w łatwy sposób implementować nowe frontendy. Na początek planuję implementację trzech frontendów: tekstowego służącego głównie do testów, opartego o bibliotekę ncurses o interfejsie przypominającym program "top" oraz graficzny oparty o bibliotekę Qt.

Click here for english version

Status projektu

Obecnie topless jest na etapie planowania oraz pierwszych prób implementacji. Niewielkie i nieudokumentowane fragmenty działającego kodu można obejrzeć w repozytorium subversion (patrz niżej).

Repozytoria projektu

Projekt topless jest rozwijany w repozytorium subversion. Tymczasowy adres tego repozytorium to: https://xatka.net/svn/pub/topless/

SourceForge.net Logo