syslogd problem?
Martin Bily
mbily at mbily.eu
Tue Jan 31 23:20:17 CET 2017
Ahoj kolegové,
pravděpodobně jsem narazil na chybu v nově implementované funkcionalitě.
Konkrétně se jedná o práci s druhotnými konfiguračními soubory, které se
do hlavní konfigurace syslogd začleňují direktivou include v hlavním
konfiguračním souboru syslog.conf. Problém se mi projeví tehdy, když
těch druhotných souborů je v adresáři víc než jeden.
Můžete prosím někdo podobnou konfiguraci zkusit u sebe? Ať se ověří či
vyvrátí, že je chyba jen mezi mou židlí a klávesnicí. Googlováním jsem
nic relevantního nenašel, v bugzille nic hlášeno není, do luštění
zdrojáku se mi nechce...
A proč se nespokojím s jedním klasickým souborem? To roztrhání na více
samostatných je příjemnější při konfiguraci/orchestraci jednotlivých
služeb pomocí ansible.
Děkuji,
Martin Bílý
FreeBSD 11.0-STABLE r310489, totéž i na aktuálnějším r313019. Je potřeba
alespoň r308160 z 1.11.2016.
Spustím syslogd ručně s přepínačem debug (syslogd -d). V první části
výpisu je znát, že se čtou jednotlivé řádky z /etc/syslog.conf, parsují
a ukazuje výsledek (cfline). Následuje načtení tří includovaných souborů
z /etc/syslog.d. (ip adresu z auth_send.conf jsem cenzuroval).
V další fázi se začnou otevírat logovací soubory. A tady je zádrhel.
Otevírají se jen soubory zmíněné v hlavním konfiguračním souboru a z
posledního souboru z include adresáře. Přejmenováním jsem cvičně měnil
pořadí includovaných souborů, vždy se však otevřely logovací soubor(y)
jen pro poslední parsovaný.
--- teprve zhruba odtud to bude zajímavé ---
cfline("cron.* /var/log/cron",f, "*", "*")
cfline("*.=debug /var/log/debug.log", f, "-devd", "*")
cfline("*.emerg *", f, "-devd", "*")
cfline("console.info /var/log/console.log", f, "-devd", "*")
cfline("*.* /var/log/ppp.log", f, "ppp", "*")
Trying to include files in '/etc/syslog.d'
reading /etc/syslog.d/auth_send.conf
cfline("auth.info;authpriv.info @x.x.x.x", f, "*", "*")
reading /etc/syslog.d/radius.conf
cfline("local1.* /var/log/radius.log", f, "*", "*")
cfline("local1.* | exec
/usr/local/sbin/radius_fit_log.sh", f, "*", "*")
reading /etc/syslog.d/radsec.conf
cfline("local2.* /var/log/radsec.log", f, "*", "*")
Trying to include files in '/usr/local/etc/syslog.d'
Unable to open '/usr/local/etc/syslog.d': No such file or directory
X X X X X X X X X X X X X X X X 7 X X X X X X X X FILE: /var/log/pgsql.log
4 3 2 3 5 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 X CONSOLE: /dev/console
7 5 2 5 5 5 6 3 5 5 X 5 5 5 5 5 X X X X X X X X X FILE: /var/log/messages
X X X X X X X X X X X X X 7 X X X X X X X X X X X FILE: /var/log/security
X X X X 6 X X X X X 6 X X X X X X X X X X X X X X FILE: /var/log/auth.log
X X 6 X X X X X X X X X X X X X X X X X X X X X X FILE: /var/log/maillog
X X X X X X 6 X X X X X X X X X X X X X X X X X X FILE: /var/log/lpd-errs
X X X X X X X X X X X 6 X X X X X X X X X X X X X FILE: /var/log/xferlog
X X X X X X X X X 7 X X X X X X X X X X X X X X X FILE: /var/log/cron
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 X FILE:
/var/log/debug.log (-devd)
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X WALL: (-devd)
X X X X X X X X X X X X X X 6 X X X X X X X X X X FILE:
/var/log/console.log (-devd)
7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 X FILE: /var/log/ppp.log
(ppp)
X X X X X X X X X X X X X X X X X X 7 X X X X X X FILE: /var/log/radsec.log
logmsg: pri 56, flags 4, from radius, msg syslogd: restart
syslogd: restarted
More information about the Users-l
mailing list