إرسال بيانات سجل موارد Azure

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

إرسال إلى مساحة عمل Log Analytics

أرسل سجلات الموارد إلى مساحة عمل Log Analytics لتمكين ميزات سجلات مراقبة Azure ، حيث يمكنك:

  • ربط بيانات سجل الموارد ببيانات المراقبة الأخرى التي جمعت بواسطة Azure Monitor.
  • دمج إدخالات السجل من مصادر Azure متعددة واشتراكات والمستأجرين في موقع واحد من أجل التحليل معًا.
  • قم باستخدام استعلامات السجل لإجراء تحليل معقد والحصول على رؤى عميقة عن بيانات السجل.
  • استخدم تنبيهات بحث السجل مع منطق التنبيه المعقد.

إنشاء إعداد تشخيص للقيام بإرسال سجلات الموارد إلى مساحة عمل Log Analytics. يتم تخزين هذه البيانات في جداول كما هو موضح فيبنية سجلات مراقب Azure. الجداول المستخدمة تعتمد بواسطة سجلات المصادر على نوع المجموعة التي يستخدمها المورد:

  • تشخيصات Azure : تتم كتابة جميع البيانات في جدول AzureDiagnostics .
  • خاص بالموارد : تتم كتابة البيانات في جداول فردية لكل فئة من فئات المورد.

المصادر الخاصة

في هذه الحال، يتم إنشاء جداول فردية في مساحة العمل المحددة لكل فئة محددة في إعداد التشخيص. نوصي بهذه الطريقة لأنها:

  • يجعل من السهل التعامل مع البيانات في استعلامات السجل.
  • توفر قابلية اكتشاف أفضل للمخططات وهيكلها.
  • يحسِّن الأداء عبر وقت استجابة البث وأوقات الاستعلام.
  • يوفر القدرة على منح Azure حقوق التحكم في الوصول المستند إلى الدور في جدول معين.

ستنتقل جميع خدمات Azure في النهاية إلى الوضع الخاص بالمورد.

ينشئ المثال أدناه ثلاثة جداول:

  • الجدول Service1AuditLogs

    موفر الموارد الفئة A B C
    الخدمة 1 AuditLogs x1 y1 z1
    الخدمة 1 AuditLogs x5 y5 z5
    ...
  • الجدول Service1ErrorLogs

    موفر الموارد الفئة D E F
    الخدمة 1 أخطاء في تسجيل الأخطاء q1 w1 e1
    الخدمة 1 أخطاء في تسجيل الأخطاء q2 w2 e2
    ...
  • الجدول Service2AuditLogs

    موفر الموارد الفئة G H I
    الخدمة 2 AuditLogs j1 k1 l1
    الخدمة 2 AuditLogs j3 k3 l3
    ...

وضع تشخيص Azure

في هذه الطريقة، يتم تجميع كافة البيانات من أي إعداد تشخيص في جدول AzureDiagnostics . تُستخدم هذه الطريقة القديمة اليوم في معظم خدمات Azure. نظرًا إلى أن أنواع الموارد المتعددة ترسل البيانات إلى نفس الجدول، فإن مخططها هو مجموعة شاملة من المخططات لجميع أنواع البيانات المختلفة التي يتم جمعها. للحصول على تفاصيل حول بنية هذا الجدول وكيفية عمله مع هذا العدد الكبير المحتمل من الأعمدة، راجع مرجع AzureDiagnostics .

ضع في اعتبارك مثالاً حيث يتم تجميع إعدادات التشخيص في نفس مساحة العمل لأنواع البيانات التالية:

  • تحتوي سجلات تدقيق الخدمة 1 على مخطط يتكون من الأعمدة A وB وC
  • تحتوي سجلات أخطاء الخدمة 1 على مخطط يتكون من الأعمدة D وE وF
  • تحتوي سجلات تدقيق الخدمة 2 على مخطط يتكون من الأعمدة G وH وI

يبدو الجدول AzureDiagnostics مشابهًا لهذا المثال:

