Dla zachowania kompletności dodam jedną stwierdzoną różnicę, która może mieć wpływ na ciebie lub nie. syslog-ng używa fopen, podczas gdy rsyslog używa fappend. Ma to znaczenie, jeśli masz chattr +aswoje pliki syslog. Większość ludzi tego nie robi, właśnie miałem specjalny przypadek użycia i tak się dowiedziałem. Właśnie sprawiłem, że wielu ludzi się skrzywiło.
Aaron
Odpowiedzi:
52
Zasadniczo wszystkie są takie same, ponieważ wszystkie umożliwiają rejestrowanie danych z różnych typów systemów w centralnym repozytorium.
Są to jednak trzy różne projekty, z których każdy ma na celu ulepszenie poprzedniego, zapewniając większą niezawodność i funkcjonalność.
SyslogProjekt był pierwszy projekt. Zaczęło się w 1980 roku. Jest to główny projekt Syslogprotokołu. W tej chwili Syslog jest bardzo prostym protokołem. Na początku obsługuje tylko UDP do transportu, więc nie gwarantuje dostarczenia wiadomości.
Następny przyszedł syslog-ngw 1998 roku. Rozszerza podstawowy syslogprotokół o nowe funkcje, takie jak:
filtrowanie na podstawie zawartości
Logowanie bezpośrednio do bazy danych
TCP do transportu
Szyfrowanie TLS
Następny przyszedł Rsyslogw 2004 roku. Rozszerza syslogprotokół o nowe funkcje, takie jak:
Obsługa protokołu RELP
Obsługa operacji buforowanych
Powiedzmy, że dzisiaj są to trzy równoległe projekty, które rozwijały się osobno w zależności od wersji, ale także rozwijały się równolegle w odniesieniu do tego, co robili sąsiedzi.
Osobiście uważam, że dzisiaj syslog-ngjest to odniesienie w większości przypadków, ponieważ jest to najbardziej dojrzały projekt oferujący główne funkcje, których możesz potrzebować, a także łatwą i kompleksową konfigurację i konfigurację.
Dla przypomnienia, syslog OpenBSD może wykonywać TCP i TLS (i UDP)
Neil McGuigan
32
są to 3 różne rodzaje menedżerów dzienników: umożliwia systemowi zbieranie filtrów oraz przesyłanie / przechowywanie dzienników.
Syslog(demon również o nazwie sysklogd) jest domyślnym LM we wspólnych dystrybucjach Linuksa. Lekki, ale niezbyt elastyczny, możesz przekierowywać strumień dziennika posortowany według obiektu i ważności do plików i przez sieć (TCP, UDP).
rsyslogjest „zaawansowaną” wersją, w sysklogdktórej plik konfiguracyjny pozostaje taki sam (możesz skopiować syslog.confplik bezpośrednio do rsyslog.confniego i działa); ale masz wiele nowych fajnych rzeczy:
Możesz rozróżnić filtrowanie dziennika według programu, źródła, wiadomości, pid itp. (Na przykład każda wiadomość oznaczona komunikatem „połączenie zamknięte” do pliku zamkniętego. Log)
Możesz odrzucić wiadomość po jednej lub więcej reguł Odwiedź http://www.rsyslog.com, co jest naprawdę bardzo dobre
Syslog-ng to „Next-Gen”. Myślę, że to najlepszy sposób na zarządzanie dziennikami: wszystko jest obiektem (źródło, miejsce docelowe, filtr i sama zasada przekazywania), a składnia jest jasna. Wątpię pod względem funkcjonalności, które są rsyslogi syslog-ngsą różne.
Argumentowałbym, że zarówno syslog-ng, jak i rsyslog to „następna generacja”, a przynajmniej nowszy zamiennik starszego syslog. Oba są porównywalne pod względem funkcji, ale ich składnia jest bardzo różna. syslog-ng ma swoją unikalną składnię, podczas gdy składnia rsyslog jest bardziej podobna do starszej składni syslog.
Stefan Lasiewski
9
A potem jest journalctl/journald
Mausy5043
9
Skąd mogę uzyskać kod źródłowy dla syslog ()
Zapewnia to implementacja glibc lub libc w innych wersjach uniksowych. To wywołanie zasadniczo przesyła twoją wiadomość do gniazda domeny / syslog unix / dev / log. To gniazdo jest zwykle tworzone przez program rejestrujący system (np. Rsyslog, syslog-ng, nxlog itp.).
Wszystkie są demonami syslog, w których rsyslog i syslog-ng są szybszymi i bogatszymi w funkcje zamiennikami tradycyjnego syslogd (najczęściej nieobsługiwanego). syslog-ng zaczął od zera (z innym formatem konfiguracji), podczas gdy rsyslog był pierwotnie rozwidleniem syslogd, obsługującym i rozszerzającym jego składnię. W ostatnich latach rsyslog zaczął także obsługiwać nowszy format konfiguracji. Do tej pory naprawdę trudno jest porównać te dwa elementy bez wchodzenia w szczegóły i rozpoczynania wojen z ogniem.
chattr +a
swoje pliki syslog. Większość ludzi tego nie robi, właśnie miałem specjalny przypadek użycia i tak się dowiedziałem. Właśnie sprawiłem, że wielu ludzi się skrzywiło.Odpowiedzi:
Zasadniczo wszystkie są takie same, ponieważ wszystkie umożliwiają rejestrowanie danych z różnych typów systemów w centralnym repozytorium.
Są to jednak trzy różne projekty, z których każdy ma na celu ulepszenie poprzedniego, zapewniając większą niezawodność i funkcjonalność.
Syslog
Projekt był pierwszy projekt. Zaczęło się w 1980 roku. Jest to główny projektSyslog
protokołu. W tej chwili Syslog jest bardzo prostym protokołem. Na początku obsługuje tylko UDP do transportu, więc nie gwarantuje dostarczenia wiadomości.Następny przyszedł
syslog-ng
w 1998 roku. Rozszerza podstawowysyslog
protokół o nowe funkcje, takie jak:Następny przyszedł
Rsyslog
w 2004 roku. Rozszerzasyslog
protokół o nowe funkcje, takie jak:Powiedzmy, że dzisiaj są to trzy równoległe projekty, które rozwijały się osobno w zależności od wersji, ale także rozwijały się równolegle w odniesieniu do tego, co robili sąsiedzi.
Osobiście uważam, że dzisiaj
syslog-ng
jest to odniesienie w większości przypadków, ponieważ jest to najbardziej dojrzały projekt oferujący główne funkcje, których możesz potrzebować, a także łatwą i kompleksową konfigurację i konfigurację.źródło
są to 3 różne rodzaje menedżerów dzienników: umożliwia systemowi zbieranie filtrów oraz przesyłanie / przechowywanie dzienników.
Syslog
(demon również o nazwiesysklogd
) jest domyślnym LM we wspólnych dystrybucjach Linuksa. Lekki, ale niezbyt elastyczny, możesz przekierowywać strumień dziennika posortowany według obiektu i ważności do plików i przez sieć (TCP, UDP).rsyslog
jest „zaawansowaną” wersją, wsysklogd
której plik konfiguracyjny pozostaje taki sam (możesz skopiowaćsyslog.conf
plik bezpośrednio dorsyslog.conf
niego i działa); ale masz wiele nowych fajnych rzeczy:Syslog-ng to „Next-Gen”. Myślę, że to najlepszy sposób na zarządzanie dziennikami: wszystko jest obiektem (źródło, miejsce docelowe, filtr i sama zasada przekazywania), a składnia jest jasna. Wątpię pod względem funkcjonalności, które są
rsyslog
isyslog-ng
są różne.źródło
journalctl
/journald
Zapewnia to implementacja glibc lub libc w innych wersjach uniksowych. To wywołanie zasadniczo przesyła twoją wiadomość do gniazda domeny / syslog unix / dev / log. To gniazdo jest zwykle tworzone przez program rejestrujący system (np. Rsyslog, syslog-ng, nxlog itp.).
źródło
Wszystkie są demonami syslog, w których rsyslog i syslog-ng są szybszymi i bogatszymi w funkcje zamiennikami tradycyjnego syslogd (najczęściej nieobsługiwanego). syslog-ng zaczął od zera (z innym formatem konfiguracji), podczas gdy rsyslog był pierwotnie rozwidleniem syslogd, obsługującym i rozszerzającym jego składnię. W ostatnich latach rsyslog zaczął także obsługiwać nowszy format konfiguracji. Do tej pory naprawdę trudno jest porównać te dwa elementy bez wchodzenia w szczegóły i rozpoczynania wojen z ogniem.
Ogólnie Syslog jest dość mylący, ponieważ może składać się z wielu rzeczy. Próbowałem ujednoznacznić tutaj: https://sematext.com/blog/2017/01/30/what-is-syslog-daemons-message-formats-and-protocols/
źródło