الأدلة

أنشئ خريطة حرارية من سجلات عناوين IP الخام

سجل الوصول المليء بعناوين IP يحتوي على معلومات جغرافية حقيقية مدفونة فيه، لكن فقط بعد تحويل كل عنوان إلى إحداثيات يمكن لأداة الخرائط رسمها فعلًا.

استخراج العناوين من السجل

استخرج عناوين IP الفريدة من ملف السجل أولًا، بدلًا من الاستعلام عن كل سطر في السجل على حدة، لأن عنوان الزائر نفسه يظهر عادة مرات عديدة خلال الجلسة ولا يوجد سبب للدفع مقابل الاستعلام نفسه مرارًا.

sort logfile.txt | awk '{print $1}' | sort -u > unique_ips.txt

التحويل المجمّع

أرسل قائمة العناوين الفريدة كمصفوفة POST مجمّعة إلى /v1/ip.

POST /v1/ip
Content-Type: application/json

["203.0.113.10", "198.51.100.25", "192.0.2.44"]
{
  "status": "ok",
  "results": [
    {"ip": "203.0.113.10", "version": 4, "found": true, "country": "Germany", "country_code": "DE", "region": "Berlin", "city": "Berlin", "postcode": "10115", "lat": 52.5300, "lon": 13.3800, "timezone": "Europe/Berlin", "asn": 1111, "org": "Example ISP"},
    {"ip": "198.51.100.25", "version": 4, "found": true, "country": "Spain", "country_code": "ES", "region": "Madrid", "city": "Madrid", "postcode": "28001", "lat": 40.4168, "lon": -3.7038, "timezone": "Europe/Madrid", "asn": 2222, "org": "Example Networks"},
    {"ip": "192.0.2.44", "version": 4, "found": false}
  ]
}

بناء مجموعة بيانات الخريطة الحرارية

اقرن كل قيمتي lat وlon معادتين بعدد مرات تكرار العنوان الأصلي في سجلك، بحيث يساهم الزائر الذي يظهر مئة مرة في السجل بوزن أكبر بشكل متناسب من زائر يظهر مرة واحدة. غذِّ قائمة نقاط الإحداثيات الموزونة الناتجة في أي أداة خرائط أو رسوم بيانية تستخدمها لعرض الخريطة الحرارية.

مثال ثانٍ: تفصيل على مستوى الدولة بدلًا من ذلك

إذا كانت الخريطة الحرارية الدقيقة نقطة بنقطة تحتوي على تفاصيل أكثر مما تحتاج، فإن التجميع حسب country_code بدلًا من الإحداثيات الخام ينتج عرضًا أبسط على نمط الخريطة التظليلية، رقم واحد لكل دولة بدلًا من سحابة متناثرة من النقاط. ويستخدم هذا الاستعلام المجمّع نفسه تمامًا، مع تجميع مختلف فقط بعد عودة النتائج، لذا لا يكلف بناء العرضين من البيانات المحوّلة نفسها أي شيء إضافي.

التعامل مع العناوين التي لا تُحوَّل

العنصر الذي يحمل found: false، كما في النتيجة الثالثة أعلاه، ينبغي ببساطة استبعاده من الخريطة الحرارية بدلًا من رسمه في موقع افتراضي، لأن تضمينه سيجمّع حركة المرور غير المحوّلة بشكل مضلل في مكان على الخريطة لا علاقة له بمصدرها الفعلي.

خطأ شائع يجب تجنبه

لا تتخطَّ تصفية حركة المرور الواضح أنها ليست من زوار، مثل فحوص السلامة الداخلية أو خدمات المراقبة التي تطرق خادمك باستمرار من عنوان ثابت، قبل بناء قائمة العناوين الفريدة. فخدمة المراقبة التي تستطلع كل دقيقة قد تراكم عددًا غير متناسب من أسطر السجل لا علاقة له بجغرافيا الزوار الحقيقية، ورغم أن إزالة التكرار تحصرها أصلًا في نقطة محوّلة واحدة، فإن تلك النقطة الواحدة قد تهيمن بصريًا على الخريطة الحرارية بما لا يتناسب مع أي نمط حركة حقيقي تمثله.

حالة حدّية: حركة مرور الاستضافة ومراكز البيانات

كثيرًا ما يكشف الحقل org في العنوان المحوّل أن حركة المرور قادمة من مركز بيانات أو نطاق استضافة سحابية لا من اتصال سكني أو اتصال هاتف محمول، وهذه إشارة معقولة لتصفية حركة الروبوتات أو أدوات الكشط قبل أن تشوّه خريطة حرارية يُفترض أن تمثل مواقع الزوار الحقيقيين.

كم يكلف

تحويل العناوين الفريدة بدلًا من كل سطر في السجل هو ما يُبقي هذا معقول التكلفة، لأن تكلفة الطلبات طلب واحد لكل عنوان فريد، لا لكل سطر في السجل. فسجل بمليون سطر لكن ببضعة آلاف فقط من عناوين الزوار الفريدة يكلف بضعة آلاف من الطلبات، لا مليونًا، وهذا يمكن إدارته بسهولة عبر الرصيد المسبق الدفع أو باقة Unlimited لموقع كبير، وغالبًا ما يكون ضمن الحصة المجانية لموقع أصغر. ومراقبة الترويسة X-Quota-Used أثناء مهمة دفعية كبيرة طريقة بسيطة لتأكيد أن الاستخدام يسير كما هو متوقع قبل انتهاء المهمة.

إزالة التكرار قبل التحويل هي أكبر رافعة منفردة لإبقاء الخريطة الحرارية المبنية على السجلات معقولة التكلفة. يغطي توثيق الاستعلام عن IPv4 صيغة الطلب المجمّع بالكامل.