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