Właśnie skonfigurowałem serwer Graylog2 i chcę wysłać wszystkie dzienniki z mojego głównego serwera do serwera graylog. Włączyłem rejestrowanie dla głównego serwera i wysyłam logi do mojego serwera graylog, dodając *.* @logs.example.com:1337
do /etc/rsyslog.conf
.
Chcę, aby Graylog2 zbierał wszystkie moje dzienniki Apache, dzienniki systemowe (dla logowania SSH, odrzucone logowania) i wszelkie inne dzienniki, które muszę monitorować.
W przypadku dzienników Apache chciałbym również dzienniki Rails. Moje witryny znajdują się w, /srv/www/
a następnie struktura jest sitename.com/public_html
i sitename.com/logs
. Mam wiele witryn na serwerze i chciałbym w łatwy sposób wyświetlić wszystkie błędy i zrobić z nich ładne wykresy, dlatego chcę używać Graylog2 ...
Pliki dziennika w folderze dzienników to access.log
i error.log
.
Dzienniki Railsów byłyby włączone sitename.com/public_html/log
. To zawiera production.log
.
Odpowiedzi:
To jest stare, ale pomyślałem, że napiszę tę metodę, której używam dla witryny o niskim / średnim ruchu (nie wiem, czy zadziała dobrze w przypadku witryn o dużym natężeniu ruchu):
W Apache definiuję format CustomLog o nazwie,
graylog2_access
który formatuje dziennik dostępu do formatu GELF, a następnie wysyłam mój dziennik przez Graylog2, przesyłając dane dziennika przez nc, aby wysłać komunikaty GELF do wejścia Graylog2.Oto niestandardowy format, który tworzy (czytelny dla człowieka):
Dla konfiguracji Apache, oto wersja kopiuj / wklej:
Następnie w konfiguracji hosta:
źródło
Możesz również wysłać swoje pliki dziennika na serwer graylog2 za pomocą tego prostego polecenia:
Używam tego głównie do celów testowych, aby ustalić, czy mój format dziennika jest przystosowany do łatwego wyszukiwania w graylog2. Do użytku produkcyjnego nie będziesz chciał konfigurować rsyslog lub syslog-ng.
Prawdopodobnie możesz ogonić plik dziennika szyn i zobaczyć, co się stanie.
źródło
Graylog2 akceptuje tylko dzienniki w dwóch formatach: standardowy syslog i rozszerzony format dziennika Graylog (znany również jako GELF). Arbitralne dzienniki na dysku będą wymagać procesu innej firmy, aby wykorzystać dzienniki i przetłumaczyć je na formę, która jest dla Ciebie przydatna.
Spójrz na Logstash . Większość ludzi myśli o tym jak o narzędziu do indeksowania plików dziennika za pomocą ElasticSearch, ale zawiera także uniwersalny „router dziennika”, który pozwala na śledzenie wiązki plików na dysku i wysyłanie ich do komponentu rejestrującego, takiego jak Graylog.
źródło
Możesz użyć
apache2gelf
skryptów stąd .źródło