ตัววิเคราะห์บันทึกสำหรับ nginx [ปิด]


13

ฉันมีเว็บแอปที่ทำงานด้วย nginx และฉันต้องการวิเคราะห์บันทึกเพื่อรับข้อมูลเกี่ยวกับจำนวนครั้งที่แต่ละไฟล์ได้รับและ 404s และข้อผิดพลาดอื่น ๆ ที่เรากำลังสร้าง (สิ่งที่ Google Analytics ไม่สามารถให้ได้)

ปกติฉันจะวาง awstats ในเซิร์ฟเวอร์ แต่ด้วย nginx เนื่องจากการขาด cgi-bin มันไม่สำคัญ มีวิธีแก้ปัญหาเล็กน้อยอื่นในการรับข้อมูลนี้หรือไม่? ฉันไม่สนใจที่จะจ่ายเงินให้บุคคลที่สามเพื่อทำการวิเคราะห์นี้สำหรับฉัน

คำตอบ:


20

คุณสามารถใช้goaccessเพื่อวิเคราะห์บันทึกการใช้เว็บของคุณและรับบทสรุปของการเข้าชม IP ที่ไม่ซ้ำกันไฟล์คงที่ด้านบน 404 อันดับสูงสุดรหัสสถานะที่แตกต่างกันและอื่น ๆ จะแสดงข้อมูลสรุประดับบนสุดเป็นครั้งแรกจากนั้นให้คุณเจาะลึกลงไปในแต่ละบทหลักแบบโต้ตอบ คุณให้ฟีดมันเป็นไฟล์บันทึกหรือไปป์และมันเร็วมาก

ฉันค้นพบที่นี่ใน SF และเปลี่ยนวิธีการดูบันทึกการใช้เว็บเซิร์ฟเวอร์ของฉัน: ฉันมักจะทำการวิเคราะห์บันทึกที่ฉวยโอกาสและมีปัญหาและไม่พอใจกับระบบอะนาล็อก awstats และ webalizer


ว้าวขอบคุณที่กล่าวถึง GoAccess มันยอดเยี่ยมมาก!
Richie086

6

หากคุณมีความยินดีที่จะได้รับสกปรกมือของคุณผมจะแนะนำให้คุณใช้Logstash + ElasticSearch + Kibana

มันสามารถทำอะไรได้มากกว่าที่คุณถาม แต่ก็สามารถทำในสิ่งที่คุณถามได้ดีและคุณจะมีข้อสรุปที่แท้จริงในการเรียกดูบันทึกของคุณเพื่อเข้าใจสิ่งที่เกิดขึ้นหรือกำลังดำเนินอยู่

นี่คือเว็บไซต์ตัวอย่าง Kibana

นี่เป็นบล็อกโพสต์ที่แสดงวิธีการติดตั้งเพื่อวิเคราะห์ Apache Tomcat ด้วยแพลตฟอร์มนี้คุณสามารถปรับให้เข้ากับความต้องการของคุณ: http://spredzy.wordpress.com/2013/03/02/monitor-your-cluster -of-คราว-การใช้งานที่มี logstash และ kibana /


1
+1 สำหรับคำตอบที่ถูกต้อง
Tom O'Connor

1

ฉันต้องใช้ awstats กับ Nginx ในสัปดาห์นี้และคุณไม่จำเป็นต้องใช้ cgi-bin Awstats มาพร้อมกับสคริปต์ awstats_buildstaticpages.pl ที่จะสร้างไฟล์ html แบบคงที่ซึ่งคุณสามารถให้บริการกับ Nginx ด้วยงาน cron ฉันจะอัปเดตไฟล์ html อย่างสม่ำเสมอ

/usr/share/doc/awstats/examples/awstats_updateall.pl now -awstatsprog=/usr/lib/cgi-bin/awstats.pl

/usr/share/awstats/tools/awstats_buildstaticpages.pl -update -config=domain.com -dir=/path/to/save/html/files awstatsprog=/usr/lib/cgi-bin/awstats.pl (ขึ้นอยู่กับระบบปฏิบัติการของคุณเส้นทางอาจแตกต่างกันเล็กน้อย แต่คุณจะสามารถค้นหาสคริปต์ได้)

เพื่อป้องกันการสูญหายของข้อมูลระหว่างการหมุนบันทึกคุณสามารถเพิ่มบรรทัดนี้ในไฟล์ awstats.domain.com.conf ของคุณ:

LogFile="/usr/share/awstats/tools/logresolvemerge.pl /path/to/log/access.domain.tld.log /path/to/log/access.domain.tld.log.1 |"

สคริปต์จะรวมบันทึก 2 รายการล่าสุดเมื่อใดก็ตามที่คุณดึงบันทึกเพื่ออัปเดตข้อมูลของคุณ หรือคุณสามารถเพิ่ม hook pre-logrotate บน Nginx เหมือนที่นี่: http://www.bytetouch.com/blog/system-administrator/how-to-awstats-installation-and-configuration-on-debian/


0

ขึ้นอยู่กับระดับของฟังก์ชั่นที่คุณต้องการ แต่ AFAIK เป็นไปได้ที่จะทำให้ AWStats สร้างไฟล์สแตติก - ดังนั้นจึงไม่จำเป็นต้อง cgi

วิธีอื่น ๆ - เป็นไปได้ที่จะทำให้ AWStats ทำงานเป็นสคริปต์ FastCGI ฉันจะบอกว่ามันจะไม่แฮ็คมากเกินไป

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