كيفية الاستعلام عن السجلات من رؤى VM
تنبيه
تشير هذه المقالة إلى CentOS، وهو توزيع Linux يقترب من حالة نهاية العمر الافتراضي (EOL). يرجى مراعاة استخدامك والتخطيط وفقا لذلك. لمزيد من المعلومات، راجع إرشادات نهاية العمر الافتراضي CentOS.
تجمع VM insights قياسات الأداء والاتصال وبيانات مخزون الكمبيوتر والمعالجة ومعلومات الحالة الصحية وإعادة توجيهها إلى مساحة عمل Log Analytics في Azure Monitor. هذه البيانات متاحة للاستعلام في Azure Monitor. يمكنك تطبيق هذه البيانات على السيناريوهات التي تتضمن التخطيط للترحيل، وتحليل السعة، والاكتشاف، واستكشاف أخطاء الأداء، وإصلاحها عند الطلب.
تعيين السجلات
هام
إذا كان جهازك الظاهري يستخدم رؤى الجهاز الظاهري مع عامل Azure Monitor، فيجب أن يكون لديك عمليات وتبعيات ممكنة لإنشاء هذه الجداول.
يتم إنشاء سجل واحد في الساعة لكل كمبيوتر وعملية فريدة، بالإضافة إلى السجلات التي يتم إنشاؤها عند بدء عملية أو كمبيوتر أو إضافته إلى رؤى VM. تعين الحقول والقيم في جدول VMComputer إلى حقول مورد الجهاز في ServiceMap Azure Resource Manager API. تعين الحقول والقيم في جدول VMProcess إلى حقول مورد العملية في ServiceMap Azure Resource Manager API. يطابق حقل _ResourceId حقل الاسم في مورد Resource Manager المقابل.
توجد خصائص تم إنشاؤها داخليًا يمكنك استخدامها لتعريف العمليات وأجهزة الكمبيوتر الفريدة:
- الكمبيوتر: استخدم _ResourceId لتعريف جهاز كمبيوتر بشكل فريد داخل مساحة عمل Log Analytics.
- العملية: استخدم _ResourceId لتعريف عملية بشكل فريد داخل مساحة عمل Log Analytics.
نظرًا لأنه من الممكن أن توجد العديد من السجلات لعملية محددة وجهاز كمبيوتر محدد خلال نطاق زمني محدد، يمكن أن ينتج عن الاستعلامات أكثر من سجل واحد لنفس الكمبيوتر أو العملية. لتضمين أحدث سجل فقط، أضف | summarize arg_max(TimeGenerated, *) by ResourceId
إلى الاستعلام.
التوصيلات والمنافذ
تقدم ميزة قياسات الاتصال جدولين جديدين في سجلات المراقبة في Azure - VMConnection وVMBoundPort. توفر هذه الجداول معلومات حول اتصالات الجهاز (الواردة والصادرة) ومنافذ الخادم المفتوحة/النشطة عليها. يتم عرض ConnectionMetrics أيضاً عبر واجهات برمجة التطبيقات التي توفر الوسائل للحصول على مقياس معين خلال نافذة زمنية. تكون اتصالات TCP الناتجة عن القبول على مقبس الإنصات واردة، بينما تلك التي تم إنشاؤها عن طريق الاتصال بعنوان IP معين والمنفذ تكون صادرة. يتم تمثيل اتجاه الاتصال بواسطة خاصية الاتجاه، والتي يمكن تعيينها إما على الوارد أو الصادر.
يتم إنشاء السجلات في هذه الجداول من البيانات التي أبلغ عنها عامل التبعية. يمثل كل سجل ملاحظة خلال فترة زمنية مدتها دقيقة واحدة. تشير الخاصية TimeGenerated إلى بداية الفاصل الزمني. يحتوي كل سجل على معلومات تحدد الكيان المعني، أي الاتصال، أو المنفذ، بالإضافة إلى المقاييس المقترنة بهذا الكيان. يتم حاليًا الإبلاغ فقط عن نشاط الشبكة الذي يُنفذ باستخدام بروتوكول التحكم في الإرسال (TCP) عبر IPv4.
المجالات المشتركة والاتفاقيات
تنطبق الحقول والاصطلاحات التالية على كل من VMConnection وVMBoundPort:
- الكمبيوتر: اسم المجال المؤهل بالكامل لجهاز الإبلاغ
- AgentId: المعرف الفريد لجهاز يقوم بتشغيل عامل Azure Monitor أو عامل Log Analytics
- الجهاز: اسم مورد Azure Resource Manager للجهاز الذي تم عرضه بواسطة ServiceMap. إنه من النموذج m-{GUID}، حيث GUID هو نفس GUID مثل AgentId
- العملية: اسم مورد Azure Resource Manager للعملية المعروضة بواسطة ServiceMap. إنه من النموذج p-{hex string}. تعتبر العملية فريدة من نوعها داخل نطاق الآلة ولإنشاء معرف عملية فريد عبر الأجهزة، والجمع بين حقل Machine وحقل Process.
- ProcessName: الاسم القابل للتنفيذ لعملية إعداد التقارير.
- جميع عناوين IP عبارة عن سلاسل بتنسيق IPv4 الأساسي، على سبيل المثال 13.107.3.160
لإدارة التكلفة والتعقيد، لا تمثل سجلات الاتصال اتصالات الشبكة الفعلية الفردية. يتم تجميع الاتصالات المتعددة للشبكة الفعلية في اتصال منطقي، والذي ينعكس بعد ذلك في الجدول المعني. بمعنى، تمثل السجلات في جدول VMConnection تجميعاً منطقياً وليس الاتصالات المادية الفردية التي يتم ملاحظتها. يتم تجميع اتصال الشبكة الفعلي الذي يشترك في نفس القيمة للسمات التالية أثناء فاصل زمني محدد مدته دقيقة واحدة في سجل منطقي واحد في VMConnection.
الخاصية | الوصف |
---|---|
الاتجاه | اتجاه الاتصال، القيمة واردة أو صادرة |
الجهاز | اسم FQDN لجهاز الكمبيوتر |
معالجة | هوية العملية أو مجموعات العمليات، التي يتم من خلالها بدء أو قبول الاتصال |
SourceIp | عنوان IP للمصدر |
DestinationIp | عنوان IP للوجهة |
DestinationPort | رقم المنفذ للوجهة |
البروتوكول | البروتوكول المستخدم للاتصال. القيم هي tcp. |
لتفسير تأثير التجميع، ترد المعلومات المتعلقة بعدد الاتصالات الفعلية المُجمّعة في الخصائص التالية للسجل:
الخاصية | الوصف |
---|---|
LinksEstablished | عدد اتصالات الشبكة الفعلية التي تم إنشاؤها خلال الإطار الزمني للإبلاغ |
LinksTerminated | عدد اتصالات الشبكة الفعلية التي تم إنهاؤها خلال الإطار الزمني للإبلاغ |
LinksFailed | عدد اتصالات الشبكة الفعلية التي فشلت خلال الإطار الزمني للإبلاغ. تتوفر هذه المعلومات حاليًا للاتصالات الصادرة فقط. |
LinksLive | عدد اتصالات الشبكة الفعلية التي تم فتحها عند انتهاء الإطار الزمني للإبلاغ |
المقاييس
بالإضافة إلى المقاييس الخاصة بعدد الاتصالات، يتم تضمين المعلومات المتعلقة بحجم البيانات المرسلة والمستلمة على اتصال منطقي، أو منفذ شبكة معين ضمن الخصائص التالية للسجل:
الخاصية | الوصف |
---|---|
BytesSent | إجمالي عدد وحدات البايت المرسلة خلال الإطار الزمني للإبلاغ |
وحدات البايت المستلمة | إجمالي عدد وحدات البايت المستلمة خلال الإطار الزمني للإبلاغ |
الاستجابات | عدد الاستجابات التي لوحظت خلال الإطار الزمني للإبلاغ. |
ResponseTimeMax | أطول وقت استجابة (بالمللي ثانية) لوحظ خلال الإطار الزمني للإبلاغ. في حالة عدم وجود قيمة، تكون الخاصية فارغة. |
ResponseTimeMin | أقصر وقت استجابة (بالمللي ثانية) لوحظ خلال الإطار الزمني للإبلاغ. في حالة عدم وجود قيمة، تكون الخاصية فارغة. |
ResponseTimeSum | مجموع أوقات الاستجابة كلها (بالمللي ثانية) الذي لوحظ خلال الإطار الزمني للإبلاغ. في حالة عدم وجود قيمة، تكون الخاصية فارغة. |
النوع الثالث من البيانات التي يتم الإبلاغ عنها هو وقت الاستجابة؛ وهو مقدار الوقت الذي ينتظره المتصل حتى تتم معالجة طلب أرسله عبر اتصال ما، والرد عليه بواسطة نقطة النهاية البعيدة. وقت الاستجابة المُبلّغ عنه هو تقدير لوقت الاستجابة الحقيقي الذي يستغرقه بروتوكول التطبيق الأساسي. يتم حسابها باستخدام الأساليب الإرشادية استنادا إلى مراقبة تدفق البيانات بين المصدر والوجهة لاتصال شبكة فعلية. من الناحية المفاهيمية، إنه الفرق بين الوقت الذي يترك فيه البايت الأخير من الطلب المرسل، والوقت الذي يصل فيه البايت الأخير من الاستجابة إليه. يُستخدم هذان الطابعان الزمنيان لتحديد أحداث الطلب والاستجابة على اتصال فعلي معين. يمثل الفرق بينهما وقت استجابة طلب واحد.
في هذا الإصدار الأول من هذه الميزة، تمثل الخوارزمية الخاصة بنا عملية تقريب قد تعمل بدرجات متفاوتة من النجاح بناءً على بروتوكول التطبيق الفعلي المستخدم لاتصال شبكة معين. على سبيل المثال، يعمل النهج الحالي بشكل جيد للبروتوكولات المستندة إلى استجابة الطلب مثل HTTP(S)، ولكنه لا يعمل مع البروتوكولات أحادية الاتجاه أو البروتوكولات المستندة إلى قائمة انتظار الرسائل.
فيما يلي بعض النقاط الهامة التي يجب مراعاتها:
- إذا قبلت عملية اتصالات على نفس عنوان IP؛ ولكن عبر العديد من واجهات الشبكة، فسيتم الإبلاغ عن سجل منفصل لكل واجهة.
- لن تحتوي السجلات التي تحتوي على عنوان IP يشتمل على حرف بدل على أي نشاط. يتم تضمينها لتمثيل حقيقة أن منفذا على الجهاز مفتوح لنسبة استخدام الشبكة الواردة.
- لتقليل الإسهاب وحجم البيانات، سيتم حذف السجلات ذات عنوان IP لحرف البدل عندما يكون هناك سجل مطابق (لنفس العملية والمنفذ والبروتوكول) بعنوان IP محدد. عند حذف سجل IP يشتمل على حرف بدل، سيتم تعيين خاصية السجل IsWildcardBind التي تشتمل على عنوان IP محدد على "صحيح"؛ للإشارة إلى أن المنفذ معروض عبر كل من واجهات جهاز الإبلاغ.
- المنافذ المرتبطة فقط بواجهة معينة لها IsWildcardBind معيَّنة على False.
التسمية والتصنيف
يتم تضمين عنوان IP الخاص بالطرف البعيد لأي اتصال في الخاصية RemoteIp لتسهيل الأمر عليك. بالنسبة للاتصالات الواردة، يكون RemoteIp هو نفسه SourceIp، بينما بالنسبة للاتصالات الصادرة، يكون هو نفسه DestinationIp. تمثل الخاصية RemoteDnsCanonicalNames أسماء DNS المتعارف عليها التي أبلغ الجهاز الخاص بعنوان RemoteIp عنها. تمثل الخاصية RemoteDnsQuestions أسئلة DNS التي أبلغ عنها الجهاز لـ RemoteIp. الخاصية RemoveClassification محجوزة للاستخدام في المستقبل.
الموقع الجغرافي
يتضمنVMConnection أيضاً معلومات تحديد الموقع الجغرافي للطرف البعيد لكل سجل اتصال في الخصائص التالية للسجل:
الخاصية | الوصف |
---|---|
RemoteCountry | اسم البلد/ المنطقة التي تستضيف RemoteIp. على سبيل المثال، الولايات المتحدة |
RemoteLatitude | خط العرض للموقع الجغرافي. على سبيل المثال، 47.68 |
RemoteLongitude | خط الطول للموقع الجغرافي. على سبيل المثال، -122.12 |
عنوان IP ضار
يتم فحص كل خاصية RemoteIp في جدول VMConnection مقابل مجموعة من عناوين IP ذات الأنشطة الضارة المعروفة. إذا تم تعريف RemoteIp على أنه ضار، فسيتم ملء الخصائص التالية (تكون فارغة، عندما لا يعتبر IP ضارا) في الخصائص التالية للسجل:
الخاصية | الوصف |
---|---|
MaliciousIp | عنوان RemoteIp |
IndicatorThreadType | يعد مؤشر التهديد الذي تم اكتشافه أحد القيم التالية، Botnet وC2 وCryptoMining وDarknet وDDos وMaliciousUrl والبرامج الضارة، والتصيد الاحتيالي، والخادم الوكيل، وPUA، وقائمة المشاهدة. |
الوصف | وصف التهديد المراقب. |
TLPLevel | يعد مستوى بروتوكول إشارة المرور (TLP) أحد القيم المحددة، أبيض، أخضر، كهرماني، أحمر. |
الدقة | القيم هي 0 - 100. |
الأهمية | القيم هي 0 - 5، حيث 5 هي الأكثر حدة و0 ليست شديدة على الإطلاق. القيمة الافتراضية هي: 3. |
FirstReportedDateTime | أول مرة أبلغ فيها الموفر عن المؤشر. |
LastReportedDateTime | آخر مرة شوهد فيها المؤشر من قبل Interflow. |
IsActive | يشير إلى إلغاء تنشيط المؤشرات بقيمة True أو False. |
ReportReferenceLink | يربط بالتقارير ذات الصلة بشيء معين يمكن مراقبته. للإبلاغ عن تنبيه خاطئ أو الحصول على مزيد من التفاصيل حول IP الضار، افتح حالة دعم وقدم هذا الارتباط. |
AdditionalInformation | يوفر معلومات إضافية حول التهديد المراقب إن أمكن. |
منافذ
تتم كتابة المنافذ الموجودة على الجهاز التي تقبل بشكل نشط نسبة استخدام الشبكة الواردة أو التي من المحتمل أن تقبل نسبة استخدام الشبكة، ولكنها تكون خاملة أثناء النافذة الزمنية للتقرير، في جدول VMBoundPort.
يتم تحديد كل سجل في VMBoundPort من خلال الحقول التالية:
الخاصية | الوصف |
---|---|
معالجة | هوية العملية (أو مجموعات العمليات) التي يرتبط بها المنفذ. |
IP | عنوان IP للمنفذ (يمكن أن يكون عنوان IP بدلاً، 0.0.0.0) |
المنفذ | رقم المنفذ |
البروتوكول | بروتوكول. سبيل المثال، برنامج التعاون الفني أو UDP (فقط ويدعم برنامج التعاون الفني حاليا). |
إن هوية المنفذ مشتق من الحقول الخمسة المذكورة أعلاه ويتم تخزينها في خاصية PortId. يمكن استخدام هذه الخاصية للعثور بسرعة على السجلات لمنفذ معين عبر الوقت.
المقاييس
تتضمن سجلات المنفذ قياسات تمثل الاتصالات المرتبطة بها. حالياً، يتم الإبلاغ عن القياسات التالية (تم وصف تفاصيل كل مقياس في القسم السابق):
- BytesSent وBytesReceived
- LinksEstablished, LinksTerminated, LinksLive
- ResposeTime, ResponseTimeMin, ResponseTimeMax, ResponseTimeSum
فيما يلي بعض النقاط الهامة التي يجب مراعاتها:
- إذا قبلت عملية اتصالات على نفس عنوان IP؛ ولكن عبر العديد من واجهات الشبكة، فسيتم الإبلاغ عن سجل منفصل لكل واجهة.
- لن تحتوي السجلات التي تحتوي على عنوان IP يشتمل على حرف بدل على أي نشاط. يتم تضمينها لتمثيل حقيقة أن منفذا على الجهاز مفتوح لنسبة استخدام الشبكة الواردة.
- لتقليل الإسهاب وحجم البيانات، سيتم حذف السجلات ذات عنوان IP لحرف البدل عندما يكون هناك سجل مطابق (لنفس العملية والمنفذ والبروتوكول) بعنوان IP محدد. عند حذف سجل IP لحرف بدل، سيتم تعيين الخاصية IsWildcardBind للسجل الذي يحتوي على عنوان IP المحدد على True. يشير هذا إلى أن المنفذ مكشوف فوق كل واجهة لجهاز الإبلاغ.
- المنافذ المرتبطة فقط بواجهة معينة لها IsWildcardBind معيَّنة على False.
سجلات VMComputer
السجلات من نوع VMComputer بها بيانات مخزون للخوادم مع عامل التبعية. تحتوي هذه السجلات على الخصائص في الجدول التالي:
الخاصية | الوصف |
---|---|
TenantId | المعرف الفريد لمساحة العمل |
نظام المصدر | الرؤى |
TimeGenerated | الطابع الزمني للسجل (التوقيت العالمي المتفق عليه) |
الكمبيوتر | اسم FQDN لجهاز الكمبيوتر |
AgentId | المعرف الفريد لجهاز يقوم بتشغيل عامل Azure Monitor أو عامل Log Analytics |
الجهاز | اسم مورد Azure Resource Manager للجهاز الذي تم عرضه بواسطة ServiceMap. إنه من النموذج m-{GUID}، حيث GUID هو نفس GUID مثل AgentId. |
DisplayName | اسم العرض |
FullDisplayName | الاسم المعروض بالكامل |
HostName | اسم الجهاز دون اسم المجال |
BootTime | وقت تمهيد الجهاز (UTC) |
TimeZone | المنطقة الزمنية الطبيعية |
VirtualizationState | ظاهري، مراقب، مادي |
Ipv4Addresses | مجموعة عناوين IPv4 |
Ipv4SubnetMasks | صفيف أقنعة الشبكة الفرعية IPv4 (بنفس ترتيب Ipv4Addresses). |
Ipv4DefaultGateways | مجموعة بوابات IPv4 |
Ipv6Addresses | مجموعة عناوين IPv6 |
MacAddresses | صفيف من عناوين MAC |
DnsNames | مجموعة أسماء DNS المرتبطة بالجهاز. |
DependencyAgentVersion | إصدار عامل التبعية الذي يعمل على الجهاز. |
OperatingSystemFamily | Linuxو Windows |
OperatingSystemFullName | الاسم الكامل لنظام التشغيل |
PhysicalMemoryMB | الذاكرة الفعلية بالميغابايت |
Cpus | عدد المعالجات |
CpuSpeed | سرعة وحدة المعالجة المركزية بالميغا هرتز |
VirtualMachineType | فرط، vmware، زين |
VirtualMachineNativeId | معرف الجهاز الظاهري المعين بواسطة hypervisor الخاص به |
VirtualMachineNativeName | اسم الجهاز الظاهري |
VirtualMachineHypervisorId | المعرف الفريد لبرنامج Hypervisor الذي يستضيف الجهاز الظاهري |
HypervisorType | ارتفاع ضغط الدم |
HypervisorId | المعرف الفريد لبرنامج Hypervisor |
HostingProvider | azure |
_ResourceId | المعرف الفريد لمورد Azure |
AzureSubscriptionId | معرّف فريد عالمياً يحدد اشتراكك |
AzureResourceGroup | اسم مجموعة موارد Azure التي ينتمي إليها الجهاز. |
AzureResourceName | اسم مورد Azure |
AzureLocation | موقع مورد Azure |
AzureUpdateDomain | اسم مجال تحديث Azure |
AzureFaultDomain | اسم مجال خطأ Azure |
AzureVmId | المعرف الفريد للجهاز الظاهري Azure |
AzureSize | حجم Azure VM |
AzureImagePublisher | اسم ناشر Azure VM |
AzureImageOffering | اسم نوع عرض Azure VM |
AzureImageSku | رمز التخزين التعريفي لصورة Azure VM |
AzureImageVersion | إصدار صورة Azure VM |
AzureCloudServiceName | اسم خدمة Azure السحابية |
AzureCloudServiceDeployment | معرّف التوزيع للخدمة السحابية |
AzureCloudServiceRoleName | اسم دور خدمة السحابة |
AzureCloudServiceRoleType | نوع دور خدمة السحاب: عامل أو ويب |
AzureCloudServiceInstanceId | معرف مثيل دور الخدمة السحابية |
AzureVmScaleSetName | اسم مجموعة مقياس الجهاز الظاهري |
AzureVmScaleSetDeployment | معرّف نشر مجموعة مقياس الآلة الظاهرية |
AzureVmScaleSetResourceId | المعرف الفريد لمورد مجموعة مقياس الجهاز الافتراضي. |
AzureVmScaleSetInstanceId | المعرف الفريد لمجموعة ميزان الجهاز الافتراضي |
AzureServiceFabricClusterId | المعرف الفريد لمجموعة Azure Service Fabric |
AzureServiceFabricClusterName | اسم مجموعة Azure Service Fabric |
سجلات VMProcess
تحتوي السجلات من نوع VMProcess على بيانات مخزون للعمليات المتصلة عبر بروتوكول TCP على الخوادم مع عامل التبعية. تحتوي هذه السجلات على الخصائص في الجدول التالي:
الخاصية | الوصف |
---|---|
TenantId | المعرف الفريد لمساحة العمل |
نظام المصدر | الرؤى |
TimeGenerated | الطابع الزمني للسجل (التوقيت العالمي المتفق عليه) |
الكمبيوتر | اسم FQDN لجهاز الكمبيوتر |
AgentId | المعرف الفريد لجهاز يقوم بتشغيل عامل Azure Monitor أو عامل Log Analytics |
الجهاز | اسم مورد Azure Resource Manager للجهاز الذي تم عرضه بواسطة ServiceMap. إنه من النموذج m-{GUID}، حيث GUID هو نفس GUID مثل AgentId. |
معالجة | المعرف الفريد لعملية خريطة الخدمة. إنه في شكل p-{GUID}. |
ExecutableName | اسم العملية القابلة للتنفيذ |
DisplayName | اسم عرض العملية |
الدور | دور العملية: webserver, appServer, databaseServer, ldapServer, smbServer |
Group (المجموعة) | اسم مجموعة العمليات. ترتبط العمليات في نفس المجموعة منطقياً، على سبيل المثال، جزء من نفس المنتج أو مكون النظام. |
StartTime | وقت بدء تجمع العمليات |
FirstPid | أول معرف عملية في تجمع العمليات |
الوصف | وصف العملية |
CompanyName | اسم الشركة |
InternalName | الاسم الداخلي |
ProductName | اسم المنتج |
ProductVersion | إصدار المنتج |
FileVersion | نسخة الملف |
ExecutablePath | مسار الملف القابل للتنفيذ |
CommandLine | سطر الأوامر |
WorkingDirectory | دليل العمل |
الخدمات | مجموعة من الخدمات التي يتم تنفيذ العملية بموجبها |
UserName | الحساب الذي تُنفذ فيه العملية |
UserDomain | المجال الذي تُنفذ فيه العملية |
_ResourceId | المعرف الفريد لعملية داخل مساحة العمل |
نماذج استعلامات الخريطة
إدراج كل الأجهزة المعروفة
VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId
متى تم إعادة تشغيل VM آخر مرة
let Today = now(); VMComputer | extend DaysSinceBoot = Today - BootTime | summarize by Computer, DaysSinceBoot, BootTime | sort by BootTime asc
ملخص لـ Azure VMs حسب الصورة والموقع وSKU
VMComputer | where AzureLocation != "" | summarize by Computer, AzureImageOffering, AzureLocation, AzureImageSku
ضع قائمة بسعة الذاكرة الفعلية لجميع أجهزة الكمبيوتر المدارة
VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId | project PhysicalMemoryMB, Computer
سرد اسم الكمبيوتر وDNS وIP وOS
VMComputer | summarize arg_max(TimeGenerated, *) by _ResourceId | project Computer, OperatingSystemFullName, DnsNames, Ipv4Addresses
البحث عن كل العمليات باستخدام "sql" في سطر الأوامر
VMProcess | where CommandLine contains_cs "sql" | summarize arg_max(TimeGenerated, *) by _ResourceId
البحث عن جهاز (أحدث سجل) حسب اسم المورد
search in (VMComputer) "m-4b9c93f9-bc37-46df-b43c-899ba829e07b" | summarize arg_max(TimeGenerated, *) by _ResourceId
البحث عن جهاز (أحدث سجل) حسب عنوان IP
search in (VMComputer) "10.229.243.232" | summarize arg_max(TimeGenerated, *) by _ResourceId
إدراج كل العمليات المعروفة على جهاز محدد
VMProcess | where Machine == "m-559dbcd8-3130-454d-8d1d-f624e57961bc" | summarize arg_max(TimeGenerated, *) by _ResourceId
قائمة بجميع أجهزة الكمبيوتر التي تعمل بنظام SQL Server
VMComputer | where AzureResourceName in ((search in (VMProcess) "*sql*" | distinct Machine)) | distinct Computer
إدراج كل إصدارات المنتج الفريدة من curl في مركز البيانات الخاص بي
VMProcess | where ExecutableName == "curl" | distinct ProductVersion
إنشاء مجموعة أجهزة كمبيوتر تضم جميع أجهزة الكمبيوتر التي تشغل CentOS
VMComputer | where OperatingSystemFullName contains_cs "CentOS" | distinct Computer
البايتات أرسلت واستقبلت الاتجاهات
VMConnection | summarize sum(BytesSent), sum(BytesReceived) by bin(TimeGenerated,1hr), Computer | order by Computer desc | render timechart
أي أجهزة Azure VM ترسل أكبر عدد من البايت
VMConnection | join kind=fullouter(VMComputer) on $left.Computer == $right.Computer | summarize count(BytesSent) by Computer, AzureVMSize | sort by count_BytesSent desc
اتجاهات حالة الارتباط
VMConnection | where TimeGenerated >= ago(24hr) | where Computer == "acme-demo" | summarize dcount(LinksEstablished), dcount(LinksLive), dcount(LinksFailed), dcount(LinksTerminated) by bin(TimeGenerated, 1h) | render timechart
اتجاه فشل الاتصال
VMConnection | where Computer == "acme-demo" | extend bythehour = datetime_part("hour", TimeGenerated) | project bythehour, LinksFailed | summarize failCount = count() by bythehour | sort by bythehour asc | render timechart
المنافذ المقيدة
VMBoundPort
| where TimeGenerated >= ago(24hr)
| where Computer == 'admdemo-appsvr'
| distinct Port, ProcessName
عدد المنافذ المفتوحة عبر الأجهزة
VMBoundPort
| where Ip != "127.0.0.1"
| summarize by Computer, Machine, Port, Protocol
| summarize OpenPorts=count() by Computer, Machine
| order by OpenPorts desc
سجل العمليات في مساحة العمل الخاصة بك من خلال عدد المنافذ المفتوحة
VMBoundPort
| where Ip != "127.0.0.1"
| summarize by ProcessName, Port, Protocol
| summarize OpenPorts=count() by ProcessName
| order by OpenPorts desc
إجمالي السلوك لكل منفذ
يمكن بعد ذلك استخدام هذا الاستعلام لتسجيل المنافذ حسب النشاط، على سبيل المثال، المنافذ التي بها معظم نسبة استخدام الشبكة الواردة / الصادرة، والمنافذ التي بها معظم الاتصالات
//
VMBoundPort
| where Ip != "127.0.0.1"
| summarize BytesSent=sum(BytesSent), BytesReceived=sum(BytesReceived), LinksEstablished=sum(LinksEstablished), LinksTerminated=sum(LinksTerminated), arg_max(TimeGenerated, LinksLive) by Machine, Computer, ProcessName, Ip, Port, IsWildcardBind
| project-away TimeGenerated
| order by Machine, Computer, Port, Ip, ProcessName
تلخيص الاتصالات الصادرة من مجموعة من الأجهزة
// the machines of interest
let machines = datatable(m: string) ["m-82412a7a-6a32-45a9-a8d6-538354224a25"];
// map of ip to monitored machine in the environment
let ips=materialize(VMComputer
| summarize ips=makeset(todynamic(Ipv4Addresses)) by MonitoredMachine=AzureResourceName
| mvexpand ips to typeof(string));
// all connections to/from the machines of interest
let out=materialize(VMConnection
| where Machine in (machines)
| summarize arg_max(TimeGenerated, *) by ConnectionId);
// connections to localhost augmented with RemoteMachine
let local=out
| where RemoteIp startswith "127."
| project ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol, RemoteIp, RemoteMachine=Machine;
// connections not to localhost augmented with RemoteMachine
let remote=materialize(out
| where RemoteIp !startswith "127."
| join kind=leftouter (ips) on $left.RemoteIp == $right.ips
| summarize by ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol, RemoteIp, RemoteMachine=MonitoredMachine);
// the remote machines to/from which we have connections
let remoteMachines = remote | summarize by RemoteMachine;
// all augmented connections
(local)
| union (remote)
//Take all outbound records but only inbound records that come from either //unmonitored machines or monitored machines not in the set for which we are computing dependencies.
| where Direction == 'outbound' or (Direction == 'inbound' and RemoteMachine !in (machines))
| summarize by ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol, RemoteIp, RemoteMachine
// identify the remote port
| extend RemotePort=iff(Direction == 'outbound', DestinationPort, 0)
// construct the join key we'll use to find a matching port
| extend JoinKey=strcat_delim(':', RemoteMachine, RemoteIp, RemotePort, Protocol)
// find a matching port
| join kind=leftouter (VMBoundPort
| where Machine in (remoteMachines)
| summarize arg_max(TimeGenerated, *) by PortId
| extend JoinKey=strcat_delim(':', Machine, Ip, Port, Protocol)) on JoinKey
// aggregate the remote information
| summarize Remote=makeset(iff(isempty(RemoteMachine), todynamic('{}'), pack('Machine', RemoteMachine, 'Process', Process1, 'ProcessName', ProcessName1))) by ConnectionId, Direction, Machine, Process, ProcessName, SourceIp, DestinationIp, DestinationPort, Protocol
سجلات الأداء
تحتوي السجلات من نوع InsightsMetrics على بيانات أداء من نظام التشغيل الضيف للجهاز الظاهري. يتم تجميع هذه السجلات في فواصل زمنية 60 ثانية، وتتضمن الخصائص في الجدول التالي:
الخاصية | الوصف |
---|---|
TenantId | معرّف فريد لمساحة العمل |
نظام المصدر | الرؤى |
TimeGenerated | الوقت الذي تم فيه جمع القيمة (التوقيت العالمي المتفق عليه) |
الكمبيوتر | اسم FQDN لجهاز الكمبيوتر |
الأصل | vm.azm.ms |
مساحة الاسم | فئة عداد الأداء |
الاسم | اسم عدّاد الأداء |
Val | جمع القيمة |
علامات | التفاصيل ذات الصلة بالسجل. راجع الجدول أدناه للتعرف على العلامات المستخدمة مع أنواع السجلات المختلفة. |
AgentId | معرف فريد لكل عامل كمبيوتر |
نوع | InsightsMetrics |
Resourceid | معرف المورد للجهاز الظاهري |
يتم سرد عدادات الأداء التي تم تجميعها حالياً في جدول InsightsMetrics في الجدول التالي:
مساحة الاسم | Name | الوصف | الوحدة | علامات |
---|---|---|---|---|
الكمبيوتر | رسالة كشف أخطاء الاتصال | نبضات الكمبيوتر | ||
الذاكرة | AvailableMB | الذاكرة المتوفرة بالبايت | Megabytes | memorySizeMB - إجمالي حجم الذاكرة |
الشبكة | WriteBytesPerSecond | شبكة بايت الكتابة في الثانية | BytesPerSecond | NetworkDeviceId - معرف الجهاز بايت - إجمالي البايت المرسلة |
الشبكة | ReadBytesPerSecond | شبكة البايت المقروءة في الثانية | BytesPerSecond | networkDeviceId - معرف الجهاز بايت - إجمالي البايت المتلقاة |
معالج | UtilizationPercentage | نسبة استخدام المعالج | نسبة مئوية | totalCpus - إجمالي وحدات المعالجة المركزية |
LogicalDisk | WritesPerSecond | يكتب القرص المنطقي في الثانية | CountPerSecond | mountId - معرف تحميل الجهاز |
LogicalDisk | WriteLatencyMs | كتابة القرص المنطقي زمن انتقال ميلي ثانية | ملّي ثانية | mountId - معرف تحميل الجهاز |
LogicalDisk | WriteBytesPerSecond | كتابة القرص المنطقي بايت في الثانية | BytesPerSecond | mountId - معرف تحميل الجهاز |
LogicalDisk | TransfersPerSecond | عمليات النقل على القرص المنطقي في الثانية | CountPerSecond | mountId - معرف تحميل الجهاز |
LogicalDisk | TransferLatencyMs | زمن انتقال القرص المنطقي بالملّي ثانية | ملّي ثانية | mountId - معرف تحميل الجهاز |
LogicalDisk | ReadsPerSecond | يقرأ القرص المنطقي في الثانية | CountPerSecond | mountId - معرف تحميل الجهاز |
LogicalDisk | ReadLatencyMs | قراءة القرص المنطقي الكمون ملّي ثانية | ملّي ثانية | mountId - معرف تحميل الجهاز |
LogicalDisk | ReadBytesPerSecond | قراءة القرص المنطقي بايت في الثانية | BytesPerSecond | mountId - معرف تحميل الجهاز |
LogicalDisk | FreeSpacePercentage | النسبة المئوية للمساحة الخالية على القرص المنطقي | نسبة مئوية | mountId - معرف تحميل الجهاز |
LogicalDisk | FreeSpaceMB | بايت مساحة حرة على القرص المنطقي | Megabytes | mountId - معرف تحميل الجهاز diskSizeMB - إجمالي حجم القرص |
LogicalDisk | BytesPerSecond | بايت القرص المنطقي في الثانية | BytesPerSecond | mountId - معرف تحميل الجهاز |
الخطوات التالية
إذا كنت جديدا على كتابة استعلامات السجل في Azure Monitor، فراجع كيفية استخدام Log Analytics في مدخل Microsoft Azure لكتابة استعلامات السجل.
تعرف على كتابة استعلامات البحث.