Mam program, który wypisuje do syslog o podanej nazwie tagu / programu. Chciałbym móc filtrować ruch syslog z tego programu i wysyłać go do zdalnego serwera syslog, pozostawiając cały pozostały ruch syslog lokalny.
Mogę wysłać cały ruch do zdalnego serwera za pomocą
*.* @remote_server
Jak to filtrować?
Odpowiedzi:
Pliki konfiguracyjne Rsyslog znajdują się w:
/etc/rsyslog.d/*.conf
Rsyslog odczytuje pliki conf sekwencyjnie, dlatego ważne jest, aby nazwać swój plik konfiguracyjny, aby konkretna konfiguracja została załadowana, zanim cokolwiek innego się wydarzy. Nazwij więc swój plik zaczynając od wiodących zer, tj
00-my-file.conf
. Lepiej jest utworzyć nowy plik, aby aktualizacje i tak dalej nie zastępowały lokalnej konfiguracji.Przykład:
Lub jeśli chcesz po prostu usunąć niektóre wpisy:
W twoim przypadku: (UDP)
Lub (TCP)
Te
& ~
środki, aby zatrzymać dopasowanie przetwarzania (poprzednią linię tylko!) Wpisy dalej.Kilka bardziej ogólnych informacji:
Ponadto zawsze upewnij się, że filtry są w tym samym wierszu:
Przydatne filtry:
Operatorzy:
Więcej informacji: http://wiki.rsyslog.com/index.php/Configuration_Samples
źródło
Możemy również tego spróbować. Dla mnie działa dobrze.
UWAGA: tutaj
testing_docker
własność folderu należy przekazać użytkownikowi syslog. Wykonaj poniższe polecenie, aby ustawić uprawnienia.źródło