Chcąc z powodzeniem monitorować ruch na stronie warto przyjrzeć się także wizytom automatycznym klientów nie wspierających JavaScript. W tym celu uzupełnimy statystyki Piwik o wizyty importowane z access log Nginx.
W poprzednim wpisie odnośnie Nginx skonfigurowano go jako reverse proxy dla Apache – w tym artykule przyjmujemy te same ścieżki.
Instalacja Piwik
Instalacja nie powinna sprawić większego problemu – ogranicza się do rozpakowania pobranego archiwum, ustawienia odpowiednich uprawnień i podania poświadczeń do bazy danych. W razie trudności chętnie pomożemy z instalacją skryptu zarówno na własnym hostingu jak i u obcego usługodawcy.
Konfiguracja import_logs.py
Importer dzienników jest uruchamianym cyklicznie skryptem Python dodającym odwiedziny do bazy Piwik.
Jego konfiguracja odbywa się za pomocą licznych przełączników linii poleceń.
Opcję –recorders ustawiamy na pożądaną liczbę wątków (<= ilość rdzeni), –url na pełny URL do instalacji Piwika.
Jeżeli korzystamy z wspólnego access loga dla wielu witryn (lub uruchamiamy skrypt podając wiele plików) warto ustawić opcję –add-sites-new-hosts bądź –idsite-fallback aby obsłużyć wizyty dla nieznanych stron.
Jeżeli access log jest oddzielny dla każdej z witryn – możemy wymusić ID strony przełącznikiem –idsite.
Aby śledzić wszystkie wywołania użyliśmy opcji –enable-http-errors –enable-http-redirects –enable-static –enable-bots oraz włączyliśmy debug -dd uzyskując finalnie poniższą komendę:
python /srv/vhosts/aboo.pl/piwik/misc/log-analytics/import_logs.py –url=http://www.aboo.pl/piwik –idsite=3 –recorders=2 –enable-http-errors –enable-http-redirects –enable-static –enable-bots -dd /var/log/nginx/aboo.pl.access.log
Testowo należy uruchomić ją z powłoki (polecamy opcje –dry-run –show-progress), następnie dodać do crontaba przed wywołaniem logrotate dla Nginx.