مرحبًا ، لدي المشكلة التالية
أعلن في Haproxy الخاص بي ما يلي:
capture request header Host len 128
capture request header User-Agent len 128
capture request header Referer len 128
السجل هو التالي
Dec 19 13:40:30 localhost haproxy[5417]: 172.16.200.1:47878 [19/Dec/2017:13:40:30.102] https_server~ backend_24x7/srv-ha-24x7 395/0/0/2/397 200 1654 - - ---- 6/6/0/0/0 0/0 {domain.com|Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36|https://domain.com/icinga/} "GET /icinga/images/favicon.ico HTTP/1.1"
في goaccess ، المشكلة هي أنه لا يمكنني فصل القيم الثلاث الموجودة بين الدعامة
{host|User-Agent|Referer}
يحتوي وكيل المستخدم على مسافات ، ولهذا لا يمكنني القيام بذلك بهذه الطريقة:
{^%|%u|%R}
هل من الممكن تغيير المحدد؟ على سبيل المثال ، عن طريق الأنبوب
شكرا.
يعتبر.
لست متأكدًا تمامًا مما تقصده بتغيير المحدد ، ومع ذلك ، أعتقد أن ما يلي يجب أن يفعل ذلك (على الأقل بالنسبة للسطر المنشور أعلاه):
goaccess access.log --log-format='%^:%^:%^: %h:%^[%d:%t.%^] %^ %v %L/%^ %s %b %^{%^|%u|%R} "%r"' --date-format=%d/%b/%Y --time-format=%T
اسمحوا لي أن أعرف إذا كان هذا يحل المشكلة.
شكرا جزيلا لك ، إنه يعمل بشكل مثالي.
يحرر:
أخيرًا أستخدم هذا المرشح
- تنسيق السجل = '٪ ^:٪ ^:٪ ^:٪ h:٪ ^ [٪ d:٪ t.٪ ^]٪ ^٪ ^ /٪ ^٪ ^ /٪ ^ /٪ ^ /٪ ^ / ٪ L٪ s٪ b٪ ^ {٪ v |٪ u |٪ R} "٪ r" '- تنسيق التاريخ =٪ d /٪ b /٪ Y - تنسيق الوقت =٪ T
من الرائع سماع ذلك :)