Hostuję sporo wirtualnych hostów używających Apache w podstawowej konfiguracji LAMP przy pomocy Webmin / Virtualmin. Szukam najlepszego narzędzia, w którym mogę monitorować bieżące połączenia. Wygląda na to, że część wirtualnego hostingu sprawia mi problemy. Oto, co próbowałem:
netstat
- Widzę połączenia, ale pokazują mi, jakby wszyscy korzystali z mojej podstawowej domeny, npmydomain.com:www
.iftop
- Bardzo mi się podoba, ale podobny minus jaknetstat
: nie pokazuje wirtualnego hosta.apachetop
- wydaje się nie wyświetlać informacji dla wszystkich moich wirtualnych hostów. Loguję się w celu oddzielenia niestandardowych plików dziennika, co, jak podejrzewam, jest przyczyną tego, że nie działa.ntop
,darkstat
,MRTG
,bwm-ng
,IPTraf
- nie działa albo.
Zasadniczo szukam czegoś podobnego do bieżącego wyniku netstat
, ale aby uwzględnić hosta wirtualnego, dla którego jest to żądanie, np avirtualsite.com:www
. :
apache2
websites
virtualhost
webmin
Piotr Kula
źródło
źródło
apachetop
- ale to tylko monitoruje plików i zapewnić .. damnit- nie wszystkie serwery ...Odpowiedzi:
Odpowiedź Andrei Corbellini wyjaśnia, dlaczego nie działa z używanymi narzędziami i jak działa Virtual Hosting. Oto najprostszy sposób, w jaki mogę to zrobić w Apache ...
mod_status
pomoże ci.Oświadczenie: Nie mogę powiedzieć, jak to się robi w Webmin - używam czystych plików konfiguracyjnych do konfigurowania serwerów. Oto tylko podstawowy przegląd tych kroków.
To
top
narzędzie podobne do tego, ale reprezentowane jako strona internetowa. Wyświetla bieżący stan bezpośrednio zapytany z Apache, więc nie zależy to od parsowania plików dziennika, jak toapachetop
robi.Włącz
mod_status
:Udziel sobie dostępu.
/etc/apache2/mods-enabled/status.conf
i edytuj:ExtendedStatus
naOn
(opcjonalnie, ale więcej grozy i trochę wolniej)W ramach
<Location /server-status>
, dołączyć swój adres IP zgodne zAllow
dyrektywą. Przykład:Uruchom ponownie Apache:
Korzystaj z narzędzia w przeglądarce, na przykład:
http://1.2.3.4/server-status
Będzie to wyglądać jak ten przykładowy zrzut ekranu .
Naciskaj, F5aby otrzymywać aktualizacje. Lub zdobądź niesamowitą wtyczkę do przeglądarki i zobacz, jak się aktualizuje!
Webmin
uzupełnienie OP dla przyszłych gości
W Webmin podstawowe kroki dotyczące modułu Status można znaleźć tutaj:
źródło
Wszystkie narzędzia, których próbujesz, nigdy nie dadzą ci właściwej odpowiedzi. Powodem jest to, że żądane informacje są tracone podczas nawiązywania połączenia.
Weźmy przykład: załóżmy, że twój serwer WWW ma jeden adres IP ( 1.2.3.4 ) i dwie nazwy hostów ( a.moja_domena.com i b.moja_domena.com ), które odpowiadają temu adresowi IP.
Co dzieje się, gdy korzystasz z ulubionej przeglądarki internetowej podczas odwiedzania witryny a.mydomain.com ?
So
netstat
& co. wiedz tylko, że istnieje połączenie przychodzące do 1.2.3.4 . Powodem, dla którego widzisz nazwę hosta zamiast adresu IP, jest to, że adres IP ma rekord rDNS, więcnetstat
woli pokazywać to zamiast adresu IP, ponieważ jest ładniejszy. Spróbujnetstat -n
(lub usuń rekord rDNS), a zobaczysz adres IP.Ale to nie wszystko: kiedy powiedziałem, że informacje o nazwie hosta użyte do nawiązania połączenia zostały utracone, nie miałem w pełni racji. Z punktu widzenia stosu TCP / IP to zdanie jest prawdziwe. Ale jeśli widzimy to z punktu widzenia protokołu HTTP, wszystko jest inne. W każdym żądaniu HTTP znajduje się
Host:
nagłówek zawierający nazwę hosta użytą przez przeglądarkę do złożenia żądania.Krótko mówiąc, powinieneś spojrzeć na pliki dziennika swojego serwera WWW. Serwer WWW to usługa, która obsługuje żądania HTTP, a zatem jedyna usługa, która wie o „oryginalnej” nazwie hosta.
źródło
Innym sposobem jest pisanie
w twoim terminalu
źródło
access.log
nie zawiera wszystkich żądań. Zamiast tego/usr/local/apache/domlogs/
zaglądam do żądań wirtualnych hostów (podzielonych między SSL, non-SSL, a nawet FTP). Ścieżka może być inna w Ubuntu cPanel./var/log/httpd/access_log
Za pomocą tego basha możesz sprawdzić wszystkie IP podłączone do portu 80
Uwaga: jeśli chcesz zobaczyć inny port, zmień 80
WYDAJNOŚĆ:
źródło
Możesz to sprawdzić za pomocą:
źródło
Jeśli chcesz pid, użytkownika i polecenia:
źródło
Możesz także używać GoAccess interaktywnie, aby zobaczyć swoich obecnych gości. W tym celu analizuje dziennik dostępu Apache i wyświetla wiele statystyk dotyczących Twojej witryny.
źródło