Jak na logovani systemu (auth, messages...) a sluzeb (apache, proftpd...) pri loadbalancingu?

Miroslav Prýmek m.prymek at gmail.com
Sun Nov 22 20:09:15 CET 2015


On 10/16/2015 08:50, Vilem Kebrt wrote:
> Jenom doplnim,
> rsyslog umoznuje nacitat i externi logy a posilat je dal, na nekolika
> mistech tohle mame.
> Vilem

Ja mozna taky jeste neco doplnim k tomu rsyslogu: docela dlouho jsem si 
s navrhem logovani hral (cimz potvrzuju to, co rikal Dan ;) ) a mel jsem 
priblizne tyhle pozadavky:

1. centralni logovaci server

2. moznost ponechavat nebo neponechavat logy lokalne (jak kde se to hodi)

3. moznost suckless prenosu jakychkoli dat, idealne i strukturovanych 
(stupidni priklad: \n se nekde chape jako konec zaznamu a jinde se 
naopak muze vyskytnout uprostred polozky - napr. stacktrace pythonu - a 
fakt se mi nechce vsechny pripady zvlast osetrovat nejakym escapovanim 
apod.)

4. rozumna spolehlivost - nespravuju systemy, kde by kvuli ztracenemu 
zaznamu nekdo umrel, ale nastvalo by me, kdyby server neposkytoval 
sluzby jenom kvuli tomu, ze se logovaci system zblaznil, protoze se mu 
nedari dorucit logy... (prehnana snaha o spolehlivost doruceni muze 
paradoxne v nekterych situacich ten system zabit, coz fakt nechci)

5. aspon trochu nejaka sance na aspon nejakou integraci s windows logovanim

Promyslel jsem, studoval a zkousel zakladni syslog, ruzne novejsi 
syslogy s i bez ruznych novejsich transportu (ZMQ apod.), ruzne novejsi 
navrhy formatu dat i uplne hipsterske zalezitosti jako logstash apod. a 
nakonec jsem dosel k zaveru, ze pro moje ucely je nejlepsi pouzit 
rsyslog (rozumne siroke moznosti bez uletu typu java) s TCP transportem 
(nepotrebuje ne uplne spolehlive spesl knihovny jako ZMQ), octet-counted 
framingem (resi bod 3) a u normalnich syslog zaznamu polozky oddelene 
klasickymi ASCII oddelovaci UNIT SEPARATOR (nepotrebuju knihovny na 
produkovani JSONU, escapovani atd.). Takze ve finale staci do 
konfigurace rsyslogu neco v tomhle stylu:

$template unit_sep, \
 
"%HOSTNAME%\31%syslogseverity-text%\31%syslogfacility-text%\31%syslogtag%\31%timegenerated:::date-unixtimestamp%\31%msg%"

*.warning action(type="omfwd" Template="unit_sep" Target="A.B.C.D" 
Port="XYZ" Protocol="tcp" TCP_Framing="octet-counted")

...tyhle dva radky jsou vysledkem nekolikamesicniho studia a zkoumani, 
tak jsem mel potrebu se o tohle zjisteni podelit, protoze to otravovani 
se s hruzami typu logstash nikomu nepreju a rad to ostatnim usetrim :)

Kdybyste nekdo meli nejake dotazy, muzete klidne soukrome, tady je to 
dost OT.

Mirek


More information about the Users-l mailing list