ทำความเข้าใจกับบันทึกการเข้าถึงของ Apache


134

แต่ละสิ่งในบรรทัดนี้จากบันทึกการเข้าถึงของฉันหมายความว่าอย่างไร

127.0.0.1 - - [05 / ก.พ. / 2555: 17: 11: 55 +0000] "GET / HTTP / 1.1" 200140 "-" "Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.19 (KHTML เช่น ตุ๊กแก) Chrome / 18.0.1025.5 Safari / 535.19 "

คำตอบ:


237

ดูเหมือนว่าคุณจะใช้รูปแบบบันทึกรวม

LogFormat "% h% l% u% t \"% r \ "%> s% b \"% {Referer} i \ "\"% {User-agent} i \ "" รวมกัน

  • % h เป็นโฮสต์ระยะไกล (เช่น IP ไคลเอนต์)
  • % l คือข้อมูลประจำตัวของผู้ใช้ที่กำหนดโดย identd (มักจะไม่ใช้เนื่องจากไม่น่าเชื่อถือ)
  • % u คือชื่อผู้ใช้ที่กำหนดโดยการพิสูจน์ตัวตน HTTP
  • % t คือเวลาที่ได้รับคำขอ
  • % r คือบรรทัดคำขอจากไคลเอนต์ ("รับ / HTTP / 1.0")
  • %> s คือรหัสสถานะที่ส่งจากเซิร์ฟเวอร์ไปยังไคลเอนต์ (200, 404 เป็นต้น)
  • % b คือขนาดของการตอบสนองไปยังไคลเอนต์ (เป็นไบต์)
  • Referer คือส่วนหัวของผู้อ้างอิงของคำขอ HTTP (ที่มี URL ของหน้าที่เป็นจุดเริ่มต้นของคำขอนี้) หากมีอยู่หรือ"-"อื่น ๆ
  • User-agent คือสตริงการระบุเบราว์เซอร์

ฉบับสมบูรณ์ (?) รายการจัดรูปแบบที่สามารถพบได้ที่นี่ ส่วนเดียวกันของเอกสารประกอบยังแสดงรูปแบบการบันทึกทั่วไปอื่น ๆ ผู้อ่านที่มีบันทึกไม่เหมือนคนนี้อาจพบรูปแบบการกำหนดค่า Apache ที่ใช้อยู่ในรายการ


ฉันสงสัยว่าตัวเลข (19) สุดท้ายคืออะไรหลังจากตัวแทนผู้ใช้
ivanceras

2
@ivanceras 535.19เป็นเวอร์ชัน webkit ที่ใช้ดังนั้นจึงเป็นส่วนหนึ่งของสตริงตัวแทนผู้ใช้ (และยังอยู่ในเครื่องหมายคำพูดที่มีตัวแทนผู้ใช้)
Joachim Isaksson

4
ฉันมีฟิลด์เพิ่มเติมอีก 4 ฟิลด์หลังจาก user-agent ดังนี้: ... "Mozilla / 5.0 (Windows NT 5.1; rv: 16.0) Gecko / 20100101 Firefox / 16.0" 369 74500 - 567 มันบ่งบอกอะไร?
my account_ram

9

ฉันยังไม่เข้าใจว่า "-" หมายถึงอะไรหลังจากส่วน 200140 ของบันทึก

ค่านั้นสอดคล้องกับผู้อ้างอิงตามที่โจอาคิมอธิบายไว้ หากคุณเห็นเครื่องหมายขีดกลางแสดงว่าไม่มีค่าอ้างอิงที่จะเริ่มต้นด้วย (เช่นผู้ใช้ตรงไปยังปลายทางที่ต้องการเช่นหากเขาพิมพ์ URL ในเบราว์เซอร์ของตน)


7

แล้ว " Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 535.19 (KHTML เช่น Gecko) Chrome / 18.0.1025.5 Safari / 535.19หมายความว่าอย่างไร

นี่คือค่าของ User-Agent ซึ่งเป็นสตริงการระบุเบราว์เซอร์

