rsyslog to oprogramowanie wiersza polecenia o otwartym kodzie źródłowym, demon zapewniający ulepszoną i wielowątkową wersję starego narzędzia syslogd. Właściwie jest to zamiennik oryginalnego syslogd, pasujący do wszystkich systemów operacyjnych GNU / Linux. Jego nazwa jest akronimem z szybkiego systemu do przetwarzania logów.
Funkcje na pierwszy rzut oka
Najważniejsze cechy to modułowa konstrukcja, obsługa buforowania dysków na żądanie, powiadamianie e-mailem, kompresja wiadomości on-the-wire, obsługa wszystkich systemów operacyjnych GNU / Linux, obsługa głównych architektur, najnowocześniejsze technologie bezpieczeństwo, wysoka wydajność, a także możliwość konwersji plików tekstowych do formatu syslog.
Wśród innych funkcji możemy wymienić wsparcie dla wielu wątków, możliwość filtrowania dowolnej części komunikatu syslog i obsługę sysloga przez TCP (Transmission Control Protocol), TLS (Transport Layer Security), SSL (Secure Sockets Layer) ) i protokoły RELP (Reliable Event Logging Protocol).
Ponadto program obsługuje serwery baz danych MySQL, Oracle i PostgreSQL, zapewnia w pełni konfigurowalny format wyjściowy i jest odpowiedni dla łańcuchów przekaźników klasy korporacyjnej. Deweloperzy nazywają go szwajcarskim nożem do logowania.
Zapewnia ponad milion wiadomości na sekundę
Gdy ograniczone przetwarzanie jest skuteczne, oprogramowanie rsyslog może dostarczyć ponad milion wiadomości na sekundę do miejsc docelowych. Zdalne miejsca docelowe są również obsługiwane i rsyslog to wspaniała, dobra robota.
Pierwsze kroki z rsyslog
Aby korzystać z aplikacji, musisz najpierw zainstalować ją w systemie GNU / Linux, korzystając z uniwersalnego archiwum źródeł rozprowadzanego za darmo na Softoware lub z gotowych pakietów binarnych z domyślnych repozytoriów oprogramowania twojej dystrybucji.
Po instalacji możesz uruchomić demona rsyslog, uruchamiając program & ldquo; rsyslogd & rdquo; polecenie (bez cudzysłowów) w emulatorze terminala, wykonaj jedną z dostępnych opcji. Aby zobaczyć obsługiwane opcje, uruchom program & ldquo; rsyslogd --help & rdquo; polecenie bez cytowań.
Co nowego w tej wersji:
- Nowy dostawca podpisu dla infrastruktury Keyless Signature Infrastructure (KSI) dodanej
- system kompilacji: włącz ponownie opcję "make distcheck"
- bugfix imfile: tryb multiline regex zignorował opcję escapeLF
- Poprawka omkafka: naprawiono kilka problemów związanych z współbieżnością, z których większość dotyczy zagadnień dynamicznych.
- bugfix: execonlywhenpreviousissuspended nie działał poprawnie. W szczególności powodowało to problemy, gdy akcja z tym atrybutem została skonfigurowana za pomocą kolejki działań.
- Mechanizm podstawowy poprawek błędów: zapewniona atomowość zmiennej globalnej. Może to prowadzić do problemów w RainerScript, a także prawdopodobnie w innych obszarach, w których zmienne globalne są używane w rsyslog. Nie pomijałbym tego, może to prowadzić do segfaultów.
- bugfix imfile: segfault podczas korzystania z startmsg.regex z powodu pustego wiersza dziennika
- bugfix: problem kompilacji w systemie Solaris
- bugfix: build strndup system został użyty, nawet jeśli nie jest obecny, dodano funkcję zgodności. To pojawiło się w kompilacjach Solaris.
Co nowego w wersji:
- omkafka: dodaj obsługę dynamicznych tematów i automatycznego partycjonowania. Dzięki Taitowi Clarridge za poprawki.
- imtcp / imptcp: obsługa uszkodzonego szkieletu syslog Cisco ASA TCP
- omfwd: więcej detailled komunikatów o błędach w przypadku błędu wysyłania UDP
- Dziennik syslog TLS: włącz możliwość włączania rejestrowania debugowania GnuTLS. Zapewnia to lepszą diagnostykę w trudnych do zdiagnozowania przypadkach, szczególnie gdy GnuTLS jest wyjątkowo wybredny w kwestii certyfikatów.
- bugfix: $ AbortOnUncleanConfig nie działało
- poprawiono komunikat wyjściowy i błąd rsyslogd -v z numerem wersji meta informacji zawartej teraz w komunikacie o błędzie i platformie budowania w wersji wyjściowej. Pomaga to pozbyć się zwykłej "danej wersji". pytanie na liście mailingowej, forach wsparcia itp. ...
- bugfix imtcp: kadrowanie z liczbą oktetów nie może być wyłączone
- bugfix: buduj problemy na Illuminos. Podziękowania dla Andrew Stormont za łatkę Poprawka
- : nieprawidłowy rozmiar danych dla właściwości globalnej iMaxLine. Został zdefiniowany jako int, ale w systemie konfiguracyjnym został zadeklarowany jako typ rozmiaru, który używa int64_t. W przypadku starszych instrukcji konfiguracyjnych może to prowadzić do błędnego dopasowania, co zwykle oznacza, że inna zmienna konfiguracyjna została nadpisana (w zależności od układu pamięci). zamyka https://github.com/rsyslog/rsyslog/issues/205
- bugfix: dozwolone były wartości ujemne dla parametru globalnego maxMessageSize
Co nowego w wersji 8.7.0:
- dodaj metadane wiadomości "system" do obiektu msg. pozwala to na przechowywanie metadanych obok komunikatu
- imfile: dodaj obsługę dla "filename" metadane. jest to użyteczne w przypadkach, w których używane są symbole wieloznaczne
- imptcp: sprawia, że nazwy liczników statystyk są zgodne z tym, co imudp, imtcp używa
- dodano nowy moduł "omkafka" wspierać pisanie do Apache Kafki
- omfwd: dodaj nowy & quot; udp.senddelay & quot; parametr
- mmnormalizuj ulepszenia. Dzięki Janmejay Singh za łatkę.
- RainerScript "foreach" obsługa iteratora i odczytu tablic. Dzięki Janmejay Singh za łatkę.
- wymaga teraz liblognorm & gt; = 1.0.2
- dodaj obsługę systemd & gt; = 209 nazw bibliotek
- BSD "ntp" obiekt (wartość 12) jest teraz obsługiwany również w filtrze. Podziękowania dla Douglasa K. Rand z Iteris, Inc. za łatkę. Uwaga: ta łatka została wydana pod ASL 2.0 (patrz rozmowa e-mail).
- bugfix: global (localHostName = "xxx") nie był przestrzegany we wszystkich modułach
- bugfix: wyślij poprawny komunikat o błędzie na pliku konfiguracyjnym-not-found. zamyka https://github.com/rsyslog/rsyslog/issues/173
- bugfix: impstats emitował nieprawidłowy format JSON (jeśli wybrano JSON)
- bugfix: (mały) wyciek pamięci w outchannelowym kodzie omfile. Podziękowania dla Koral Ilgun za zgłoszenie tego problemu.
- bugfix: imuxsock nie dezaktywował niektórych kodów nieobsługiwanych przez platformę. Wśród potencjalnych innych problemów, spowodowało to awarię kompilacji w systemie Solaris. Zauważ, że ten problem z budowaniem spowodował pojawienie się szerszego problemu, który do tej pory istniał zawsze, ale nie był widoczny. zamyka https://github.com/rsyslog/rsyslog/issues/185
Co nowego w wersji 8.6.0:
- ustawienie konfiguracyjne Opcje wiersza poleceń rsyslogd przestarzałe
- Dla większości z nich istnieją teraz odpowiednie obiekty konfiguracyjne. Niektóre z nich zostaną całkowicie porzucone, jeśli nikt ich nie nalega. Dodatkowe informacje na
- http://blog.gerhards.net/2014/11/phasing-out-legacy-command-line-options.html
- nowe i ulepszone wtyczki dla 0mq. Są one obecnie eksperymentalne.
- Podziękowania dla Briana Knoxa, który wniósł wkład do modułów i jest ich autorem.
- puste zestawy reguł zostały dozwolone. Nie powodują już błędu składni.
- dodaj parametr -N3, aby włączyć sprawdzanie konfiguracji częściowego pliku konfiguracyjnego
- Służy do konfigurowania plików włączania. Wyłącza sprawdzanie, czy w istnieje jakieś działanie
- all.
- rsyslogd -e opcja została ostatecznie usunięta li>
- Jest deprecjonowany od wielu lat.
- Udoskonalenia testbench
- Testbench jest teraz bardziej solidny i ma dodatkowe testy.
- Testbench jest teraz domyślnie wyłączony
- Aby go włączyć, użyj opcji -enable-testbench. Stało się tak, ponieważ testbench teraz lepiej sprawdza, czy są obecne wymagane moduły, a to z kolei doprowadziłoby do skonfigurowania komunikatów o błędach, gdzie wcześniej nie byłyby, gdybyśmy domyślnie pozostawili opcję "enable-testbench". Tak więc wyłączyliśmy to. Nie powinno to stanowić problemu dla tych kilku użytkowników testbench.
- dodaj nowe funkcje RainerScript warp () i replace ()
- Dzięki Singh Janmejay za łatkę.
- mmnormalize może teraz działać również na zmiennej
- Dzięki Singh Janmejay za łatkę.
- nowe opcje daty właściwości dla numeru porządkowego i tygodnia w tygodniu
- Dzięki użytkownikowi github arrjay dla łaty
- remove -enable-zlib configure option, zawsze wymagamy tego
- Trudno wyobrazić sobie system bez zlib, więc wyłączamy to
- zamyka https://github.com/rsyslog/rsyslog/issues/76
- Nieznaczna restrukturyzacja drzewa źródłowego: moduły nadsyłane znajdują się teraz w swoim katalogu ./contrib. Chodzi o to, aby czytelnikowi końcowemu wyjaśnić, które wtyczki są obsługiwane przez projekt rsyslog (te w ./plugins).
- bugfix: imudp sprawia, że rsyslog zawiesza się przy wyłączaniu, gdy używany jest więcej niż jeden wątek
- zamyka https://github.com/rsyslog/rsyslog/issues/126
- bugfix: nie wszystkie pliki zostały zamknięte przy uruchomieniu automatycznego tworzenia się tła
- To może się zdarzyć, gdy nie działa pod systemd. Niektóre fds o niskim numerze nie zostały w tym przypadku zamknięte.
- bugfix: literówka w parametrze konfiguracyjnym kolejki uczyniła parametr niezdatnym do użytku
- Dzięki Bojanowi Smojverowi za łatkę.
- bugfix: unitialized buffer jeden po drugim błąd w generowaniu nazwy hosta li>
- Pamięć podręczna DNS używała niezainicjowanej pamięci, co może prowadzić do generowania nieprawidłowej nazwy hosta.
- Podziękowania dla Jarrod Sayers za powiadomienie nas i podanie zaleceń dotyczących analizy i poprawek.
- bugsufiksu imuxsock: możliwy segfault, gdy SysSock.Use = "off"
- Dzięki alexjfisherowi za zgłoszenie tego problemu.
- zamyka https://github.com/rsyslog/rsyslog/issues/140
- bugfix: RainerScript: niepoprawne nazwy zestawów reguł zostały zaakceptowane podczas definiowania zestawu reguł, ale oczywiście nie można ich użyć, np. wywołanie zestawu reguł.
- WAŻNE: może to spowodować, że istniejące konfiguracje będą powodować błąd podczas uruchamiania, ponieważ mogą być również używane nieprawidłowe nazwy, np. podczas przypisywania zestawów reguł.
- bugfix: niektóre punkty wejścia modułów nie były wywoływane dla wszystkich modułów callback takich jak callCnfLoad () były głównie wywoływane dla modułów wejściowych. To zostało poprawione. Zauważ, że ta poprawka ma pewien potencjał regresji.
- bugfix omlibdbi: połączenie zostało przerwane w niewłaściwym wątku
- Może to mieć konsekwencje w zależności od używanego sterownika. Generalnie wygląda bardziej na problem kosmetyczny. Na przykład, z MySQL prowadzi to do małej pamięci, ale także irytującej wiadomości o wątku, który nie został właściwie zburzony.
- Imttcp został usunięty, ponieważ był to niekompletny moduł eksperymentalny
- pmrfc3164sd, ponieważ był to niestandardowy moduł, którego nikt nie używał
- Kiedyś trzymaliśmy to jako próbkę wewnątrz drzewa, ale ktokolwiek chce na to patrzeć, może sprawdzić starsze wersje wewnątrz git
- Omoracle został usunięty, ponieważ został osierocony i nie budował / działał przez kilka lat i nikt nie był zainteresowany jego naprawą
Co nowego w wersji 8.4.2:
- bugfix: poprawka dla CVE-2014-3634 nie obsłużyła wszystkich przypadków. To jest teraz poprawione. patrz także: CVE-2014-3683
- Naprawiono problem z budową na niektórych platformach. Dzięki Olaf za łatkę
- Zmiana zachowania: "msg" wiadomości z nieprawidłowym PRI ustawionym na "rawmsg". Gdy PRI jest nieważny, reszta nagłówka nie może być poprawna. Dlatego przenosimy go do MSG i nie próbujemy go analizować. Zauważ, że nie jest to bezpośrednio związane z problemem bezpieczeństwa, ale raczej zrobione, ponieważ ma to sens.
Co nowego w wersji 7.6.0:
- Bugfix: parametry wejściowe imuxsock nie zostały zaakceptowane z powodu błędu kopiowania i wklejania.
- Dzięki Andy Goldsteinowi za poprawkę.
- Dodano globalny parametr systemowy ProcessInternalMessages
- Pozwala to wprowadzić komunikaty o statusie rsyslog do * innego * głównego syslogd lub dziennika.
- Nowa zależność: liblogging-stdlog (do przesłania do zewnętrznego rejestratora)
- Bugfix: szablony json zostały nieprawidłowo utworzone
- Ciągi tracą znak kończący NUL, co oczywiście może prowadzić do różnego rodzaju problemów.
- Zobacz także: https://github.com/rsyslog/rsyslog/issues/27
- Podziękowania dla Alaina za analizę i łatę.
- Poprawka ompgsql: niewłaściwa obsługa trybu automatycznego tła
- Jeśli rsyslog ustawiono na automatyczne tło (domyślne zachowanie kodu, ale wiele dystrybucji teraz je wyłącza z ważnych powodów), ompgsql nie może poprawnie połączyć się. Może to nawet doprowadzić do uszkodzenia. Głównym powodem było to, że uchwyt sesji PG był otwarty na widelcu, co jest wyraźnie zabronione w PG API.
- Podziękowania dla Alaina za analizę i łatę.
Co nowego w wersji 7.4.9:
- dodał parametr globalnego systemu ProcessInternalMessages
- Pozwala to wprowadzić komunikaty o statusie rsyslog do * innego * głównego syslogd lub dziennika.
- bugfix: parametry wejściowe imuxsock nie zostały zaakceptowane z powodu błędu kopiowania i wklejania. Podziękowania dla Andy'ego Goldsteina za poprawkę.
- bugfix: potencjalny double-free w RainerScriptu równe porównanie dzieje się, gdy lewy operand jest obiektem JSON, a prawy operand jest nie-ciągiem, który nie konwertuje na liczbę (na przykład, może to być inny JSON obiekt, prawdopodobnie jedyny przypadek, który mógłby się zdarzyć w praktyce). Jest to mało prawdopodobne, aby zostało uruchomione.
- bugfix: niektóre porównania Json'a (Variable) / ciągów RainerScript były błędne
Co nowego w wersji 8.1.4:
- dodaj exec_template () funkcję RainerScript
- imrelp: wsparcie dla dodanego TCP KEEPALIVE
- pobił zależność od librelp do wersji 1.2.2 w celu obsługi nowej funkcji KEEPALIVE
- Dodaj dyrektywy do numerycznego określania GID / UID
- Już istniejące dyrektywy (FileOwner, FileGroup, DirOwner, DirGroup) tłumaczą nazwy na identyfikatory numeryczne, co zależy od informacji o użytkowniku dostępnych podczas uruchamiania rsyslog. Może to się nie powieść, jeśli informacje są uzyskiwane za pośrednictwem sieci lub usługi, takiej jak SSSD. Nowe dyrektywy zapewniają sposób bezpośredniego określania liczbowych identyfikatorów i obchodzenia ich wyszukiwania.
- Dzięki Tomasowi Heinrichowi za łatkę.
- bugfix: akcja commitTransaction () nie obsłużyła poprawnie zawieszonych akcji
- bugfix: licznik statystyk omelasticsearch fail.es został nieprawidłowo obsłużony
Co nowego w wersji 7.4.8:
- rsgtutil zapewnia lepsze komunikaty o błędach na niedokończonych blokach sygnatur
- bugfix: ochrona przed znakami kontrolnymi w komunikatach wewnętrznych (błąd)
- Dzięki Ahto Truu za powiadomienie nas.
- bugfix: immark wysłał wiadomości pod kern. = info zamiast syslog. = info
- Zauważ, że może on potencjalnie zerwać istniejące konfiguracje, które opierają się na wysyłaniu immark jako kern. = info. Niestety, nie możemy tego nie wyprostować, ponieważ nigdy nie powinniśmy emitować wiadomości w ramach kernitit
Co nowego w wersji 7.4.7:
- bugfix: ograniczenie miejsca na dysku w kolejce nie działa poprawnie
- queue.maxdiskspace faktycznie inicjuje kolejkę.maxfilesize
- Łączny rozmiar plików kolejek nie został sprawdzony w kolejce kolejek.maxdiskspace dla kolejek wspomaganych dyskami.
- bugfix: linel kernel-like ratelimiter nie działał poprawnie z wszystkimi wejściami (na przykład nie działał z imdupem). Powodem było to, że użyto wartości PRI, ale wymagało to analizy komunikatu, co nastąpiło zbyt późno.
- bugfix: kolejki dyskowe utworzyły pliki w niewłaściwym katalogu roboczym, jeśli $ WorkDirectory zostało zmienione wiele razy, wszystkie kolejki używały tylko ostatniej ustawionej wartości.
- bugfix: starsza dyrektywa $ ActionQueueWorkerThreads nie była honorowana
- bugfix: segfault przy starcie, gdy używane są pewne konstrukcje skryptów
- np. "jeśli nie $ msg ..."
- bugfix: imuxsock: Parametr konfiguracyjny UseSysTimeStamp nie działa poprawnie
- Dziękujemy Tomasowi Heinrichowi za powiadomienie nas i przedstawienie propozycji rozwiązania.
- bugfix: $ SystemLogUseSysTimeStamp / $ SystemLogUsePIDFromSystem nie działało
- Dzięki Tomasowi Heinrichowi za łatkę.
- poprawiono sprawdzanie parametrów konfiguracji kolejek podczas uruchamiania
- bugfix: wywołanie zestawu reguł z kolejką async nie używało kolejki
- kończy się: http://bugzilla.adiscon.com/show_bug.cgi?id=443
- bugfix: jeśli załadowano imtcp i nie skonfigurowano żadnych detektorów (co jest rzadkie), rsyslog ulega awarii podczas zamykania.
Co nowego w wersji 8.1.2:
- Dodano obsługę dodanego pliku liblognorm1 - poprawiono wydajność
- Obsługa jemalloc dodana przez -enable-jemalloc
- Zmieniono domyślne ustawienia kolejki:
- znak wysokiej wody to teraz dynamicznie 90% wielkości kolejki
- low water makr jest teraz dynamicznie 70% wielkości kolejki
- queue.discardMark jest teraz dynamicznie 98% wielkości kolejki
- queue.workerThreadMinimumMessage ustawiony na queue.size / num workers
- W przypadku kolejek z bardzo niską kolejką.maxSize (& lt; 100), "emergency" zostaną użyte wartości domyślne.
- Zauważ, że system kompilacji jest eksperymentalny na tym etapie.
- Bugfix: kolejki dyskowe utworzyły pliki w niewłaściwym katalogu roboczym
- jeśli katalog $ WorkDirectory został zmieniony wiele razy, wszystkie kolejki wykorzystywały tylko ostatnią ustawioną wartość.
- Bugfix: starsza dyrektywa $ ActionQueueWorkerThreads nie była honorowana
- Bugfix: mmrfc5424addhmac: & quot; klucz & quot; parametr nie został poprawnie przetworzony
Komentarze nie znaleziono