오픈 소스(Open Source) 분석 플랫폼(analytics platform) piwik
piwik 는 google analytics 같은 오픈소스 기반의 분석 플랫폼이다.
설치
사전 준비
Web Server 설치
yum install httpd mod_ssl
php 와 모듈 설치 (RHEL/CentOS 와 Windows 및 Unix 에 php 5.4 설치)
yum install mod_php php-gd php-mbstring php-dom php-xml
MySQL 설치 (CentOS 6 에 yum 으로 MySQL 5.5 설치 참고)
Piwik 설치
- 다운로드
적당한 디렉터리에 압축 해제 (/var/www/lesstif/piwik)
하위 폴더 생성
mkdir -p /var/www/lesstif/piwik/tmp/{assets,logs,cache,tcpdf,templates_c} chown -R apache:apache /var/www/lesstif/piwik
MySQL 계정 생성
CREATE DATABASE piwik_db_name_here; CREATE USER 'piwik'@'localhost' IDENTIFIED BY 'VeryS2cretPwd'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON piwik_db_name_here.* TO 'piwik'@'localhost' WITH GRANT OPTION;
VirtualHost 설정
<VirtualHost *:80> ServerName lesstif.example.com DocumentRoot "/var/www/lesstif/" ErrorLog logs/lesstif-error_log CustomLog logs/lesstif-acces_log combined </VirtualHost>
- 브라우저로 piwik 이 설치된 URL 에 연결(http://lesstif.example.com/piwik) 하여 설치 진행
사용
log analytics 툴 사용
JavaScript 기반의 추적이 아닌 웹서버의 access 로그를 분석하는 방법
소유자가 아파치라 일반 사용자로 실행하면 에러가 발생하므로 acl 변경
find /var/www/lesstif/piwik/tmp/ -type d |xargs setfacl -m u:lesstif:rwx
로그 파일 분석
python misc/log-analytics/import_logs.py --url=http://lesstif.example.com/piwik/ --idsite=2 --add-sites-new-hosts --enable-bots --enable-static --enable-http-errors /etc/httpd/logs/lesstif-acces_log
- --url: Piwik 의 base URL. piwik 이 설치된 URL 을 설정하면 된다.
--idsite: Piwik 관리 콘솔에 등록된 사이트의 ID 를 입력한다. 등록되지 않았으면 좌측의 웹사이트 관리 메뉴에서 추가하자.
- --add-sites-new-hosts : When a hostname is found in the log file, but not matched to any website in Piwik, automatically create a new website in Piwik with this hostname to import the logs
- --enable-bots : Track bots. All bot visits will have a Custom Variable set with name='Bot' and value='$Bot_user_agent_here$'
- --enable-static : Track static files (images, css, js, etc.)
- --enable-http-errors : Track HTTP errors (status code 4xx or 5xx)
- --recorders : Number of simultaneous recoreds(Default 1)
Ref