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