Docker konténerek központi naplózása

  • Leírás
  • Tanmenet
  • Kérdések
  • Értékelések

A hagyományos környezetekben a naplózás gyárilag megvan és egyszerű: fut a syslog szerver, gyűjti az adatokat és leteszi a /var/log könyvtárba értelmesen szortírozva. A másik eset, amikor egy alkalmazás (tipikusan a webszerverek) saját maguk írják a naplófájlokat.

Míg ez jól működik egy komplett Linux szerveren, konténereknél több problémát is felvet. Egyrészt a konténeren belül megváltozó adatok a konténer leállításakor elvesznek. Erre megoldás, ha a /var/log külön köteten van, de ez így kissé káoszos: minden konténernek saját /var/log könyvtára van, nehéz lesz összevetni a leveleket fogadó (SMTP) szerver és a leveleket tároló (IMAP, csoportmunka, stb.) szerver naplózását, így a hibakeresés is nehézkessé válik. Ráadásul ha a konténered költözik egyik cluster node-ról a másikra, akkor a naplózás is megy vele. Végignézni a cluster összes node-ját egy bejegyzésért pedig elég gyötrelmes…

Mivel ez a probléma nem csak nekem tűnt fel, számos megoldás született rá. Sőt, nem csak a gyűjtésre, de a keresésre, kiértékelésre is. A legegyszerűbb egy központi naplózó szerverre küldeni mindent. De az az egyszerű ötlet is hoz azonnal újabb problémákat: akkor futtassunk minden konténerben egy-egy önálló syslog szervert, ami küldi a központi szerverre a logot? Nem tűnik jó megoldásnak. Ahogy az sem hogy gyűjtse a futtató környezet: mi van, ha a konténered egy telejsen más rendszerre kerül? Lehet azt nem is te üzemelteted.

Olyan megoldásra van szükség, ami független a futtató környezettől, azaz csak a konténereiden múlik, de nem kell minden konténerbe syslog szervert tenni hozzá, valamint a csak fájlba naplózni hajlandó alkalmazásoktól is be tudja gyűjteni a logokat. Végül ezt beküldi egy központi szerverre, ahol te azt kényelmesen tudod keresni és azokból statisztikákat tudsz lekérni. És ki ne felejtsük magának a futtatókörnyezetnek és a Dockernek a naplózását, amire szintén szükséged lehet.

A Docker konténerek központi naplózása képzésen megtanulod a Linux szervereden futó konténerekben keletkező logokat központi helyre gyűjteni a futtatókörnyezettől függetlenül. Legyen az szabványos syslog vagy egyedi fájlba naplózás, illetve magának a Dockernek az üzenetei. Az így összegyűjtött logokhoz pedig megtanulsz egy egyszerű gyűjtő és webes kereső környezetet felépíteni. Természetesen mindent konténerben, hogy az szabadon hordozható legyen.

Docker konténerek központi naplózása

Subscribe
Visszajelzés
guest
0 Kérdés
Most Voted
Newest Oldest
Inline Feedbacks
View all comments

DevOps képzés
32
tanuló
1
fejezet
3
tananyag
Czakó Krisztián Czakó Krisztián