جمع السجلات من ملف JSON باستخدام عامل Azure Monitor

سجلات JSON المخصصة هي أحد مصادر البيانات المستخدمة في قاعدة تجميع البيانات (DCR). يتم توفير تفاصيل إنشاء DCR في تجميع البيانات باستخدام عامل Azure Monitor. توفر هذه المقالة تفاصيل إضافية للنص ونوع سجلات JSON.

ستقوم العديد من التطبيقات والخدمات بتسجيل المعلومات إلى ملفات JSON بدلا من خدمات التسجيل القياسية مثل سجل أحداث Windows أو Syslog. يمكن جمع هذه البيانات مع عامل Azure Monitor وتخزينها في مساحة عمل Log Analytics مع البيانات التي تم جمعها من مصادر أخرى.

المتطلبات الأساسية

العملية الأساسية

يوضح الرسم التخطيطي التالي العملية الأساسية لجمع بيانات السجل من ملف json.

  1. يراقب العامل أي ملفات سجل تطابق نمط اسم محدد على القرص المحلي.
  2. يتم جمع كل إدخال في السجل وإرساله إلى Azure Monitor. يتم استخدام الدفق الوارد الذي يحدده المستخدم لتحليل بيانات السجل في أعمدة.
  3. يتم استخدام تحويل افتراضي إذا كان مخطط الدفق الوارد يطابق مخطط الجدول الهدف.

لقطة شاشة تعرض استعلام السجل الذي يرجع نتائج مجموعة الملفات المحددة بفاصلة.

متطلبات ملف JSON وأفضل الممارسات

يجب أن يفي الملف الذي يراقبه عامل Azure Monitor بالمتطلبات التالية:

  • يجب تخزين الملف على محرك الأقراص المحلي للجهاز مع عامل Azure Monitor في الدليل الذي تتم مراقبته.
  • يجب تحديد كل سجل بنهاية السطر.
  • يجب أن يستخدم الملف ترميز ASCII أو UTF-8. لا يتم دعم التنسيقات الأخرى مثل UTF-16.
  • يجب إلحاق السجلات الجديدة بنهاية الملف وعدم الكتابة فوق السجلات القديمة. ستؤدي الكتابة فوق إلى فقدان البيانات.
  • يجب أن يكون نص JSON مضمنا في صف واحد. تنسيق نص JSON غير معتمد. انظر العينة أدناه.

التزم بالتوصيات التالية للتأكد من أنك لا تواجه مشكلات في فقدان البيانات أو الأداء:

  • إنشاء ملف سجل جديد كل يوم بحيث يمكنك بسهولة تنظيف الملفات القديمة.
  • تنظيف ملفات السجل باستمرار في الدليل المراقب. يمكن أن يؤدي تعقب العديد من ملفات السجل إلى رفع استخدام وحدة المعالجة المركزية والذاكرة للعامل. انتظر يومين على الأقل للسماح بوقت وافر لمعالجة جميع السجلات.
  • لا تقم بإعادة تسمية ملف يطابق نمط فحص الملف باسم آخر يتطابق أيضا مع نمط فحص الملف. سيؤدي هذا إلى استيعاب البيانات المكررة.
  • لا تقم بإعادة تسمية أو نسخ ملفات السجل الكبيرة التي تطابق نمط فحص الملفات في الدليل المراقب. إذا كان عليك ذلك، فلا تتجاوز 50 ميغابايت في الدقيقة.

جدول مخصص

قبل أن تتمكن من جمع بيانات السجل من ملف JSON، يجب إنشاء جدول مخصص في مساحة عمل Log Analytics لتلقي البيانات. يجب أن يتطابق مخطط الجدول مع الأعمدة في الدفق الوارد، أو يجب إضافة تحويل للتأكد من أن مخطط الإخراج يطابق الجدول. على سبيل المثال، يمكنك استخدام البرنامج النصي PowerShell التالي لإنشاء جدول مخصص بأعمدة متعددة.

$tableParams = @'
{
    "properties": {
        "schema": {
               "name": "{TableName}_CL",
               "columns": [
                    {
                        "name": "TimeGenerated",
                        "type": "DateTime"
                    }, 
                    {
                        "name": "MyStringColumn",
                        "type": "string"
                    },
                    {
                        "name": "MyIntegerColumn",
                        "type": "int"
                    },
                    {
                        "name": "MyRealColumn",
                        "type": "real"
                    },
                    {
                        "name": "MyBooleanColumn",
                        "type": "bool"
                    },
                    {
                        "name": "FilePath",
                        "type": "string"
                    },
                    {
                        "name": "Computer",
                        "type": "string"
                    }
              ]
        }
    }
}
'@