موفر المورد الفئة A B C D E F G H I
Microsoft.Service1 AuditLogs x1 y1 z1
Microsoft.Service1 أخطاء في تسجيل الأخطاء q1 w1 e1
Microsoft.Service2 AuditLogs j1 k1 l1
Microsoft.Service1 أخطاء في تسجيل الأخطاء q2 w2 e2
Microsoft.Service2 AuditLogs j3 k3 l3
Microsoft.Service1 AuditLogs x5 y5 z5
...

حدد وضع المجموعة

تكتب معظم موارد Azure البيانات إلى مساحة العمل إما في تشخيصات Azure أو الوضع الخاص بالمورد دون إعطائك خيارًا. لمزيد من المعلومات، راجع المخططات العامة والخاصة بالخدمة لسجلات موارد Azure .

ستستخدم جميع خدمات Azure في النهاية الوضع الخاص بالموارد. كجزء من هذا الانتقال، تسمح لك بعض الموارد بتحديد وضع في إعداد التشخيص. حدد الوضع الخاص بالموارد لأي إعدادات تشخيص جديدة لأن هذا الوضع يجعل البيانات أسهل في الإدارة. قد يساعدك أيضًا في تجنب عمليات الترحيل المعقدة لاحقًا.

Screenshot that shows the Diagnostics settings mode selector.

إشعار

للحصول على مثال يعيّن وضع المجموعة باستخدام قالب Azure Resource Manager، راجع نماذج قالب إدارة الموارد لإعدادات التشخيص في مراقب Azure .

تستطيع تعديل إعداد تشخيص موجود إلى وضع الموارد الخاصة. في هذه الحالة، تظل البيانات التي تم تجميعها بالفعل في الجدول AzureDiagnostics حتى تتم إزالتها وفقًا لإعداد الاحتفاظ الخاص بك لمساحة العمل. يتم جمع البيانات الجديدة في الجدول المخصص. قم باستخدام عامل التشغيلunion للاستعلام عن البيانات خلال كلا الجدولين.

تابع مشاهدة مدونة تحديثات Azure للحصول على إعلانات حول خدمات Azure التي تدعم الوضع الخاص بالموارد.

أرسل إلى مراكز الأحداث

أرسل سجلات الموارد إلى مركز الأحداث لإرسالها خارج Azure. على سبيل المثال، يتم إرسال سجلات الموارد إلى SIEM لجهة خارجية أو حلول تحليلات السجل الأخرى. يتم استهلاك سجلات الموارد من مراكز الأحداث بتنسيق JSON مع عنصر records يحتوي على السجلات في كل حمولة. يعتمد المخطط على نوع المورد كما هو موضح في المخطط العام والخاص بالخدمة لسجلات موارد Azure .

بيانات المخرجات النموذجية التالية مأخوذة من مراكز الأحداث لـ Azure لسجل الموارد:

{
    "records": [
        {
            "time": "2019-07-15T18:00:22.6235064Z",
            "workflowId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330013509921957/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Error",
            "operationName": "Microsoft.Logic/workflows/workflowActionCompleted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T17:58:55.048482Z",
                "endTime": "2016-07-15T18:00:22.4109204Z",
                "status": "Failed",
                "code": "BadGateway",
                "resource": {
                    "subscriptionId": "00000000-0000-0000-0000-000000000000",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "243aac67fe904cf195d4a28297803785",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330013509921957",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "29a9862f-969b-4c70-90c4-dfbdc814e413",
                    "clientTrackingId": "08587330013509921958"
                }
            }
        },
        {
            "time": "2019-07-15T18:01:15.7532989Z",
            "workflowId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA",
            "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/JOHNKEMTEST/PROVIDERS/MICROSOFT.LOGIC/WORKFLOWS/JOHNKEMTESTLA/RUNS/08587330012106702630/ACTIONS/SEND_EMAIL",
            "category": "WorkflowRuntime",
            "level": "Information",
            "operationName": "Microsoft.Logic/workflows/workflowActionStarted",
            "properties": {
                "$schema": "2016-04-01-preview",
                "startTime": "2016-07-15T18:01:15.5828115Z",
                "status": "Running",
                "resource": {
                    "subscriptionId": "00000000-0000-0000-0000-000000000000",
                    "resourceGroupName": "JohnKemTest",
                    "workflowId": "243aac67fe904cf195d4a28297803785",
                    "workflowName": "JohnKemTestLA",
                    "runId": "08587330012106702630",
                    "location": "westus",
                    "actionName": "Send_email"
                },
                "correlation": {
                    "actionTrackingId": "042fb72c-7bd4-439e-89eb-3cf4409d429e",
                    "clientTrackingId": "08587330012106702632"
                }
            }
        }
    ]
}

