Szoval adott egy szerver, amelyik egy masik gepre logol. Minden szepen megy, de amit en szeretnek, hogy pl a logokat ami az A geprol a B gepre logolok, akkor a B gepen hogyan allitsam be, hogy ne a /var/log/messages -ba tegye az A es a B gep logjait, hanem hogy csinaljon egy dirt (vagy en csinalok dirt), es a cuccok pl a /var/log/A/messages-ba menyen?
[quote:d3b51dae3a="radulovity"]Szoval adott egy szerver, amelyik egy masik gepre logol. Minden szepen megy, de amit en szeretnek, hogy pl a logokat ami az A geprol a B gepre logolok, akkor a B gepen hogyan allitsam be, hogy ne a /var/log/messages -ba tegye az A es a B gep logjait, hanem hogy csinaljon egy dirt (vagy en csinalok dirt), es a cuccok pl a /var/log/A/messages-ba menyen?
Amennyiben a bazsi fele syslog-ng-re gondolsz, akkor:
destination B { file("/var/log/B/all.log"); }; a syslog-ng.conf-ba...
Pontosan, van lehetőség többféle beépített változó használatára is.
dátum,programnév,gépnév, meg hasonlók.
im egy példa:
[code:1:191cfe049b]
destination full {
file("/dev/tty12");
file("/var/log/full_$DAY-$MONTH-$YEAR.log"
owner("root")
group("adm")
perm(0640));
};
Nem találtam jobban illeszkedő szálat, ez pedig elég általánosnak tűnik.
Van 2 teszt virtuális szerverem mindkettőn syslog-ng-t használok,
tcp-n küldöm a logokat -- OK
szűröm azokat a logokat amikről mail-t akarok kapni --- OK
mail küldés ---- Nem teljesen OK
Küld levelet, de ha rövid időn belül több olyan log esik be amiről kellene levelet küldeni akkor csak az elsőt küldi el (esetleg a másodikat is).
Rövid idön belül : for ciklussal generálom, vagy pl : logger "" && logger "" .....
Van valakiek ötlete, hogy lehetne megoldai, hogy
1) minden log sorrol kapjak mail
2) (vágy) kötegelve kaphassak levelet ha olyan sok lenne a küldeni szánt sor.
Próbáltam játszani a flush_lines(); flush_timeout(); értékekkel de eredménytelen voltam (értsd 9000-re állítva sem volt észlelhető hatás)
Még nem, egyenlőre semmi más ilyen jellegű megoldást nem néztem.
Egy rsyslog-os infrastrukturát kellene leváltanom az összes szerveren. Nemtudom hogy az rsyslog-os jelenlegi megoldás mit reagálna ilyen burst-re. Ebben a megoldásban egy ilyen hibára bukkantam a tesztelés alatt, így merült fel.
Megnézem a logwatch-os megoldásokat hátha nem kell a spanyol viaszt feltalálni (újra :) )
A probléma innentől "érdekesség" besorolásba került, kifejezetten nem cél hogy mindenről jöjjön levél, csak az hogy ha valami történik akkor jönjjön egy figyelmeztető mail.
Hozzászólások
Szoval adott egy szerver, amelyik egy masik gepre logol. Minden szepen megy, de amit en szeretnek, hogy pl a logokat ami az A geprol a B gepre logolok, akkor a B gepen hogyan allitsam be, hogy ne a /var/log/messages -ba tegye az A es a B gep logjait, hanem hogy csinaljon egy dirt (vagy en csinalok dirt), es a cuccok pl a /var/log/A/messages-ba menyen?
[quote:d3b51dae3a="radulovity"]Szoval adott egy szerver, amelyik egy masik gepre logol. Minden szepen megy, de amit en szeretnek, hogy pl a logokat ami az A geprol a B gepre logolok, akkor a B gepen hogyan allitsam be, hogy ne a /var/log/messages -ba tegye az A es a B gep logjait, hanem hogy csinaljon egy dirt (vagy en csinalok dirt), es a cuccok pl a /var/log/A/messages-ba menyen?
Amennyiben a bazsi fele syslog-ng-re gondolsz, akkor:
destination B { file("/var/log/B/all.log"); }; a syslog-ng.conf-ba...
Nemegesszen erre gondoltam, hanem arra, hogy a messages, syslog, exim, stb logjait a /var/log/B/ -be tegye, nem pedig hogy az osszesset egy fileba ...
Akkor szopas, duplikalnod kell az osszes targetet meg mindent, es annak megfeleloen beallitani a szuroket A-ra es B-re.
Nem feltetlenul. En legalabbis is igy oldom meg az ilyeneket:
filter f_debug { not facility(auth, authpriv, news, mail)
and not match("named")
and not match("IPTABLES"); };
log { source(src); filter(f_named); destination(named); };
filter f_named { match("named"); };
destination named { file("/var/log/named.log" owner("root") group("adm") perm(0640)); };
mintha valahogy lehetne valtozokat hasznalni :roll:
/var/log/%GEPNEV/ize
man, google, stb :)
[quote:191cfe049b="Elbandi"]mintha valahogy lehetne valtozokat hasznalni :roll:
/var/log/%GEPNEV/ize
man, google, stb :)
Pontosan, van lehetőség többféle beépített változó használatára is.
dátum,programnév,gépnév, meg hasonlók.
im egy példa:
[code:1:191cfe049b]
destination full {
file("/dev/tty12");
file("/var/log/full_$DAY-$MONTH-$YEAR.log"
owner("root")
group("adm")
perm(0640));
};
destination hosts {
file("/var/log/HOSTS/$HOST/$FACILITY/$YEAR/$MONTH/$DAY/$FACILITY$YEAR$MONTH$DAY"
owner(root)
group(root)
perm(0600)
dir_perm(0700)
create_dirs(yes));
};
[/code:1:191cfe049b]
Nem találtam jobban illeszkedő szálat, ez pedig elég általánosnak tűnik.
Van 2 teszt virtuális szerverem mindkettőn syslog-ng-t használok,
tcp-n küldöm a logokat -- OK
szűröm azokat a logokat amikről mail-t akarok kapni --- OK
mail küldés ---- Nem teljesen OK
Küld levelet, de ha rövid időn belül több olyan log esik be amiről kellene levelet küldeni akkor csak az elsőt küldi el (esetleg a másodikat is).
Rövid idön belül : for ciklussal generálom, vagy pl : logger "" && logger "" .....
Van valakiek ötlete, hogy lehetne megoldai, hogy
1) minden log sorrol kapjak mail
2) (vágy) kötegelve kaphassak levelet ha olyan sok lenne a küldeni szánt sor.
Próbáltam játszani a flush_lines(); flush_timeout(); értékekkel de eredménytelen voltam (értsd 9000-re állítva sem volt észlelhető hatás)
syslog-ng konf részlet :
source src_tcp{ tcp(port(5140) keep-alive(yes)); };
filter teszt { match("kernel"); };
destination email { program("/home/mail.sh"); };
log { source(src_tcp); filter (teszt); destination (email); };
mail küldö script :
#!/bin/bash
read body
if [ "$body" == "" ]
then
body="Restart miatti syslog-ng meghivas"
fi
sendEmail -f kovacsl@mail.kfki.hu -t kovacsl@mail.kfki.hu -s smtp-in.kfki.hu -u teszt-mail -m $body
Logwatch jellegu megoldasokat neztel mar? Lehet, hogy mar valaki megirta amit szeretnel.
Még nem, egyenlőre semmi más ilyen jellegű megoldást nem néztem.
Egy rsyslog-os infrastrukturát kellene leváltanom az összes szerveren. Nemtudom hogy az rsyslog-os jelenlegi megoldás mit reagálna ilyen burst-re. Ebben a megoldásban egy ilyen hibára bukkantam a tesztelés alatt, így merült fel.
Megnézem a logwatch-os megoldásokat hátha nem kell a spanyol viaszt feltalálni (újra :) )
A probléma innentől "érdekesség" besorolásba került, kifejezetten nem cél hogy mindenről jöjjön levél, csak az hogy ha valami történik akkor jönjjön egy figyelmeztető mail.
Ha valaki ötletelne azt szíveen veszel
hello
a swatch -ot nezted mar?