GoAccess - это программа для анализа логов веб сервера. Представляет собой демон, предназначенный для вывода детальной статистики посещаемости сайта. Вывод отчета, производится как в командную строку, так и в .html файл. Так-же имеется возможность анализировать журнал в режиме реального времени.
GoAccess: [link]
В данный момент, в репозиториях Debian Jessie, в пакете GoAccess отсутствует возможность строить отчет в режиме реального времени. Чтобы была такая возможность потребуется сборка и установка из исходного кода.
Установка из репозитория:
# echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | tee -a /etc/apt/sources.list.d/goaccess.list
# wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add -
# apt-get update
# apt-get install goaccess
Установка из исходников:
# apt-get install build-essential - нужен для сборки пакетов;
- Можно вместо build-essential воспользоваться gcc;
# apt-get install gcc - набор компиляторов для различных языков программирования;
- Пакеты для работы GoAccess;
# apt-get install libncursesw5-dev libgeoip-dev libtokyocabinet-dev
# wget http://tar.goaccess.io/goaccess-1.2.tar.gz
# tar -zxvf goaccess-1.2.tar.gz
# cd goaccess-1.2/
# ./configure --enable-utf8 --enable-geoip=legacy
# make
# make install
При установке из исходников:
Конфигурационный файл будет распологаться тут.
# nano /usr/local/etc/goaccess.conf
Настройка:
- Раскомментируем
# nano /etc/goaccess.conf
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
Примеры: [link]
- В терминале
# goaccess /home/user/www/logs_site.ru/site.ru.access_log
- Генерация HTML страницы
# goaccess access.log -a -o report.html
- REAL TIME HTML OUTPUT
# goaccess access.log -o /usr/share/nginx/html/site/report.html --real-time-html
Запуск через screen:
Позволяет запускать программы фоном, которые сами этого не умеют, с возможностью последюущего возврата к ним.
# apt-get install screen
#!/bin/sh
echo "Starting GoAccess Web"
sleep 1
screen -A -m -d -S GoAccess goaccess /var/log/nginx/access.log -o /var/www/html/report.html --real-time-html
Запуск в фоновом режиме:
На время сессии.
&
Как найти задания, работающие в фоновом режиме?
# jobs
# jobs –l
# jobs -p
Как прекратить выполнение заданий, работающих в фоновом режиме?
15 - завершить; 9 - убить;
kill PID
kill -15 PID
kill -9 PID
Утилита nohup:
Еще один пример запуска скрипта без связи с сессией пользователя.
# nohup /home/user/script.sh &
# nohup /home/user/script.sh >/dev/null &
Планировщик Cron:
Запуск генерации отчета каждый час.
# crontab -e
@hourly goaccess /var/log/nginx/access.log -o /var/www/html/report.html
Пароль:
Для доступа к отчету, при условии, что отчет выводится на поддомен нашего сайта.
# apt-get install apache2-utils
# htpasswd -c /etc/nginx/.htpasswd MTv
- Вставляем локейшн в конфиг нашего сайта;
location / {
try_files $uri $uri/ =404;
auth_basic "goaccess.site.ru";
auth_basic_user_file /etc/nginx/.htpasswd;
}
- Или например, если report.html будет выводится в папку корневого сайта;
location ^~ /folder/ {
Аналоги:
| Piwik | BBClone | OWA (Open Web Analytics) | AWStats | Webalizer |