Invoke-AzRestMethod -Path "/subscriptions/{subscription}/resourcegroups/{resourcegroup}/providers/microsoft.operationalinsights/workspaces/{WorkspaceName}/tables/{TableName}_CL?api-version=2021-12-01-preview" -Method PUT -payload $tableParams

إنشاء قاعدة تجميع بيانات لملف JSON

إشعار

استيعاب ملف JSON المخصص المستند إلى العامل قيد المعاينة حاليا وليس لديه تجربة واجهة مستخدم كاملة في المدخل حتى الآن. بينما يمكنك إنشاء DCR باستخدام المدخل، يجب تعديله لتعريف الأعمدة في الدفق الوارد. راجع علامة تبويب قالب Resource Manager للحصول على تفاصيل حول إنشاء DCR المطلوب.

الدفق الوارد

تتضمن ملفات JSON اسم خاصية مع كل قيمة، ويجب أن يتضمن الدفق الوارد في DCR عمودا يطابق اسم كل خاصية. إذا قمت بإنشاء DCR باستخدام مدخل Microsoft Azure، تضمين الأعمدة في الجدول التالي في الدفق الوارد، ويجب تعديل DCR يدويا أو إنشائه باستخدام أسلوب آخر حيث يمكنك تعريف الدفق الوارد بشكل صريح.

Column نوع ‏‏الوصف
TimeGenerated datetime وقت إنشاء السجل.
RawData سلسلة سيكون هذا العمود فارغا لسجل JSON.
FilePath سلسلة إذا أضفت هذا العمود إلى الدفق الوارد في DCR، ملؤه بالمسار إلى ملف السجل. لا يتم إنشاء هذا العمود تلقائيا ولا يمكن إضافته باستخدام المدخل. يجب تعديل DCR الذي تم إنشاؤه بواسطة المدخل يدويا أو إنشاء DCR باستخدام أسلوب آخر حيث يمكنك تعريف الدفق الوارد بشكل صريح.
Computer سلسلة إذا أضفت هذا العمود إلى الدفق الوارد في DCR، ملؤه باسم الكمبيوتر. لا يتم إنشاء هذا العمود تلقائيا ولا يمكن إضافته باستخدام المدخل. يجب تعديل DCR الذي تم إنشاؤه بواسطة المدخل يدويا أو إنشاء DCR باستخدام أسلوب آخر حيث يمكنك تعريف الدفق الوارد بشكل صريح.

إنشاء قاعدة تجميع بيانات، كما هو موضح في تجميع البيانات باستخدام عامل Azure Monitor. في الخطوة Collect and deliver ، حدد JSON Logs من القائمة المنسدلة Data source type .

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

أمثلة:
- C:\Logs\MyLog.json
- C:\Logs\MyLog*.json
- C:\App01\AppLog.json، C:\App02\AppLog.json
- /var/mylog.json
- /var/mylog*.json
اسم الجدول اسم الجدول الوجهة في مساحة عمل Log Analytics.
محدد السجل غير مستخدم حاليا ولكن محجوز للاستخدام المحتمل في المستقبل مما يسمح للمحددات بخلاف نهاية السطر المدعومة حاليا (/r/n).
‏‏تحويل تحويل وقت الاستيعاب لتصفية السجلات أو لتنسيق البيانات الواردة للجدول الوجهة. استخدم source لترك البيانات الواردة دون تغيير.

استكشاف الأخطاء وإصلاحها

انتقل من خلال الخطوات التالية إذا كنت لا تجمع البيانات من سجل JSON الذي تتوقعه.

  • تحقق من كتابة البيانات إلى ملف السجل الذي يتم تجميعه.
  • تحقق من تطابق اسم ملف السجل وموقعه مع نمط الملف الذي حددته.
  • تحقق من أن مخطط الدفق الوارد في DCR يطابق المخطط في ملف السجل.
  • تحقق من أن مخطط الجدول الهدف يطابق الدفق الوارد أو أن لديك تحويلا سيحول الدفق الوارد إلى المخطط الصحيح.
  • راجع التحقق من العملية للتحقق مما إذا كان العامل قيد التشغيل ويتم تلقي البيانات.

الخطوات التالية

تعلم المزيد عن: