Mam skonfigurowanego Apache do obsługi kilku wirtualnych hostów i chciałbym zobaczyć, ile przepustowości wykorzystuje każda strona. Widzę, ile zużywa cały serwer, ale chciałbym uzyskać bardziej szczegółowe raporty.
Większość rzeczy, które tam odkryłem, dotyczą ograniczania przepustowości do hostów wirtualnych, ale nie chcę tego robić; Chcę tylko zobaczyć, które strony używają przepustowości.
To nie jest do celów rozliczeniowych, tylko w celach informacyjnych.
Czy powinienem użyć modułu apache? A może jest jakiś inny sposób?
źródło
Awstats to jeden ze sposobów, ale prawdopodobnie nie najlepszy
źródło
Sugeruję użycie wspaniałego mechanizmu rejestrowania apache i jego mniej znanych flag % I i % O :
Zdefiniuj format:
Użyj go w głównym httpd.conf :
Wartości prawdopodobnie nie uwzględniają wszystkich informacji w nagłówkach, ale są dość dokładne, aby mieć dokładne pojęcie o ruchu VirtualHost.
Skanuj dzienniki za pomocą skryptu Perla, aby agregować według hosta wirtualnego co n minut (na przykład 5) i wysyłaj to do kaktusów.
Te flagi są dostarczane przez mod_logio, który prawdopodobnie jest wbudowany w twój Apache (tak jak w moim Apache Debiana).
źródło
Jeśli zdecydujesz się korzystać z awstats z Apache, po wyjęciu z pudełka pokaże ci łączną przepustowość dla całego serwera.
Aby zobaczyć przepustowość dla poszczególnych hostów wirtualnych, zalecam zainstalowanie vloggera .
Vlogger będzie gromadził informacje o dzienniku dostępu Apache dla każdego z twoich wirtualnych hostów, które skonfigurowałeś do tego w osobnych katalogach / plikach.
Na przykład, jeśli plik dziennika Apache znajduje się w / var / log / apache2, typowa instalacja vloggera utworzy coś takiego dla twoich wirtualnych hostów (np. Vhost1.com vhost2.com):
Vlogger daje Ci możliwość obrócenia tych dzienników, umożliwia zmianę szablonu nazewnictwa pliku dziennika dostępu (np. Dodanie daty) i twierdzi, że obsługuje większą liczbę plików dziennika niż Apache.
Wadą tego jest to, że nie będziesz już mieć zagregowanego widoku serwera (będziesz musiał agregować logi osobno, a może użyjesz dodatkowego ustawienia apache lub innej metody?).
Odradzam korzystanie z Google Analytics (lub jakiegokolwiek śledzenia opartego na javascript) do monitorowania przepustowości serwera, ponieważ polegasz na kliencie, który będzie raportował za pomocą javascript. GA nie zgłasza ci osób, które mają wyłączony javascript, a także robotów / pająków / botów.
źródło
Oto kilka wyrażeń regularnych do analizy formatu dziennika zaproponowanego przez Xerxes.
\ [([0-9] +) / (\ w +) / ([0-9] {4}) [^ \]] + \] \ s (\ d {1,3}. \ D {1, 3}. \ D {1,3}. \ D {1,3}) \ s ([^ /] +) [^ \ s] + \ s (\ d +) \ s (\ d +)
Przykładowy dziennik:
[12 stycznia 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com / 581 669 [12 / sty / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com / 624 747 [12 / sty / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com /icons/blank.gif 687 186 [12 / sty / 2011: 14: 25: 04 +0000] 157,157. 12.206 files.hjaltijakobsson.com /icons/compressed.gif 693 188 [12 / Jan / 2011: 14: 25: 04 +0000] 157.157.12.206 files.hjaltijakobsson.com /favicon.ico 592 512
Mecze:
Subpattern 1 (dzień miesiąca): 12
Subpattern 2 (skrót miesiąca): Jan
Subpattern 3 (rok): 2011
Subpattern 4 (gość): 157.157.12.206
Subpattern 5 (wirtualny host): files.hjaltijakobsson.com
Subpattern 6 ( bajty przychodzące): 581
Subpattern 7 (bajty wychodzące): 669
Twoje zdrowie.
źródło
Nieznaczne poprawienie przyjętej odpowiedzi, zakładając, że na serwerze jest tak naprawdę wiele hostów vhost (a zatem wiele blogów site.com.access_log). To posortuje i wyświetli listę każdego vhosta
i dla katalogu spakowanych logów
źródło
Hmm, możesz dostać zło za pomocą IPTables i dopasowywania ciągów, aby zalogować pakiety do późniejszego zgłoszenia. Działa jednak tylko w przypadku połączeń innych niż SSL.
Albo coś, co świadczy o protokole i sesji, jak Snort, może zostać zastosowane…
źródło
Poprawny. Filtrowanie dziennika jest dobrym pomysłem. Chcę również uzyskać przepustowość mojego serwera Apache podczas pobierania plików.
Oblicza
%b
i%d
wyjściowe, które dają przepustowość prądu.źródło