Puncte:0

syslog-ng mesaj de jurnal duplicat

drapel pk

Nu este duplicat acest întrebare pentru că acesta folosește rsyslog pe client, în timp ce eu folosesc syslog-ng pe ambele părți.

Am o instanță syslog-ng atât pe client, cât și pe server și, indiferent de motiv, există linii de jurnal repetate în jurnalul serverului. Jurnalele sunt trimise în facilitatea de e-mail.

2021-12-18T21:01:44+01:00 192.168.1.11 [avertisment] Avertisment: acesta este un test
2021-12-18T21:01:44+01:00 192.168.1.11 [err] EROARE DE TEST
2021-12-18T21:01:44+01:00 192.168.1.11 [crit] nu este o condiție critică de fapt
2021-12-18T21:01:44+01:00 192.168.1.11 [alertă] wee woo wee woo
(liniile duplicate încep aici)
2021-12-18T21:01:44+01:00 192.168.1.11 [avertisment] Avertisment: acesta este un test
2021-12-18T21:01:44+01:00 192.168.1.11 [err] EROARE DE TEST
2021-12-18T21:01:44+01:00 192.168.1.11 [crit] nu este o condiție critică de fapt
2021-12-18T21:01:44+01:00 192.168.1.11 [alertă] wee woo wee woo

Configurația clientului meu syslog-ng

@versiunea: 3.33
@include „scl.conf”
#
# /etc/syslog-ng/syslog-ng.conf
#

Opțiuni {
  frecvență_statistică (0);
  linii_line (0);
  timp_redeschidere (10);
  log_fifo_size (10000);
  chain_hostnames (dezactivat);
  dns_cache (nu);
  use_dns (nu);
  use_fqdn (nu);
  create_dirs (nu);
  keep_hostname (da);
  perm(0640);
  grup ("jurnal");
};

sursă src {
  sistem();
  intern();
};

destinație d_authlog { fișier("/var/log/auth.log"); };
destinație d_syslog { fișier("/var/log/syslog.log"); };
destinație d_cron { fișier("/var/log/crond.log"); };
destinație d_daemon { fișier("/var/log/daemon.log"); };
destinație d_kernel { fișier("/var/log/kernel.log"); };
destinație d_lpr { fișier("/var/log/lpr.log"); };
destinație d_user { fișier("/var/log/user.log"); };
destinație d_uucp { fișier("/var/log/uucp.log"); };
destinație d_mail {
  syslog("raspi" port(8000) transport("tcp"));
  #file("/var/log/mail.log");
};
destinație d_news { fișier("/var/log/news.log"); };
destinație d_ppp { fișier("/var/log/ppp.log"); };
destinație d_debug { fișier("/var/log/debug.log"); };
destinație d_messages { fișier("/var/log/messages.log"); };
destinație d_errors { fișier("/var/log/errors.log"); };
destinație d_everything { fișier("/var/log/everything.log"); };
destinație d_iptables { fișier("/var/log/iptables.log"); };
destinație d_acpid { fișier("/var/log/acpid.log"); };
destinație d_console { usertty("rădăcină"); };

# Înregistrați totul în tty12
destinație console_all { fișier("/dev/tty12"); };

filtru f_auth { facilitate(auth); };
filtru f_authpriv { facilitate(auth, authpriv); };
filtru f_syslog { program(syslog-ng); };
filtru f_cron { facilitate(cron); };
filtru f_daemon { facilitate(daemon); };
filter f_kernel { facilitate(kern) și nu filter(f_iptables); };
filtru f_lpr { facilitate(lpr); };
filtru f_mail { facilitate(mail); };
filtru f_știri { facilitate(știri); };
filtru f_utilizator { facilitate(utilizator); };
filtru f_uucp { facilitate(uucp); };
filtru f_ppp { facilitate(local2); };
filtru f_debug { nu facilitate(auth, authpriv, news, mail); };
filter f_messages { level(info..warn) și nu facilitate(auth, authpriv, mail, news, cron) și nu program(syslog-ng) și nu filter(f_iptables); };
filter f_everything { level(debug..emerg) si nu facilitate(auth, authpriv); };
filtru f_emergency { level(emerg); };
filtru f_info { level(info); };
filtru f_notice { level(notice); };
filtru f_warn { level(warn); };
filtru f_crit { level(crit); };
filtru f_err { level(err); };
filtru f_iptables { potrivire("IN="valoare("MESAJ")) și potrivire("OUT="valoare("MESAJ")); };
filtru f_acpid { program("acpid"); };

