Programfutási adatok tárolása és elemzése Hadoop használatával

OData támogatás
Konzulens:
Prekopcsák Zoltán
Távközlési és Médiainformatikai Tanszék

Szoftverben keletkező hibák elemzése éles környezetben futó alkalmazás esetén különö-sen nehéz feladat. A telepített és futó alkalmazáshoz debugger csatlakoztatása üzleti és technikai szempontból legtöbbször kivitelezhetetlen, mert használatával a szoftver által publikált szolgáltatásokhoz a felhasználók vagy más szoftverkomponensek nem, vagy csak korlátozottan tudnak hozzáférni. A debugger blokkolja a szoftver működését.

A legjobb lehetőség a hibák okainak felderítésére a széles körben alkalmazott naplózási (log) bejegyzések vizsgálata. A naplózó utasítások elhelyezéséért a programkódban a szoftverfejlesztő felel, ezért a naplóüzenetek információ tartalma a programozó legjobb belátása szerint relevánsnak tartott adatokból áll. Ami azonban fontos a programozó számára, nem feltétlenül hasznos hibakereséskor.

A naplóbejegyzésekkel tehát két nagy probléma van: azok információtartalma nem ki-elégítő, illetve azok mennyisége nem elegendő a diagnózis felállításához. A jó minőségű naplóbejegyzésekre azonban nagy szükség van, mert a hibákat rendszerint rossz adatok okozzák, amik csak az éles környezetben fordulnak elő, a jól definiált teszt környezeten soha. Ezen adatokat pedig naplóbejegyzéseken keresztül tudjuk láthatóvá tenni.

Szakdolgozatom elején röviden bemutatom, hogy a napló üzenetek minőségbeli és mennyiségbeli problémája megoldható Java programozási környezetben a fordítási idő-ben automatikusan generált naplózó utasítások elhelyezésével. Technikai áttekintést adok az általam használt szoftverekből és technológiákból. Majd részletesen tárgyalom, hogyan tervezek és valósítok meg egy olyan rendszert, amely alkalmas a keletkező nagy mennyiségű log bejegyzés elszállítására a forrástól; ezen adatok elosztott és redundáns tárolására Hadoop fájlrendszeren; és az adatok analitikus vizsgálatára Hadoophoz kap-csolódó technológiákkal. A szakdolgozatom utolsó részében mérésekkel vizsgálom a megvalósított rendszer néhány fontos metrikáját úgy, mint áteresztőképességét, tárolási kapacitását, elemzések futási idejét.

A kifejlesztett rendszer hosszú távon hasznos eszköznek bizonyulhat hibák felderítésé-ben, teljesítmény profilozásban, és hibára hajlamos részek felderítésében.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.