Posiadając pod opieką kilka(dziesiąt) serwerów warto mieć spójną politykę logowania – co, gdzie, przez jaki czas i do jakiego pliku.

Wygodnym rozwiązaniem jest też stworzenie jednego serwera który będzie zapisywał logi zebrane ze wszystkich serwerów – nie musimy wtedy logować się na każdy serwer z osobna, możemy też napisać skrypt który będzie na bieżąco analizował logi i wysyłał powiadomienia.

Jest to też przydatne wtedy gdy jeden z naszych serwerów ulegnie awarii i konieczny jest restart – możemy wtedy przejrzeć wszystkie logi z momentu samej awarii.

Konfiguracja zarówno serwera zapisującego logi, jak i klienta który je wysyła jest banalnie prosta – zajmuje nie więcej niż 10 minut. Do dzieła!

Konfiguracja serwera – ip 35.222.9.184 (instance 1)
1) Instalujemy pakiet rsyslog

2) Edytujemy plik /etc/rsyslog.conf i odkomentowywujemy:

3) Restartujemy serwer rsyslog:

4) Otwieramy port 514 UDP na firewallu:

 

Konfiguracja klienta (instance 2):

1) Instalujemy pakiet rsyslog:

2) Edytujemy plik /etc/rsyslog.conf i zmieniamy:

na

Oczywiście zamiast podanego powyżej ip podajemy adres ip naszego serwera który zbiera logi.

3) restartujemy rsyslog-a:

 

Weryfikacja:

Na serwerze zbierającym logi otwieramy plik /var/log/messages i nasłuchujemy zmian:

Możemy na kliencie zainstalować dowolny pakiet ( np nano) – i zobaczymy że do naszego pliku dochodzą wpisy z zewnętrznego klienta (instance-2):

I to tyle – jak widać całość działa poprawnie, a my mamy wszystko w jednym miejscu.