log { sursa(src); filter(f_acpid); destinație(d_acpid); };
log { sursa(src); filter(f_authpriv); destinație(d_authlog); };
log { sursa(src); filter(f_syslog); destinație(d_syslog); };
log { sursa(src); filter(f_cron); destinație(d_cron); };
log { sursa(src); filter(f_daemon); destinație(d_daemon); };
log { sursa(src); filter(f_kernel); destinație(d_kernel); };
log { sursa(src); filtru (f_lpr); destinație(d_lpr); };
log { sursa(src); filtru (f_mail); destinație(d_mail); };
log { sursa(src); filter(f_news); destinație(d_știri); };
log { sursa(src); filtru (f_ppp); destinație(d_ppp); };
log { sursa(src); filter(f_user); destinație(d_user); };
log { sursa(src); filtru (f_uucp); destinație(d_uucp); };
#log { sursa(src); filter(f_debug); destinație(d_debug); };
log { sursa(src); filter(f_messages); destinație(d_mesaje); };
log { sursa(src); filter(f_err); destinație(d_erori); };
log { sursa(src); filtru(f_emergency); destinație(d_console); };
log { sursa(src); filtru (f_totul); destinație(d_totul); };
log { sursa(src); filter(f_iptables); destinație(d_iptables); };

# Înregistrați totul în tty12
#log { sursa(src); destinație(console_all); };

Configurația serverului

@versiunea: 3.27
@include „scl.conf”

# Fișier de configurare Syslog-ng, compatibil cu Debian syslogd implicit
# instalare.

# În primul rând, setați câteva opțiuni globale.
opțiuni { chain_hostnames(off); linii_linii(0); use_dns(nu); use_fqdn(nu);
      dns_cache(nu); proprietar ("rădăcină"); grup ("adm"); perm(0640);
      frecvență_statistică(0); bad_hostname("^gconfd$");
};

#######################
# Surse
#######################
# Acesta este comportamentul implicit al pachetului sysklogd
# Jurnalele pot veni din fluxul Unix, dar nu de la o altă mașină.
#
sursă s_src {
       syslog(ip("0.0.0.0") port(8000) transport("tcp"));
};

# Dacă doriți să obțineți jurnalele de la o mașină la distanță, ar trebui să anulați comentariile
# asta și comentați linia sursă de mai sus.
#
#source s_net { tcp(ip(127.0.0.1) port(1000)); };

#######################
# Destinații
#######################
# Mai întâi niște fișiere jurnal standard
#
template recv {
    template("${ISODATE} ${HOST} [${LEVEL}] ${MESAJ}\n");
};
destinație d_auth { fișier("/var/log/auth.log"); };
destinație d_cron { fișier("/var/log/cron.log"); };
destinație d_daemon { fișier("/var/log/daemon.log"); };
destinație d_kern { fișier("/var/log/kern.log"); };
destinație d_lpr { fișier("/var/log/lpr.log"); };
destinație d_mail { file("/var/log/${YEAR}-${LUNA}.log" template(recv)); };
destinație d_syslog { fișier("/var/log/syslog"); };
destinație d_user { fișier("/var/log/user.log"); };
destinație d_uucp { fișier("/var/log/uucp.log"); };

# Aceste fișiere sunt jurnalul care provin din subsistemul de e-mail.
#
#destination d_mailinfo { fisier("/var/log/mail.info"); };
#destination d_mailwarn { fisier("/var/log/mail.warn"); };
#destination d_mailerr { fisier("/var/log/mail.err"); };

# Înregistrare pentru sistemul de știri INN
#
destinație d_newscrit { fișier("/var/log/news/news.crit"); };
destinație d_newserr { fișier("/var/log/news/news.err"); };
destinație d_newsnotice { fișier("/var/log/news/news.notice"); };

# Unele fișiere jurnal „catch-all”.
#
destinație d_debug { fișier("/var/log/debug"); };
destinație d_error { fișier("/var/log/error"); };
destinație d_messages { fișier("/var/log/messages"); };

# Consola rădăcină.
#
destinație d_console { usertty("rădăcină"); };

# Consolă virtuală.
#
destinație d_console_all { fișier(`tty10`); };

# Tubul numit /dev/xconsole este pentru utilitarul nsole. Pentru a-l folosi,
# trebuie să invocați nsole' cu opțiunea -file':
#
# $ xconsole -file /dev/xconsole [...]
#
destinație d_xconsole { pipe("/dev/xconsole"); };

# Trimite mesajele către o altă gazdă
#
#destination d_net { tcp("127.0.0.1" port(1000) log_fifo_size(1000)); };

# Doar Debian
destinație d_ppp { fișier("/var/log/ppp.log"); };

