syslog-ng: memfilter pesan yang tidak dikategorikan

0

Saya mengatur konfigurasi di mana pesan diklasifikasikan dan ditulis ke dalam file yang sesuai (tujuan). Saya bertanya-tanya - apakah mungkin untuk masuk ke pesan file yang tidak diambil oleh filter tertentu?

Sebagai contoh, ada filter untuk dhcpd, dhclient, acpid, sshdpesan. Dan yang saya inginkan adalah mengambil pesan yang tidak termasuk dalam 4 kategori di atas.

Saya melihat tagstersedia sebagai struktur internal per-pesan. Saya mencoba menetapkan tanda untuk setiap kategori dan meraih tanpa tanda seperti ini:

rewrite r_set_routed { set-tag('routed'); };
filter f_untagged { not tags('routed'); };
filter f_dhcpd_program { program('dhcpd'); };
<...>
log { source(s_local); rewrite(r_set_routed); filter(f_dhcpd_program); destination(d_dhcpd_file); };
<...>
log { source(s_local); filter(f_untagged); destination(d_unfiltered_file); };

Tapi ini tidak berfungsi (sepertinya r_set_routedmenulis ulang di satu log {}tidak mempengaruhi yang lain log {}). Saya tahu bahwa mungkin untuk meniadakan semua filter untuk menghasilkan filter yang tidak cocok dengan semuanya di atas, tetapi itu adalah cara yang rawan kesalahan dan kotor yang ingin saya hindari.

Alexander Sergeev
sumber

Jawaban: