To podstawowe pytanie - w filmie „The Social Network” jest kilka scen, w których młody personel Facebooka ogląda, jak serwer PHP / Apache loguje się w swoim TERMINALU w czasie rzeczywistym.
Wiem, jak to zrobić w środowisku RUBY / RoR - ale w standardowym środowisku LAMP Apache / PHP, jak aktywnie monitorować działania serwera w czasie rzeczywistym? Domyślam się, że istnieje prosty sposób, aby to zrobić w Terminalu.
Odpowiedzi:
może używają
tail -f
w dzienniku dostępu?źródło
tail -f
jest nie. 1 powód, dla którego umieścisz przynajmniej minimalny Cygwin w oknie systemu Windows!tail -f /log/any.log | while read line; do echo $line; sleep 3; done
ale to nie byłoby już "w czasie rzeczywistym"Lub nawet coś takiego jak logstalgia ;-)
źródło
lub zainstaluj i użyj multitail, aby określić filtry i kolory :)
źródło
Jeśli szukasz przeglądarki i analizatora dziennika Apache w czasie rzeczywistym, zdecydowanie polecam GoAccess.
http://goaccess.prosoftcorp.com/
Po prostu uruchom go jako (nie potrzeba conf):
źródło
Inną rzeczą, którą możesz wypróbować, jest komenda „watch”, która może wielokrotnie uruchamiać komendę grep dla dowolnego pliku dziennika. Za pomocą odpowiednich przełączników poleceń obserwowania można nawet wyróżniać zmiany w plikach dziennika w czasie rzeczywistym.
Na przykład:
oglądać -d -n5 czas działania
źródło
GoAccess 0.6.1 powinien być co najmniej jednym z narzędzi w torbie. Otwarte źródło. Szybki i STABILNY.
Dla Rhel / Centos 6.4
źródło
W przypadku dużego systemu, takiego jak Facebook, trzeba się zastanawiać, ile licencji artystycznej (aka bullsh * t) zostało wydane przy tworzeniu filmu. W środowisku z tysiącami systemów i tysiącami klastrów oglądanie dzienników serwera przewijanych na terminalu niekoniecznie jest pierwszym działaniem monitorującym.
W takim środowisku (lub w dowolnym środowisku produkcyjnym z kilkudziesięcioma węzłami) masz NOSC w rodzaju wskaźników i tylko wtedy, gdy coś jest oznaczone jako będące w stanie tego
crapping out
, przejdzie i aktywnie zajrzy do dzienników ( prawdopodobnie filtrowane pod kątem znaczących zdarzeń i wiadomości).źródło
Choć jestem podekscytowany, że portal społecznościowy używał głównie dokładnego żargonu i terminologii, niektóre z rzeczy, które zrobili tylko na pokaz.
Nie jestem ekspertem od serwerów, ale widziałem, że Zuckerberg ma otwarty terminal z uruchomioną komendą ping i nie mogę wymyślić żadnego powodu, dla którego mógłby to robić losowo. (Było to po czasie, gdy serwer był już uruchomiony).
Uważam jednak, że scena hakowania serwera Python jest bardzo zabawna.
źródło
Logtool stworzy również ładne kolorowe logi. Apache może zapisywać swoje dzienniki na centralnym serwerze NFS lub zapisywać dzienniki za pomocą syslog , a syslog może wysyłać dane dziennika do centralnego serwera syslog.
Kliknij łącza, aby uzyskać bardziej szczegółowe wyjaśnienia.
tail -F /export/syslog/log/apache/access.log | logtool
źródło
Możesz także użyć przeglądarki dziennika w czasie rzeczywistym w czymś takim jak LogLogic i filtrować nasze to, czego nie chciałeś widzieć. W ten sposób możesz zebrać więcej niż dzienniki Apache, możesz uzyskać dzienniki routera, dzienniki ftp itp.
źródło
możesz dość łatwo napisać skrypt odpytywania, po prostu porównaj znacznik czasu lub rozmiar pliku, a jeśli zostanie zmieniony, zrób
tail -n1
źródło
Apachetail zapewnia także podgląd / analizę dzienników Apache w czasie rzeczywistym, łącząc się bezpośrednio z serwerem Apache z aplikacji komputerowej Windows. Żadne oprogramowanie nie musi być instalowane na serwerze Apache.
źródło