Kezd kialakulni egy kozponti syslog-ng hostunk. Jelenleg nehany host kuldi a logokat, amiket host-onkent valogatom ki. Igazabol minden mukodik, annyi csak a gondom, hogy jo lenne kicsit kevesebb konfigot irni (kevesebb macera, kevesebb hibalehetoseg). Nekem most egy host (pl 'almafa') egy log file-t ir, ami azonos a host nevevel ('almafa.log'). De sajnos igy minden uj host-hoz kell csinalnom egy uj 'filter'-t egy uj 'destination'-t es egy uj 'log'-ot a syslog-ng.conf-ba, holott mindegyik tok ugyanugy nez ki, csak a hostnev mas rendre. Nincs valami mod a destintaion file megadasnal valtozot hasznalni? Valami ilyesmire gondolok:
destination remotelog { file("/var/log/remotelog/"%HOSTNAME%".log"); };
De vegulis barmilyen mas megoldas erdekel. A lenyeg, hogy a leheto legkevesebbet kelljen a configba irni (kesobb modositani), de legyenek hostonkent szeparalt log file-aim. Midenzt syslog-ng-vel, hacsak lehet.
-------------------------------------------------------------
Update
Megoldas Chris19-tol:
destination remote-dest-file {
file("/logs/$HOST/messages.$YEAR.$MONTH.$DAY" create_dirs(no));
};
Egyeb hasznalhato valtozok: The syslog-ng Open Source Edition 3.3 Administrator Guide: List of syslog-ng OSE parameters
- 6524 megtekintés
Hozzászólások
destination remotelog {
file("/var/log/remotelog/$FULLHOST.log"
template("$R_FULLDATE [$PRIORITY] $FULLHOST $MSGHDR $MSG\n")
template_escape(no)
);
};
- A hozzászóláshoz be kell jelentkezni
subscribe
--
>'The time has come,' the Walrus said<
- A hozzászóláshoz be kell jelentkezni
Remélem jól értem a problémát. Én így szoktam:
destination remote-dest-file {
file("/logs/$HOST/messages.$YEAR.$MONTH.$DAY" create_dirs(no));
};
source remote-src-tcp1514 {
tcp(port(1514)
keep-alive(yes)
so_keepalive(yes)
max_connections(50) );
};
log {
source(remote-src-tcp1514);
destination(remote-dest-file);
};
Csomagszűrőből pedig lehet szabályozni, hogy ki kapcsolódhat a syslog szerverhez.
- A hozzászóláshoz be kell jelentkezni
Hmm... ha ez igy mukodik, akkor pont ez kell! :) Sot ez meg egy logrotate config-ot is kivalt nekem.
- A hozzászóláshoz be kell jelentkezni
Ha nagyon sok log jön be akkor érdemes lehet naponta cron-ból gzippelni őket:
03 03 * * * root find /logs -name "messages*" -type f -mtime +0 | grep -v "\.gz$" | xargs /bin/gzip -9
Így később zcat-tal ugyanúgy meg lehet nézni vagy keresni bennük. Syslog-ng mellett nem nagyon használok logrotate-et.
- A hozzászóláshoz be kell jelentkezni
Tapasztalat, hogy a tegnapi logokban még azért szokás keresgélni, úgyhogy egy "-mtime +1" javasolt - szerintem.
- A hozzászóláshoz be kell jelentkezni
Van zcat, zgrep :)
- A hozzászóláshoz be kell jelentkezni
Méretfüggő, hogy mennyire használható... Sokgigás logok esetén én inkább eltolom egy nappal a csomagolást, mert a CPU napközben kell másra (logok begyűjtése/szétlapátolása).
- A hozzászóláshoz be kell jelentkezni
Sok gigas log fajlok alapbol nem szerencsesek.
Ha ekkora a forgalom log szerveren 1 nap alatt ennyi log jon 1 helyrol akkor inkabb jobban kulon kell valogatni a tartalmat vagy orankenti bontasban tarolni.
Ha pedig ennyire keves az eroforras/nagy a terheles, hogy 1 file-t kitomoriteni is megterhelo akkor hogy tomorited be naponta a sok 2 napos file-t?
Vagy miert nem masolod masik gepre a szukseges file-okat es ott dolgozod fel, hogy sima grep se terhelje le ilyenkor a gepet?
- A hozzászóláshoz be kell jelentkezni
Ha turkászni kell, akkor sokgigás a log. És nem csak Murphy szerint :-)
Alkalmazáslogból bizony összejöhet ekkora, és bár lehetne válogatni, de ha a fejlesztő ömlesztve kéri, utólag összelapátolni megint csak erőforrásigényes móka. Az óránkénti darabolás jó ötlet... Lenne, ha nem keletkezne mondjuk napi 1000+ darab logfájl óránkénti darabolás nélkül is...
A terhelés (feldolgozott logsor/s) sok esetben nem egyenletes, alacsony forgalmú időben simán elképzelhető, hogy két nagyságrenddel kevesebb logot kell adott idő alatt feldolgozni/szortírozni - akkor van CPU a tömörítésre, munkaidőben meg mondjuk nem igazán.
Az elmásolás akár jó is lehet, de ahhoz kell egy olyan logmatató gép, amire a központi naplózószerverrel azonos biztonsági/hozzáférési/audit beállítások érvényesek, mert lehet, hogy nem minden log másolgatható szabadon ide-oda...
- A hozzászóláshoz be kell jelentkezni
Természetesen az mtime növelhető. Kinek mi a kényelmesebb.
- A hozzászóláshoz be kell jelentkezni
Szuper, kiprobaltam megy. Koszi.
- A hozzászóláshoz be kell jelentkezni
sub
- A hozzászóláshoz be kell jelentkezni
Sot, a fentieken kivul, ha sok geped van, akkor erdemes elgondolkodni egy puppet server felhuzasan, svn-nel igen praktikus, egyszeru es kenyelmes.
- A hozzászóláshoz be kell jelentkezni
Tervben van, bar git-tel... de ez a lenyegen nem valtoztat. "puppet server hello world" leirast viszont szivesen fogadok. :)
- A hozzászóláshoz be kell jelentkezni
Logstash + Kibana combo nem pálya Puppettel?
|| "Software is like sex: it's better when it's free." Linus Torvalds
- A hozzászóláshoz be kell jelentkezni
Most te tenyleg azt tanacsolod, hogy egy kis config szerencsetlenkedes miatt (amire mellesleg ugy tunik, mar van is megoldas, bar meg nem probaltam ki) csereljek le mindent...?
- A hozzászóláshoz be kell jelentkezni