#######################
# Filtre
#######################
# Iată opțiunile de filtrare. Cu aceste reguli, putem stabili care 
# mesaj merge unde.

filtru f_dbg { level(debug); };
filtru f_info { level(info); };
filtru f_notice { level(notice); };
filtru f_warn { level(warn); };
filtru f_err { level(err); };
filtru f_crit { level(crit .. emerg); };

filtru f_debug { level(debug) si nu facilitate(auth, authpriv, news, mail); };
filtru f_error { level(err .. emerg) ; };
filtru f_messages { level(info,notice,warn) și 
                    nu facilitate(auth,authpriv,cron,daemon,mail,news); };

filter f_auth { facilitate(auth, authpriv) și nu filter(f_debug); };
filter f_cron { facilitate(cron) și nu filter(f_debug); };
filter f_daemon { facilitate(daemon) și nu filter(f_debug); };
filter f_kern { facilitate(kern) și nu filter(f_debug); };
filter f_lpr { facilitate(lpr) și nu filter(f_debug); };
filtru f_local { facilitate(local0, local1, local3, local4, local5,
                        local6, local7) și nu filter(f_debug); };
filter f_mail { facilitate(mail) și nu filter(f_debug) și nu host("localhost"); };
filter f_news { facilitate(știri) și nu filter(f_debug); };
filter f_syslog3 { nu facilitate(auth, authpriv, mail) și nu filter(f_debug); };
filter f_user { facilitate(utilizator) și nu filter(f_debug); };
filter f_uucp { facilitate(uucp) și nu filter(f_debug); };

filtru f_cnews { level(notice, err, crit) and facility(news); };
filtru f_cother { level(debug, info, notice, warn) sau facilitate (daemon, mail); };

filter f_ppp { facilitate(local2) și nu filter(f_debug); };
filtru f_console { level(warn .. emerg); };

#######################
# Căi de jurnal
#######################
log { sursa(s_src); filtru (f_auth); destinație(d_auth); };
log { sursa(s_src); filter(f_cron); destinație(d_cron); };
log { sursa(s_src); filter(f_daemon); destinație(d_daemon); };
log { sursa(s_src); filter(f_kern); destinație(d_kern); };
log { sursa(s_src); filtru (f_lpr); destinație(d_lpr); };
log { sursa(s_src); filtru (f_syslog3); destinație(d_syslog); };
log { sursa(s_src); filter(f_user); destinație(d_user); };
log { sursa(s_src); filtru (f_uucp); destinație(d_uucp); };

log { sursa(s_src); filtru (f_mail); destinație(d_mail); };
#log { sursa(s_src); filtru (f_mail); filter(f_info); destinație(d_mailinfo); };
#log { sursa(s_src); filtru (f_mail); filter(f_warn); destinație(d_mailwarn); };
#log { sursa(s_src); filtru (f_mail); filter(f_err); destinație(d_mailerr); };

log { sursa(s_src); filter(f_news); filter(f_crit); destinație(d_newscrit); };
log { sursa(s_src); filter(f_news); filter(f_err); destinație(d_newserr); };
log { sursa(s_src); filter(f_news); filter(f_notice); destinație(d_newsnotice); };
#log { sursa(s_src); filter(f_cnews); destinație(d_console_all); };
#log { sursa(s_src); filtru(f_cother); destinație(d_console_all); };

#log { sursa(s_src); filtru (f_ppp); destinație(d_ppp); };

log { sursa(s_src); filter(f_debug); destinație(d_debug); };
log { sursa(s_src); filter(f_error); destinație(d_error); };
log { sursa(s_src); filter(f_messages); destinație(d_mesaje); };

log { sursa(s_src); filter(f_console); destinație(d_console_all);
                    destinație(d_xconsole); };
log { sursa(s_src); filter(f_crit); destinație(d_console); };

# Toate mesajele sunt trimise către un site la distanță
#
#log { sursa(s_src); destinație(d_net); };

###
# Includeți toate fișierele de configurare în /etc/syslog-ng/conf.d/
###
@include „/etc/syslog-ng/conf.d/*.conf”
drapel in
Bună, nu este clar unde apar mesajele duplicate: este în fișierele de destinație d_mail de pe serverul tău? Dacă da, atunci sunt duplicate și pe partea clientului (când activați destinația fișierului comentat în d_mail-ul clientului)?
ElpersonPL avatar
drapel pk
@RobertFekete Problema pare să se întâmple doar pe server. Clientul se înregistrează bine.
drapel in
Ciudat. Există ceva în directorul tău /etc/syslog-ng/conf.d/ care ar putea adăuga o altă sursă sau o declarație de jurnal?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.