Nasze systemy Linux domyślnie uruchamiają narzędzie logwatch (8) . W systemie RedHat / CentOS / SL Logwatch jest wywoływany przez /etc/cron.daily/
cronjob, który następnie wysyła codzienny e-mail z wynikami. Te e-maile mają następujący temat:
Subject: Logwatch for $HOSTNAME
Problem polega na tym, że te codzienne wiadomości e-mail są domyślnie zbyt głośne i zawierają wiele zbędnych informacji (błędy HTTP, codzienne użycie dysku itp.), Które są już monitorowane przez inne usługi (Nagios, Kaktusy, centralny syslog itp.). W przypadku 100 systemów ładowanie wiadomości e-mail jest nie do zniesienia. Ludzie ignorują wiadomości e-mail, co oznacza, że możemy przeoczyć problemy wykryte przez zegarek.
Jak mogę zmniejszyć hałas generowany przez rejestrator, ale nadal używać rejestratora, aby powiadomić nas o poważnych problemach?
Poniżej zamieszczę własną odpowiedź, ale chciałbym zobaczyć, co zrobili inni.
Uwaga : Mam podobne pytanie dotyczące FreeBSD w FreeBSD: okresowe (8) jest zbyt głośne. Jak mogę kontrolować poziom hałasu?
źródło
Tak - zegarek jest często zbyt głośny. Wspomniałeś już o całkowitym wyłączeniu kontroli.
Jeśli nie chcesz tego robić, musisz uniemożliwić pojawienie się określonych zdarzeń. Na przykład - nie jest interesujące, jeśli nagio łączy się przez ssh z systemem DMZ. Ale jest interesujące, jeśli są inne loginy przez ssh.
Używamy rsyslog zamiast ksyslogd (najpierw zainstaluj rsyslog, a następnie usuń ksyslogd). Za pomocą rsyslog możesz precyzyjnie dostroić to, co trafia do dzienników, a co nie (np. Zbudować wyrażenie, które usuwa wiadomości z sshd zawierające „podłączone nagio”). W ten sposób logwatch zgłosi tylko przydatne informacje.
Innym przypadkiem może być xinetd - nie chcę otrzymywać informacji o udanych połączeniach - można to skonfigurować w xinetd itselv - bez wyłączania sprawdzania logwatcha dla xinetd.
źródło
Jako punkt zainteresowania podążyłem za opcją 2 od odpowiedzi Stefana Lasiewskiego, ale dla moich celów chciałem zawrzeć tylko określone linie, a nie wykluczyć cały hałas, którego nie chciałem.
Konfigurowałem vsftpd, więc utworzyłem
/etc/logwatch/conf/services/vsftpd.conf
i zamiast używać czegoś takiego,*Remove = testuser
co usuwa wiersze zawierające teksttestuser
, użyłem linii,*OnlyContains = "testuser"
która zwraca tylko wiersze zawierające ten tekst.Te 2 skrypty działają bardzo zasadniczo przy użyciu
grep
igrep -v
.Różnica polega na tym, że możesz użyć
*Remove
tyle razy, ile chcesz, ale*OnlyContains
musisz go użyć raz, jeśli chcesz czegoś, czegoś innego lub czegoś innego. Tak dla wielu wartości*OnlyContains = "testuser|testuser2|testuser3"
źródło
Czy zastanawiałeś się nad przesłaniem wiadomości e-mail o statusie do serwera list, być może takiego, który może dostarczyć podsumowania w oparciu o programowalne atrybuty rozmiaru i / lub czasu trwania / wieku? Podejście to nie zmniejsza ilości rejestrowanych wiadomości e-mail, ale może kontrolować liczbę pojedynczych wiadomości e-mail przez grupowanie w celu zmniejszenia częstotliwości wysyłania wiadomości e-mail.
źródło
Niedawno musiałem wyciszyć dane wyjściowe z usługi sshd. Niektóre sekcje były dość długie i nie można było ich kontrolować, ustawiając poziom szczegółowości.
To nie jest idealne rozwiązanie, ale skończyło się na tym, że przesłoniłem skrypt sshd , kopiując go stąd:
/usr/share/logwatch/scripts/services/sshd
tutaj:/etc/logwatch/scripts/services/sshd
Oczywiście musisz teraz nadążać za wszelkimi aktualizacjami tego pliku skryptu, ale daje to bardzo dobrą kontrolę nad tym, co jest wyświetlane. Alternatywnie, przypuszczam, że możesz przesłać dane wyjściowe
logwatch
przez narzędzie takie jakawk
lubsed
usunąć to, czego nie chcesz, ale wydawało mi się to trudniejsze.źródło
Miałem to samo pytanie na temat wymiany stosów w systemach UNIX i Linux i oto odpowiedź, którą dla mnie naprawiłem:
Możesz powiedzieć logwatchowi, aby patrzył na 7 dni zamiast 1 dnia, zmieniając parametr Range w
logwatch.conf
:Możesz powiedzieć,
logwatch
aby uruchamiał się co tydzień zamiast codziennie, przenosząc go z tygodniowego katalogu cron docron
katalogu dziennego :Dzięki @JeffSchaller
źródło