كيف يمكنني الحصول على AWStats لقراءة تنسيق السجل هذا؟

StackOverflow https://stackoverflow.com/questions/4137361

سؤال

لدي موقع به العديد من النطاقات الفرعية ، يتم تسجيل جميع النطاقات الفرعية إلى نفس ملف Access_log. نظرًا لأن الملف يمكن أن يكون ضخمًا جدًا ، فلدي برنامج نصي يخرج كل مجال فرعي في ملفه الخاص.

لدي تنسيق ملف سجل مخصص في Apache مثل:

"\"%{Host}i\" %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""

يشبه السطر من ملف السجل الخاص بي:

"brand.mysite.com" 176.32.1.18 - - [24/Oct/2010:11:24:45 -0400] "GET /Product/lookup HTTP/1.1" 200 5585 "http://www.customerhomepage.com/brand_name.htm" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1; .NET CLR 1.1.4322)"

10 عناصر في تنسيق السجل ، 10 عناصر في السجل. يفحص.

أحاول تحليلها باستخدام AWStats مع logformat التالي في ملف تكوين AWSTATS الخاص بي:

logformat = "" ٪ host_r "٪ host ٪ logName ٪ logName ٪ time1 ٪ methodurl code ٪ bytesd ٪ reponderquot ٪ uaquot"

الإخراج الوحيد الذي أحصل عليه من AWSTATS هو من قسم التاريخ الشهري. كل شيء آخر إما فارغ أو صفر.

يبدو نصي جيلي هكذا:

rm stats/*.txt
cat access_log | grep brand > brand_access_log
perl tools/awstats_updateall.pl -configdir=wwwroot/cgi-bin -awstatsprog=wwwroot/cgi-bin/awstats.pl now
perl tools/awstats_buildstaticpages.pl -dir=stats -output=pagetype -config=brand -awstatsprog=wwwroot/cgi-bin/awstats.pl

ما الخطأ الذي افعله؟

هل كانت مفيدة؟

المحلول

لم أكن أدرك أنه يمكنني فقط قطع ولصق توجيه Apache Logformat (مع علامة = علامة) وسوف ينجح ، اعتقدت أنني اضطررت إلى استخدام AWStats.

ستستخدم AWStats توجيه Logformat من ملف httpd.conf واستبداله بمعرفات AWSTATS.

لقد قمت بقطع هذا الأمر في ملف AWStats.whateD. WhateR. WhateR. WhateR.WhateR. WhateR.Conf مباشرةً من Apache2 httpd.conf (ثم أضفت = علامة بعد logformat):

LogFormat="\"%{Host}i\" %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top