awstats 분석 nginx 로그
nginx , #
#vim /usr/local/nginx/conf/nginx.conf
log_format access '$remote_addr -$remote_user [$time_local] "$request" '
'$status $body_bytes_sent"$http_referer" '
'"$http_user_agent"$http_x_forwarded_for';
access_log log/access.log main;
매개 변수 설명:
$remote_addr 와 $httpx_forwarded_for: 클 라 이언 트 의 ip 주 소 를 기록 합 니 다.
$remote_user: 클 라 이언 트 사용자 이름 을 기록 하 는 데 사용 합 니 다.
$time_local: 방문 시간 과 시간 대 를 기록 하 는 데 사용 합 니 다.
$request: 요청 한 url 과 http 프로 토 콜 을 기록 합 니 다.
$status: 요청 상 태 를 기록 하기;성공 은 200;
$body_bytes_sent: 클 라 이언 트 파일 에 보 내 는 주체 내용 의 크기 를 기록 합 니 다.
$http_referer: 어느 페이지 링크 에서 방 문 했 는 지 기록 하 는 데 사용 합 니 다.
$http_user_에이전트: 클 라 이언 트 브 라 우 저의 관련 정 보 를 기록 합 니 다.
nginx 로그 절단 스 크 립 트
#vim /usr/local/nginx/nginx_log.sh
#!/bin/bash
logs_path="/usr/local/nginx/logs/" #
pid_path="/usr/local/nginx/logs/nginx.pid" # pid
mv${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log
# , access.log , , , access_20130728.log
kill-USR1 `cat${pid_path}` # nginx
awstats 설치 및 설정
yum
sudo yum -y install awstats
yum ,
sudo rpm -ivh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
GeoIP, IP
yum install GeoIP GeoIP-data GeoIP-devel perl-Geo-IP -y
,
rpm -ivh https://epel.mirror.angkasa.id/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install mod_geoip GeoIP GeoIP-devel GeoIP-data zlib-devel
sudo chown -R sysadmin:sysadmin /var/lib/awstats/
sudo chown -R sysadmin:sysadmin /var/www/awstats/
tools 디 렉 터 리 의 awstats 실행configure. pl 설정 마법사, 새로운 통계 만 들 기
/usr/share/awstats/tools/awstats_configure.pl
다음 과 같은 힌트 가 있 을 것 입 니 다.
-----> Running OS detected: Linux, BSD or Unix
Warning: AWStats standard directory on Linux OS is '/usr/local/awstats'.
If you want to use standard directory, you should first move all content
of AWStats distribution from current directory:
/home/sysadmin
to standard directory:
/usr/local/awstats
And then, run configure.pl from this location.
Do you want to continue setup from this NON standard directory [yN] ? y
-----> Check for web server install
Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
> none # none , apache
차 로 돌아 간 다음 옵션:
Your web server config file(s) could not be found.
You will need to setup your web server manually to declare AWStats
script as a CGI, if you want to build reports dynamically.
See AWStats setup documentation (file docs/index.html)
-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y # y,
-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
>www.a.com # ,
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
> # , , /etc/awstats/
----->Create config file '/etc/awstats/awstats.nginx.conf'
Configfile /etc/awstats/awstats.nginx.conf created.
-----> Add updateprocess inside a scheduler Sorry, configure.pl does not support automatic addto cron yet.
You can do it manually by adding the following command to yourcron: /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=nginx
Or if you have several config files and prefer having only onecommand: /usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue...#
A SIMPLE config file has been created: /etc/awstats/awstats.nginx.conf You should have a lookinside to check and change manually main parameters.
Youcan then manually update your statistics for'yuyuanchun.com' withcommand: > perl awstats.pl -update -config=nginx
Youcan also build static report pages for'nginx' with command:> perl awstats.pl -output=pagetype -config=nginx
PressENTER to finish... #
기본적으로 awstats. www. a. com. conf 프로필 이 / etc / awstats / 디 렉 터 리 에서 이 프로필 의 로그 위 치 를 수정 합 니 다.
vim /etc/awstats/awstats.www.a.com.conf
LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access_log* |"
여 기 는 위의 Nginx 로그 절단 에 대응 하여 생 성 된 디 렉 터 리 저장 위치 입 니 다. awstats 의 년 월 일 형식 에 주의 하 십시오. - 24 는 어제 로 그 를 표시 합 니 다. - 0 은 현재 로 그 를 표시 합 니 다. 저 는 다양한 로그 파일 을 분석 해 야 하기 때문에 * | 방식 을 사 용 했 습 니 다.
분석의 실행 순 서 는:
Nginx 생 성 로그 - > 로그 절단 - > Nginx 계속 로그 생 성 - > 다른 절단 로그 저장 - > Awts 통계 에 맡 기기 - > 생 성 결과
기본 awstats 데 이 터 를 기록 하 는 디 렉 터 리 는 다음 과 같 습 니 다.
/var/lib/awstats
Nginx 는 Perl 에 대한 지원 이 좋 지 않 기 때문에 awstats 도 구 를 이용 하여 통 계 된 결 과 를 정적 파일 로 만 듭 니 다. 먼저 파일 을 만 듭 니 다. 예:
mkdir /var/www/awstats
정적 파일 생 성:
/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=www.a.com -lang=cn
-dir=/var/www/awstats -awstatsprog=/usr/share/awstats/wwwroot/cgi-bin/awstats.pl
/usr/share/awstats/tools/awstats_buildstaticpages. pl Awts 정적 페이지 생 성 도구
-update -config=www.a.com 설정 항목 업데이트
-lang=cn 언어 는 중국어
-dir=/var/www/awstats 출력 결과 통계
-awstatsprog=/usr/share/awstats/wwwroot/cgi-bin/awstats.pl Awstats 로그 업데이트 프로그램 경로
nginx 프로필 을 수정 하고 로그 분석 결과 사이트 추가
server {
listen 8080;
server_name awstats.a.com;
access_log /var/log/nginx/awstats.access_log main;
error_log /var/log/nginx/awstats.error_log info;
root /var/www/awstats;
index index.html;
# Restrict access
#auth_basic "Restricted";
#auth_basic_user_file /etc/awstats/htpasswd;
# Dynamic stats.
location ~ ^/cgi-bin/(awredir|awstats)\.pl {
gzip off;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME /usr/share/awstats/wwwroot/cgi-bin/fcgi.php;
fastcgi_param X_SCRIPT_FILENAME /usr/share/awstats/wwwroot$fastcgi_script_name;
fastcgi_param X_SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
}
# Static awstats files: HTML files stored in DOCUMENT_ROOT/awstats/
location /classes/ {
alias /usr/share/awstats/wwwroot/classes/;
}
location /css/ {
alias /usr/share/awstats/wwwroot/css/;
}
location /icon/ {
alias /usr/share/awstats/wwwroot/icon/;
}
location /awstats-icon/ {
alias /usr/share/awstats/wwwroot/icon/;
}
location /js/ {
alias /usr/share/awstats/wwwroot/js/;
}
}
nginx 다시 불 러 오기
sudo nginx -t # nginx
sudo nginx -s reload #
정시 작업 추가, 매일 밤 절단, nginx 로그 분석
#!/bin/bash
/bin/bash /opt/scripts/filetransfer.sh # /tmp
#=====================================================================
echo -e "\033[32m The first is www,now time is `date`\033[0m"
/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=www.a.com -lang=cn -dir=/var/www/awstats -a
wstatsprog=/usr/share/awstats/wwwroot/cgi-bin/awstats.pl
#=====================================================================
echo -e "\033[32m The first is wx,now time is `date`\033[0m"
/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=wx.a.com -lang=cn -dir=/var/www/awstats -aw
statsprog=/usr/share/awstats/wwwroot/cgi-bin/awstats.pl
#=======================================================================
echo -e "\033[32m The first is app,now time is `date`\033[0m"
/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=app.a.com -lang=cn -dir=/var/www/awstats -a
wstatsprog=/usr/share/awstats/wwwroot/cgi-bin/awstats.pl
crontab -e
01 00 * * * /bin/bash /opt/scripts/awstats.sh >> /tmp/awstats.log
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
DWR 학습 노트 - HelloWorld 편브 라 우 저 에 있 는 자바 script 코드 를 웹 서버 에 있 는 자바 로 호출 할 수 있 습 니 다. 브 라 우 저 에서 실행 되 는 자바 script 은 요청 을 보 내 고 페이지 를 동적 으로 변경 할 수...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.