syslog-ng.conf 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. @version: 4.5
  2. @include "scl.conf"
  3. options {
  4. chain_hostnames(off);
  5. flush_lines(0);
  6. use_dns(no);
  7. use_fqdn(no);
  8. owner("root"); group("adm"); perm(0640);
  9. stats(freq(0));
  10. keep_timestamp(no);
  11. bad_hostname("^gconfd$");
  12. };
  13. source s_dgram {
  14. unix-dgram("/dev/log");
  15. internal();
  16. };
  17. destination d_stdout { pipe("/dev/stdout"); };
  18. destination d_valkey_ui_log {
  19. redis(
  20. host("valkey-mailcow")
  21. persist-name("valkey1")
  22. port(6379)
  23. auth("`VALKEYPASS`")
  24. command("LPUSH" "DOVECOT_MAILLOG" "$(format-json time=\"$S_UNIXTIME\" priority=\"$PRIORITY\" program=\"$PROGRAM\" message=\"$MESSAGE\")\n")
  25. );
  26. };
  27. destination d_valkey_f2b_channel {
  28. redis(
  29. host("valkey-mailcow")
  30. persist-name("valkey2")
  31. port(6379)
  32. auth("`VALKEYPASS`")
  33. command("PUBLISH" "F2B_CHANNEL" "$(sanitize $MESSAGE)")
  34. );
  35. };
  36. filter f_mail { facility(mail); };
  37. filter f_replica {
  38. not match("User has no mail_replica in userdb" value("MESSAGE"));
  39. not match("Error: sync: Unknown user in remote" value("MESSAGE"));
  40. };
  41. filter f_dovecot_auth_try {
  42. not match("- trying the next passdb" value("MESSAGE")) and
  43. not match("- trying the next userdb" value("MESSAGE"));
  44. };
  45. log {
  46. source(s_dgram);
  47. filter(f_dovecot_auth_try);
  48. filter(f_replica);
  49. destination(d_stdout);
  50. filter(f_mail);
  51. destination(d_valkey_ui_log);
  52. destination(d_valkey_f2b_channel);
  53. };