Który program domyślny korzysta z lokalnych funkcji syslog [0-7]?

19

Jak również obiektów wspólnego systemu ( mail, news, daemon, cronitp), syslog zapewnia szereg "" obiektów, lokalnych numerów 0 do 7: LOCAL0, LOCAL1, ..., LOCAL7.

Jakie są domyślne ustawienia programu dla popularnych aplikacji?

Chcę dowiedzieć się, które obiekty są „tradycyjnie” wykorzystywane w dobrze znanych usługach. Będę wdrażał aplikację na wielu serwerach, na których zainstalowano różne oprogramowanie, i chciałbym sprawdzić, czy istnieje „bezpłatna” funkcja, której można łatwo użyć do własnych dzienników.

Jako notatkę zdaję sobie sprawę, że istnieją inne sposoby na zrobienie tego niż narzędzie syslog. Po prostu ciekawy!

Oto kilka (zacznij odpowiadać na moje własne pytanie) i niektóre dzięki voretaq7:

  • LOCAL0 jest używany przez postgresql
  • LOCAL2 jest używany przez sudo
  • LOCAL3 jest używany przez niektóre wersje SpamAssassin
  • LOCAL4 jest domyślnie używany przez slapd (serwer OpenLDAP)
  • LOCAL5 jest czasem używany przez Snort IDS
  • LOCAL7 jest używany do komunikatów rozruchowych w Fedorze 12
Jonathan Clarke
źródło
Czy wszystkie dzienniki nie zawierają wcześniej nazwy procesu lub nazwy użytkownika, która go wysłała? Używam do pracy z syslogs i nie pamiętam, że mam problemy z filtrowaniem wpisów dziennika według aplikacji.
Sprzęgło
sprzęgło, masz na myśli „tag” Syslog. Domyślnie w systemie Linux znacznik składa się z nazwy i identyfikatora procesu, np. „Httpd [1234]”, który wygenerował komunikat dziennika. Ale możesz ustawić znacznik na cokolwiek chcesz za pomocą Syslog API. Zobacz moją odpowiedź poniżej, aby uzyskać więcej szczegółów.
Ryan B. Lynch

Odpowiedzi:

7

Te LOCALnobiekty są dostępne dla każdego lokalnego użytku i mogą różnić się dość znacznie od witryny.

Gwarantuję, że każdy z 8 dostępnych jest używany przez coś, więc jeśli chcesz uniknąć konfliktów, moją najlepszą radą jest zarejestrowanie wszystkich 7 w osobnych dziennikach i wybranie tego, którego nic innego nie używa.

Niektórych brakowało (ustawienia domyślne programu - można je zmienić lokalnie, dlatego sprawdź dwukrotnie):

  • LOCAL0 jest używany przez postgresql (jeśli skonfigurowany do logowania do syslog)
  • LOCAL2 jest używany przez sudo (jeśli skonfigurowany do logowania do syslog)
  • LOCAL3 jest używany przez niektóre wersje SpamAssassin
    • Jest to często zmieniane przez lokalnego administratora, aby logował się do mailniego
  • LOCAL5 jest czasem używany przez Snort IDS
    • Nie wiem, czy to domyślny, czy przypadek, ale widziałem to w kilku instalacjach Snorta
voretaq7
źródło
Świetny! Właśnie tego szukam - domyślne ustawienia programu. Więcej jest mile widziane! Oczywiście będą używane różne urządzenia, chcę tylko zobaczyć, które aplikacje będę przeszkadzać.
Jonathan Clarke
2

Nie ma standardu dla funkcji Syslog LOCAL0-LOCAL7. Z założenia nie można liczyć na to, że będą przez coś wykorzystywane. Poszczególne dystrybucje lub organizacje mogą mieć własne konwencje, ale to zależy od polityki dystrybucji lub organizacji, a nie od szerszego standardu.

Alternatywnie, czy rozważałeś użycie „tagów” ​​Syslog? Tagi są ciągami o dowolnej formie, które są poprzedzane rejestrowaniem komunikatów w celu identyfikacji określonych aplikacji lub kanałów dziennika. Domyślnie znacznik jest zwykle tworzony z nazwy i identyfikatora procesu (np. „Httpd [2839]”), który wygenerował dane dziennika. Narzędzie wiersza polecenia „logger” i większość interfejsów API Syslog obsługuje określanie tagów, które mają być używane w aplikacjach.

Na przykład osobiście lubię używać „dostępu http” do moich dzienników dostępu do serwera WWW Apache, które wysyłam do Syslog, przesyłając dane wyjściowe dziennika Apache do polecenia „logger -p local7.info -t” dostęp http.

Ryan B. Lynch
źródło
Ciekawe dzięki. Jednak buduję rozwiązanie na bazie istniejącego oprogramowania, które można skonfigurować do logowania do jednego z LOCAL0 do LOCAL7. Moje pytanie naprawdę dotyczy wartości domyślnych używanych przez różne oprogramowanie.
Jonathan Clarke
Ma sens, że mi tego brakowało. Zwrócę jednak uwagę, że istnieje niebezpieczeństwo polegania na niestandardowym zachowaniu. Programiści lub pakujący OpenLDAP, Fedora itp. Mogą (a czasem robią) zmieniać te zachowania z wersji na wersję. Nie ma gwarancji, że aktualizacja nie będzie odbiegać od wyborów dokonanych w przeszłości w Syslog. To nie jest przełom, tylko potencjalny problem, na który warto uważać.
Ryan B. Lynch
2

Większość plików syslog.conf jest wyposażona w funkcje symboli wieloznacznych dla pliku komunikatów (* .info). Jeśli jest to tylko uruchomienie aplikacji młyna, a nie jakaś pełna krowa prowadząca dziennik krowa, prawdopodobnie powinieneś po prostu zalogować się do wiadomości, a nie samodzielnego pliku.

Wybranie opcji zalogowania się do własnego pliku oznacza dodanie kroku poinstalacyjnego do pakietów instalacyjnych oprogramowania, który doda odpowiedni wpis w syslog.conf. Oznacza to również, że jeśli chcesz, możesz dodać krok poinstalacyjny, który również tworzy odpowiedni plik logrotate.

CarpeNoctem
źródło
Dobra wskazówka dotycząca pakowania syslog i logrotate. Dzięki.
Jonathan Clarke
-3

Szukałem również pliku konfiguracyjnego, takiego jak syslog.conf, aby odnieść się do lokalnych obiektów 0-7 do programu, który do nich pisze. Wygląda na to, że taki plik konfiguracyjny nie istnieje. Aby dowiedzieć się, jaki program zapisuje do dziennika, musisz otworzyć plik dziennika i znaleźć nazwę programu obok kolumny obok dwukropka, na przykład ... sendmail [22950]: dotyczy programu sendmail. Liczba w nawiasach kwadratowych dotyczy numeru portu używanego podczas wykonywania programu.

Zwycięzca
źródło