إرسال إلى تخزين Azure

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

إشعار

تتمثل الإستراتيجية البديلة للأرشفة في إرسال سجل المورد إلى مساحة عمل Log Analytics باستخدام نهج الأرشيف .

تستخدم النقاط الموجودة داخل الحاوية اصطلاح التسمية التالي:

insights-logs-{log category name}/resourceId=/SUBSCRIPTIONS/{subscription ID}/RESOURCEGROUPS/{resource group name}/PROVIDERS/{resource provider name}/{resource type}/{resource name}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json

قد يكون لـ blob الخاص بمجموعة أمان الشبكة اسم مشابه لهذا المثال:

insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUP/TESTNSG/y=2016/m=08/d=22/h=18/m=00/PT1H.json

يحتوي كل كائن ثنائي كبير الحجم PT1H.json على كائن JSON مع أحداث من ملفات السجل التي تم تلقيها خلال الساعة المحددة في عنوان URL للكائن الثنائي كبير الحجم. خلال الساعة الحالية، يتم إلحاق الأحداث بملف PT1H.json عند تلقيها، بغض النظر عن وقت إنشائها. قيمة الدقيقة في عنوان URL، m=00 دائما ما يتم 00 إنشاء الكائنات الثنائية كبيرة الحجم على أساس كل ساعة.

ضمن ملف PT1H.json، يتم تخزين كل حدث بالتنسيق التالي. يستخدم مخطط مستوى أعلى شائع ولكنه فريد لكل خدمة من خدمات Azure، كما هو موضح في مخطط سجلات الموارد .

إشعار

تتم كتابة السجلات إلى الكائنات الثنائية كبيرة الحجم استنادا إلى الوقت الذي تم فيه تلقي السجل، بغض النظر عن الوقت الذي تم إنشاؤه فيه. وهذا يعني أن كائن ثنائي كبير الحجم معين يمكن أن يحتوي على بيانات سجل خارج الساعة المحددة في عنوان URL للكائن الثنائي كبير الحجم. حيث يدعم مصدر بيانات مثل Application insights تحميل بيانات تتبع الاستخدام التي لا معنى لها، يمكن أن يحتوي الكائن الثنائي كبير الحجم على بيانات من ال 48 ساعة السابقة.
في بداية ساعة جديدة، من الممكن أن السجلات الموجودة لا تزال تتم كتابتها إلى كائن ثنائي كبير الحجم للساعة السابقة بينما تتم كتابة السجلات الجديدة إلى كائن ثنائي كبير الحجم للساعة الجديدة.

{"time": "2016-07-01T00:00:37.2040000Z","systemId": "46cdbb41-cb9c-4f3d-a5b4-1d458d827ff1","category": "NetworkSecurityGroupRuleCounter","resourceId": "/SUBSCRIPTIONS/s1id1234-5679-0123-4567-890123456789/RESOURCEGROUPS/TESTRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/NETWORKSECURITYGROUPS/TESTNSG","operationName": "NetworkSecurityGroupCounters","properties": {"vnetResourceGuid": "{12345678-9012-3456-7890-123456789012}","subnetPrefix": "10.3.0.0/24","macAddress": "000123456789","ruleName": "/subscriptions/ s1id1234-5679-0123-4567-890123456789/resourceGroups/testresourcegroup/providers/Microsoft.Network/networkSecurityGroups/testnsg/securityRules/default-allow-rdp","direction": "In","type": "allow","matchedConnections": 1988}}

عمليات التكامل مع شركاء Azure Monitor

يمكن أيضًا إرسال سجلات الموارد إلى حلول الشركاء المدمجة بالكامل في Azure. للحصول على قائمة بهذه الحلول والتفاصيل حول كيفية تكوينها، راجع تكاملات شريك Azure Monitor .

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