Własny serwer – cz.10: statystyki serwera
Ostatnia aktualizacja: 16 września 2023, 15:15
Jeśli wszystkie usługi i aplikacje zostały już skonfigurowane, a serwer pracuje prawidłowo, to możemy zainstalować aplikację do generowania statystyk odwiedzin serwisu/serwisów www. Wyniki statystyk pomogą w analizie ruchu na serwerze, m.in. ilości godzinowych/dziennych/miesięcznych odwiedzin Twoich stron internetowych, kraju z którego pochodzą użytkownicy, czasu spędzonego na stronie, etc.
Do prowadzenia analiz można użyć programu zewnętrznego, tj. znajdującego się na innym serwerze, np. Google Analitics, lub programu zainstalowanego na własnym serwerze, np. Awstat lub Webalizer.
Do celów tego poradnika użyję programu Webalizer.
Co to jest Webalizer?
Webalizer to szybki, darmowy program do analizy plików dziennika (logów) serwera www. Tworzy bardzo szczegółowe, łatwo konfigurowalne raporty użytkowania w formacie HTML, które można przeglądać za pomocą standardowej przeglądarki internetowej.
Instalacja
Zainstaluje pakiet 'webalizer’ dostępny w Twojej dystrybucji Linux.
Pakiet 'webalizer’ nie jest dostępny w oficjalnych repozytoriach Debiana stabilnego 11, można pobrać go ręcznie z repo Debiana testowego „bookworm” i zainstalować poleceniem:
apt install ./webalizer-wersja-arch.deb
Po instalacji, domyślny plik konfiguracyjny powinien znajdować się w ścieżce:
/etc/webalizer/webalizer.conf
Jeżeli na serwerze korzystamy z wielu domen oraz wirtualnych hostów, a chcemy dla nich osobno generować statystki, stwórzmy osobne pliki dla każdej domeny.
Utwórz plik konfiguracyjny dla pierwszej domeny (tutaj: linuxiarze.pl), kopiując istniejący konfig:
cp /etc/webalizer/webalizer.conf /etc/webalizer/linuxiarze.pl.conf
Wyedytuj nowy plik konfiguracyjny dla pierwszej domeny:
nano /etc/webalizer/linuxiarze.pl.conf
zmieniając parametry na własne:
LogFile /var/log/apache2/access-linuxiarze-pl.log # Ścieżka do access log dla danego vhosta.
OutputDir /var/www/linuxiarze.pl/public_html/statystyki # Ścieżka, w której wygenerowany zostanie raport
Incremental yes # Zgoda na analizę z kilku plików logów. Jeśli mamy rotowane logi zaleca się ustawienie opcji na yes
HostName linuxiarze.pl # Nazwa hosta, jaki monitorujemy
Pamiętaj, aby ścieżka do logu domeny była zgodna z tą, jaką skonfigurowałeś przy zakładaniu domeny.
Utwórz podkatalog w katalogu domeny:
mkdir -p /var/www/linuxiarze.pl/public_html/statystyki
chown -R www-data:www-data /var/www/linuxiarze.pl/public_html/statystyki
I to jest już cała konfiguracja Webalizer-a.
Aby ręcznie wygenerować pierwsze statystyki, wydaj polecenie zgodnie z utworzonym plikiem konfiguracyjnym:
webalizer -c /etc/webalizer/linuxiarze.pl.conf
Twoje statystki będą dostępne za pośrednictwem przeglądarki stron www, pod adresem:
twoja-domena.pl/statystyki
Jeśli skonfigurowałeś więcej statystyk dla kilku domen i chcesz wygenerować statystyki dla wszystkich, możesz posłużyć się poleceniem:
for i in /etc/webalizer/*.conf; do webalizer -c $i; done
Cron
Aby statystyki generowały się automatycznie, należy dodać polecenie do CRON-a.
Możemy też użyć skryptu, którego podłączamy do crontaba:
nano /usr/bin/statystyki.pl
wklej:
#!/usr/bin/perl
use strict;
my @files = ;
foreach my $file (@files) {
chomp($file);
system("/usr/bin/webalizer -c $file");
}
Nadaj skryptowi prawa wykonalności:
chmod +x /usr/bin/statystyki.pl
Skrypt wymaga zainstalowanego Perl-a, więc sprawdź czy jest zainstalowany:
apt policy perl
Jeśli nie jest, doinstaluj go:
apt install perl
Następnie dodaj skrypt do Cron-a, aby generował statystki np. 1 raz dziennie, przed północą:
crontab -e
Umieszczając na końcu listy:
59 23 * * * perl /usr/bin/statystyki.pl
Mam nadzieję, iż cały cykl 10 artykułów pod wspólnym tytułem „Własny serwer” przybliżył Ci choć trochę zagadnienia związane z konfiguracją poszczególnych elementów serwera. Zachęcam do testowania i używania własnego serwera, własna konfiguracja pomoże w zrozumieniu działania poszczególnych aplikacji, co może pomóc w uniezależnieniu się od korzystania z pomocy, często płatnej, przez osoby trzecie.
Zobacz również: Własny serwer cz.11 – phpMyAdmin