BK क्लाउड / सिस्टम लेख
HI
English ENDeutsch DEEspañol ES中文 ZHFrançais FRPortuguês (Brasil) PT-BR日本語 JAहिन्दी HI
आइए बात करें ↗
← अनुभवों वाले लेखों पर वापस जाएँ

awk से Apache लॉग का विश्लेषण

पुराना लेख: इसमें दिए गए टूल और परिवेश 2019 में लेख प्रकाशित होने के समय के हैं।

Apache रिक्वेस्ट का कमांड लाइन पर तुरंत विश्लेषण करने के लिए awk बहुत काम का टूल है। सटीक सिंटैक्स LogFormat पर निर्भर करता है, जिसे अनुपालन संबंधी कारणों से मैं यहाँ साझा नहीं कर सकता।

आज मुझे तीन सेकंड से अधिक समय लेने वाली रिक्वेस्ट ढूँढ़नी थीं; मेरे लॉग में रिक्वेस्ट का समय माइक्रोसेकंड में दर्ज होता है। मुझे URL भी चाहिए था और नतीजे एक तय समय-अंतराल तक सीमित रखने थे। इस उदाहरण में, 2019:04:1 आज 04:10 से 04:19 UTC के बीच की सभी रिक्वेस्ट दर्शाता है।

यह मेरी कमांड है:

cat /httpd/logs/access.log |grep "2019:04:1"| awk '{if ($(NF-2) > 3000000) print $4"-----"$7"-----"$(NF-2);}'

$(NF-2) हर पंक्ति में आखिर से तीसरा फ़ील्ड है, और मुझे पता है कि इसमें रिक्वेस्ट का समय माइक्रोसेकंड में है। कमांड टाइमस्टैम्प (चौथा फ़ील्ड, $4), URL ($7), और रिक्वेस्ट का समय ($(NF-2)).