ด้วยเหตุนี้เว็บเบราว์เซอร์ส่วนใหญ่จึงใช้ค่าสตริง User-Agent ดังนี้:

Mozilla / [เวอร์ชัน] ([ข้อมูลระบบและเบราว์เซอร์]) [แพลตฟอร์ม] ([รายละเอียดแพลตฟอร์ม]) [ส่วนขยาย] ตัวอย่างเช่น Safari บน iPad ได้ใช้สิ่งต่อไปนี้:

Mozilla / 5.0 (iPad; U; CPU OS 3_2_1 เช่น Mac OS X; en-us) AppleWebKit / 531.21.10 (KHTML เช่น Gecko) Mobile / 7B405 ส่วนประกอบของสตริงนี้มีดังนี้:

Mozilla / 5.0: ก่อนหน้านี้ใช้เพื่อระบุความเข้ากันได้กับเอ็นจินการเรนเดอร์ Mozilla (iPad; U; CPU OS 3_2_1 เช่น Mac OS X; en-us): รายละเอียดของระบบที่เบราว์เซอร์ทำงานอยู่ AppleWebKit / 531.21.10: แพลตฟอร์มที่เบราว์เซอร์ใช้ (KHTML เช่น Gecko): รายละเอียดแพลตฟอร์มเบราว์เซอร์ มือถือ / 7B405: เบราว์เซอร์นี้ใช้เพื่อระบุการปรับปรุงเฉพาะที่พร้อมใช้งานโดยตรงในเบราว์เซอร์หรือผ่านบุคคลที่สาม ตัวอย่างนี้คือ Microsoft Live Meeting ซึ่งลงทะเบียนส่วนขยายเพื่อให้บริการ Live Meeting ทราบว่าซอฟต์แวร์ได้รับการติดตั้งแล้วหรือไม่ซึ่งหมายความว่าสามารถให้ประสบการณ์การเข้าร่วมการประชุมที่คล่องตัว

ค่านี้จะใช้เพื่อระบุว่าผู้ใช้ปลายทางใช้เบราว์เซอร์ใด

อ้างถึง


ในสภาพแวดล้อมโหลดบาลานซ์ของฉันซึ่งมีโหนดที่ให้บริการ 4 โหนดที่ซ่อนอยู่หลังเซิร์ฟเวอร์ตัวจัดสรรภาระงาน apache เมื่อเร็ว ๆ นี้ฉันได้รับปัญหาความไม่พร้อมใช้งาน ขณะทำการดีบักฉันพบบันทึกการเข้าถึงบนตัวจัดสรรภาระงานที่มีสถานะ 504 ซึ่งมีลักษณะเช่นนี้ {Ip Address} - - [date] "POST url http / 1.1" 504 247 "-" "-" ตอนนี้ฉันสงสัยว่าหนึ่งใน 4 โหนดเซิร์ฟเวอร์แอปพลิเคชันของฉันให้หมดเวลาบ่อยกว่าโหนดอื่น ๆ แต่บันทึกเหล่านี้ไม่ให้เบาะแสว่าเซิร์ฟเวอร์ใดที่ส่งต่อคำขอและส่งผลให้หมดเวลา ฉันจะล็อก ip ของโหนดที่ส่งต่อคำขอไปได้อย่างไร
PROFESSOR

ฉันจะแทนที่ตัวเลือกต่อไปนี้ a) เปิดใช้งานและดูที่บันทึกการโหลดบาลานเซอร์ b) ตรวจสอบการใช้หน่วยความจำ, CPU, IO สำหรับ vm แต่ละตัวของคุณและดูว่าเหมือนกันทั้งหมดหรือไม่ c) นับจำนวนคำขอสำหรับแต่ละ vm ในวันที่กำหนด พวกเขาควรจะใกล้เคียงกัน ถ้าไม่ใช่ Load Balancer อาจพบว่าเซิร์ฟเวอร์ไม่ตอบสนองต่อการ pings และนั่นคือเหตุผลที่ไม่ส่งคำขอ
vsingh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.