วิธีวิเคราะห์ไฟล์บันทึกหลาย gz สำหรับ Awstats


21

ฉันค่อนข้างใหม่สำหรับ awstats และได้กำหนดค่า Awstats ใน apache webserver ของฉันเพื่อวิเคราะห์ล็อกการเข้าถึง nginx (เว็บเซิร์ฟเวอร์ nginx สำหรับ app django ของฉัน) ฉันสามารถใช้สถิติจากLogFile=/var/log/nginx/access.logแต่ฉันจะวิเคราะห์หลายบันทึกที่เป็นรูปแบบ gzip เช่น access.log.1.gz ... access.log.40.gz ฉันมีบันทึกจำนวนมากเพื่อวิเคราะห์

คำตอบ:


29

สิ่งที่คุณอาจต้องการทำที่นี่คือการวิเคราะห์ logfiles เหล่านี้เพียงครั้งเดียวจากนั้นทำการวิเคราะห์ logfiles ปัจจุบันเท่านั้น

สิ่งที่ง่ายที่สุดที่ต้องทำคือคลายซิปไฟล์เหล่านั้นลงในไฟล์เดียวจากนั้นให้ awstats รันทับหนึ่งครั้งจากนั้นชี้ awstats ที่ไฟล์ access.log ของคุณนับจากนั้นเป็นต้นมา

โดยปกติ awstats มีสคริปต์ชื่อ logresolvemerge.pl ซึ่งสามารถอ่านไฟล์บีบอัดและจะรวมเข้าด้วยกันอย่างเหมาะสมเพื่อให้ awstats ทำการวิเคราะห์

หากต้องการรวมรายการที่มีอยู่ทั้งหมดของคุณให้เรียกใช้

perl /usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log* > /tmp/nginx.tmplog

อาจใช้เวลาสักครู่

จากนั้นคุณสามารถเรียกใช้ awstats หนึ่งครั้งบนไฟล์นี้ (ตั้งค่า LogFile อย่างเหมาะสม)

จากนั้นคุณควรให้ awstats รันไฟล์บันทึกการทำงานล่าสุดซึ่งเป็นสิ่งที่การกำหนดค่าปัจจุบันของคุณกำลังทำอยู่

ขึ้นอยู่กับความถี่ที่คุณใช้งาน awstats เทียบกับการหมุนล็อกไฟล์ nginx คุณอาจต้องการให้มันอ่านทั้งล็อกไฟล์ปัจจุบันและไฟล์ก่อนหน้า (เช่นหากคุณหมุนไฟล์บันทึก nginx ทุกวันที่ 12 แต่มี awstats รันทุกวันที่ 1 จากนั้นเมื่อใดก็ตามที่ awstats ที่เรียกใช้ logfile จะมีเฉพาะสิ่งที่เขียนตั้งแต่การหมุนครั้งล่าสุด) คุณสามารถใช้ logresolvemerge.pl ภายในคำสั่ง LogFile ดังนี้:

LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/access.log /var/log/nginx/access.log.1.gz |"

สิ่งนี้บอกให้ awstats เรียกใช้คำสั่ง logresolvemerge.pl ด้วยสอง logfiles เป็นพารามิเตอร์และ awstats จะอ่านในผลลัพธ์ของสคริปต์นั้น (นั่นคือสิ่งที่ไปป์ |


ฉันไม่ทราบว่าสคริปต์ awstats สามารถจัดการไพพ์ในไฟล์กำหนดค่าได้ ที่ดี + 1
d -_- b

เห็นด้วย - การlogresolvemerge.plส่งออกท่อไปยัง awstats เป็นทางออกที่ดี
Jez

เกี่ยวกับการวางท่อดูstackoverflow.com/questions/13832701/…
brauliobo

7

หรือคุณสามารถใช้ตัววิเคราะห์บันทึกตามเวลาจริงเช่น GoAccess มันเร็วมากและคุณไม่จำเป็นต้องคลายซิปไฟล์บันทึกใด ๆapache & nginx

http://goaccess.prosoftcorp.com/

zcat -f access.log* | goaccess -a -s -b

หรือ

zcat access.log.*.gz | goaccess -a -s -b
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.