Kihagyás

11. Naplózás

Kezelje a naplókat eseményfolyamként

A naplók lehetővé teszik egy futó alkalmazás viselkedésének nyomon követését. A szerver alapú környezetekben általában fájlba (naplófájlba) írják őket, de ez csak egy kimeneti formátum.

A naplók az összes futó folyamat és háttértároló szolgáltatás kimeneti folyamából gyűjtött időrendi események folyama. A nyers naplók általában szöveges formátumban vannak, ahol egy esemény kerül egy sorba (bár kivételek esetén a hibakeresések több sorban is megjelenhetnek). A naplóknak nincs rögzített kezdete vagy vége, folyamatosan áramlanak, amíg az alkalmazás működik.

A tizenkét tényezős alkalmazás soha nem foglalkozik a kimeneti folyamának irányításával vagy tárolásával. Nem próbál meg írni vagy kezelni naplófájlokat. Ehelyett minden futó folyamat íratja az eseményfolyamát buffer nélkül a standard kimenetre (stdout). A fejlesztés során a fejlesztő a terminálban előtérben figyeli ezt a folyamot az alkalmazás viselkedésének megfigyeléséhez.

Staging vagy produkciós telepítéseknél a folyamatok folyamatait az végrehajtási környezet rögzíti, összegyűjti az alkalmazás összes többi folyamataival együtt, majd továbbítja azokat egy vagy több végleges helyre a megtekintéshez és hosszú távú archiváláshoz. Ezek az archiválási helyek nem láthatók vagy konfigurálhatók az alkalmazás által, és teljes mértékben az végrehajtási környezet által kezeltek. Nyílt forráskódú naplórouterek (például Logplex és Fluentd) állnak rendelkezésre erre a célra.

Az alkalmazás eseményfolyamát egy fájlba lehet irányítani, vagy valós időben követhető a terminálban. A folyamot leginkább naplóindexelő és elemző rendszerekbe, például Splunkba, vagy általános adattároló rendszerekbe, mint például Hadoop/Hive, lehet továbbítani. Ezek a rendszerek nagy erőt és rugalmasságot biztosítanak az alkalmazás viselkedésének időbeli vizsgálatához, ideértve:

  • Az előző események megtalálása.
  • Nagy léptékű trendek (például kérések száma per perc) grafikus ábrázolása.
  • Aktív riasztások a felhasználó által meghatározott heurisztikák alapján (például riasztás, amikor a hibák száma per perc meghaladja a meghatározott küszöbértéket).