إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توفر مقاييس منصة حسابات Azure Batch معلومات حول البرك، والعقد، والنوى، والوظائف، والمهام. لمراقبة أداء نظام التشغيل الضيف، مثل استخدام المعالج المركزي والذاكرة والقرص والشبكة، قم بتثبيت Azure Monitor Agent (AMA) على عقد الحوسبة في المجموعة.
يوضح هذا المقال طريقة القيام بما يلي:
- أنشئ تجمع دفعات مع هوية مدارة وAMA مخصص للمستخدم.
- أنشئ قاعدة جمع البيانات (DCR) لعدادات أداء لينكس وSyslog.
- ربط DCR بمورد Batch Pool.
- Verify data in Log Analytics و Azure Monitor Metrics.
تستخدم الأمثلة Azure CLI ومجموعة لينكس. تدعم نفس البنية مجموعات Windows مع إضافة Windows AMA ومصادر بيانات Windows.
هام
يدعم مراقبة عقد حسابات تجمع الدفعات باستخدام AMA فقط لحسابات الدفعات التي تستخدم وضع تخصيص تجمع اشتراك المستخدمين . في وضع تخصيص تجمع الخدمات الدفعية، يتم إنشاء عقد الحوسبة في اشتراكات مدارة بالدفعات لا يمكن للعملاء الوصول إليها.
كيف تعمل مراقبة العقد
تستخدم مجموعة الدفعات المراقبة الموارد التالية:
- حساب Batch في وضع تخصيص تجمع اشتراك المستخدمين.
- تجمع دفعات يحتوي على هوية مدارة معينة من قبل المستخدم.
- تم تثبيت إضافة Azure Monitor Agent عند إنشاء المجموعة.
- DCR يحدد البيانات التي يجب جمعها والوجهات.
- ارتباط DCR هدفه هو مورد Batch Pool Azure Resource Manager.
- A Log Analytics workspace for log data واختياريا، Azure Monitor Metrics for guest metrics.
ربط DCR بمعرف موارد تجمع الدفعات:
/subscriptions/<subscription-id>/resourceGroups/<resource-group>/
providers/Microsoft.Batch/batchAccounts/<batch-account>/pools/<pool-name>
لا تربط DCR فقط بمجموعة مقياس الآلة الافتراضية التي تنشئها Batch للمجموعة. يدير Batch دورة حياة تلك المجموعة من المقياس. عندما يتغير تجمع إلى العقد الصفرية، يمكن ل Batch حذف مجموعة المقياس وإنشاء مجموعة جديدة أثناء إعادة تكبير لاحقا.
تحتفظ سجلات Log Analytics بمعرف مورد المورد الذي أنشأته دفعة الدفع. تتوفر مؤشرات الضيوف على مقياس الآلة الافتراضية الحالي الذي أنشأته دفعة في azure.vm.linux.guestmetrics الفضاء الاسم للينكس أو على مساحة اسم ضيف الآلة الافتراضية (Windows) ل Windows.
المتطلبات المسبقه
قبل أن تبدأ، تحتاج إلى:
- حساب Azure Batch في وضع تخصيص Pool للمستخدمين.
- إذن لإنشاء مجموعات باستخدام مستوى إدارة الدفعات.
- مساحة عمل Log Analytics.
- هوية مدارة معينة من قبل المستخدم في نفس مستأجر Microsoft Entra مثل حساب Batch نفسه.
- إذن لإنشاء DCRs وجمعيات DCR. للتفاصيل، راجع إنشاء وتحرير قواعد جمع البيانات في Azure Monitor.
- تم تثبيت Azure CLI وتم التحقق من صحتها على الاشتراك.
أنشئ DCR ومساحة Log Analytics ومجموعة Batch في نفس منطقة Azure. إذا كان المجمع يستخدم شبكة افتراضية ذات وصول خارجي محدود، راجع متطلبات شبكة Azure Monitor Agent.
تلميح
يجب أن تستخدم مجموعات الامتدادات تكوين الآلة الافتراضية. لا يمكنك إضافة امتدادات إلى مجموعة موجودة. لإضافة أو إزالة أو تحديث AMA، أنشئ مجموعة جديدة. لمزيد من المعلومات، انظر استخدام الإضافات مع مجموعات الدفعات.
تعيين متغيرات البيئة
حدد متغيرات لمواردك. استبدل القيم المؤقتة.
subscriptionId="<subscription-id>"
resourceGroup="<resource-group>"
location="<location>"
batchAccount="<batch-account-name>"
poolName="<pool-name>"
workspaceName="<log-analytics-workspace-name>"
identityName="<managed-identity-name>"
dcrName="<data-collection-rule-name>"
az account set --subscription "$subscriptionId"
identityId=$(az identity show \
--resource-group "$resourceGroup" \
--name "$identityName" \
--query id \
--output tsv)
workspaceId=$(az monitor log-analytics workspace show \
--resource-group "$resourceGroup" \
--workspace-name "$workspaceName" \
--query id \
--output tsv)
batchAccountId="/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.Batch/batchAccounts/$batchAccount"
poolResourceId="$batchAccountId/pools/$poolName"
dcrId="/subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.Insights/dataCollectionRules/$dcrName"
إنشاء قاعدة تجميع البيانات
تجمع قاعدة جمع البيانات التالية (DCR) عدادات أداء لينكس الشائعة كل 60 ثانية. يرسل العدادات إلى كل من Perf الجدول في Log Analytics وAzure Monitor Metrics. كما يرسل تحذيرا وسجلات Syslog ذات الشدة الأعلى إلى Log Analytics.
Azure Monitor Metrics كوجهة لعدادات أداء الضيوف قيد المعاينة. للقيود الحالية، راجع جمع عدادات الأداء مع Azure Monitor Agent.
أنشئ ملفا باسم dcr.json. الاستبدال <location> و<workspace-resource-id> وكذلك من خلال القيم الخاصة بك.
{
"location": "<location>",
"kind": "Linux",
"properties": {
"dataSources": {
"performanceCounters": [
{
"name": "batchNodePerformance",
"streams": [
"Microsoft-Perf",
"Microsoft-InsightsMetrics"
],
"samplingFrequencyInSeconds": 60,
"counterSpecifiers": [
"\\Processor(*)\\% Processor Time",
"\\Processor(*)\\% User Time",
"\\Processor(*)\\% Privileged Time",
"\\Processor(*)\\% Idle Time",
"\\Memory\\% Available Memory",
"\\Memory\\Used Memory MBytes",
"\\Memory\\% Used Memory",
"\\Logical Disk(*)\\% Free Space",
"\\Logical Disk(*)\\Free Megabytes",
"\\Logical Disk(*)\\Disk Reads/sec",
"\\Logical Disk(*)\\Disk Writes/sec",
"\\Logical Disk(*)\\Disk Read Bytes/sec",
"\\Logical Disk(*)\\Disk Write Bytes/sec",
"\\Network(*)\\Total Bytes Transmitted",
"\\Network(*)\\Total Bytes Received",
"\\Network(*)\\Total Bytes",
"\\System\\Uptime"
]
}
],
"syslog": [
{
"name": "batchNodeSyslog",
"streams": [
"Microsoft-Syslog"
],
"facilityNames": [
"auth",
"authpriv",
"cron",
"daemon",
"kern",
"syslog",
"user"
],
"logLevels": [
"Warning",
"Error",
"Critical",
"Alert",
"Emergency"
]
}
]
},
"destinations": {
"logAnalytics": [
{
"name": "batchMonitorWorkspace",
"workspaceResourceId": "<workspace-resource-id>"
}
],
"azureMonitorMetrics": {
"name": "azureMonitorMetrics-default"
}
},
"dataFlows": [
{
"streams": [
"Microsoft-Perf"
],
"destinations": [
"batchMonitorWorkspace"
]
},
{
"streams": [
"Microsoft-InsightsMetrics"
],
"destinations": [
"azureMonitorMetrics-default"
]
},
{
"streams": [
"Microsoft-Syslog"
],
"destinations": [
"batchMonitorWorkspace"
]
}
]
}
}
أنشئ أو حدث DCR:
az rest \
--method put \
--url "https://management.azure.com${dcrId}?api-version=2022-06-01" \
--body @dcr.json
للحصول على معلومات حول اختيار العدادات والتحكم في تكلفة الاستيعاب، راجع جمع عدادات الأداء باستخدام Azure Monitor Agent.
Create a Pool with Azure Monitor Agent
أنشئ ملفا باسم pool.json. المثال التالي يستخدم أوبونتو 22.04 ويثبت إضافة AMA الخاصة بلينكس. استبدل <managed-identity-resource-id> بقيمة .$identityId
{
"name": "<pool-name>",
"type": "Microsoft.Batch/batchAccounts/pools",
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"<managed-identity-resource-id>": {}
}
},
"properties": {
"vmSize": "STANDARD_D2S_V3",
"taskSlotsPerNode": 1,
"taskSchedulingPolicy": {
"nodeFillType": "Pack"
},
"deploymentConfiguration": {
"virtualMachineConfiguration": {
"imageReference": {
"publisher": "canonical",
"offer": "0001-com-ubuntu-server-jammy",
"sku": "22_04-lts",
"version": "latest"
},
"nodeAgentSkuId": "batch.node.ubuntu 22.04",
"extensions": [
{
"name": "AzureMonitorAgent",
"publisher": "Microsoft.Azure.Monitor",
"type": "AzureMonitorLinuxAgent",
"typeHandlerVersion": "1.0",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"settings": {
"authentication": {
"managedIdentity": {
"identifier-name": "mi_res_id",
"identifier-value": "<managed-identity-resource-id>"
}
}
}
}
]
}
},
"scaleSettings": {
"fixedScale": {
"targetDedicatedNodes": 1,
"targetLowPriorityNodes": 0,
"resizeTimeout": "PT15M"
}
}
}
}
أنشئ المجموعة باستخدام واجهة برمجة تطبيقات إدارة الدفعات:
az rest \
--method put \
--url "https://management.azure.com${poolResourceId}?api-version=2024-07-01" \
--body @pool.json
لمجموعة Windows، استخدم:
- نوع
AzureMonitorWindowsAgentالامتداد . - صورة Windows ووحدة SKU لعقد وكيل Batch متوافق.
- DCR Windows مع
kindضبط علىWindows. - عدادات أداء Windows، وإذا لزم الأمر، مجموعة أحداث Windows بدلا من Syslog.
لا تستخدم DCR واحد لكل من عدادات Windows وLinux. بعض أسماء العدادات يمكن أن تحل إلى نفس المقياس وتسبب جمع مكرر.
ربط DCR بمجموعة الدفعات
إنشاء الارتباط على مورد مجموعة الدفعات:
az monitor data-collection rule association create \
--name "batch-pool-monitoring" \
--resource "$poolResourceId" \
--rule-id "$dcrId"
أكد الارتباط:
az monitor data-collection rule association list \
--resource "$poolResourceId" \
--output table
يبقى الارتباط على المجموعة عند إزالة أو استبدال العقد. لا تستبدلها بارتباط يستهدف فقط مجموعة مقياس الآلة الافتراضية التي أنشأتها الدفعة الحالية.
التحقق من جمع الوكيل والسجلات
اترك حتى خمس دقائق بعد وصول العقدة إلى حالة الخمول لوصول أول السجلات.
تحقق من نبض قلب العميل
شغل الاستعلام التالي في مساحة عمل Log Analytics:
Heartbeat
| where TimeGenerated > ago(30m)
| summarize
Samples = count(),
FirstSeen = min(TimeGenerated),
LastSeen = max(TimeGenerated),
AgentVersion = any(Version)
by Computer, _ResourceId
عادة ما يرسل العميل التشغيلي نبضة قلب واحدة في كل دقيقة.
تحقق من عدادات الأداء
Perf
| where TimeGenerated > ago(30m)
| summarize
Samples = count(),
Average = avg(CounterValue),
P95 = percentile(CounterValue, 95),
Maximum = max(CounterValue)
by Computer, ObjectName, CounterName, InstanceName
| order by ObjectName asc, CounterName asc
تتضمن عدادات الأقراص المنطقية في لينكس عدة نسخ نقطة تركيب. قم بالتصفية عند InstanceName إنشاء مخططات أو تنبيهات حتى لا تشوه التركيبات القابلة للقراءة فقط والتركيبات المؤقتة النتيجة.
تحقق من Syslog
Syslog
| where TimeGenerated > ago(30m)
| project
TimeGenerated,
Computer,
Facility,
SeverityLevel,
ProcessName,
SyslogMessage,
_ResourceId
| order by TimeGenerated desc
عرض مؤشرات الضيوف
إذا أرسل DCR التدفق Microsoft-InsightsMetrics إلى وجهة Azure Monitor Metrics، تظهر مقاييس الضيوف على مجموعة مقياس الآلة الافتراضية التي أنشأتها الدفعة الحالية.
- في بوابة Azure، افتح مجموعة مقياس الآلة الافتراضية التي أنشأها Batch للمجموعة.
- حدد القياسات.
- بالنسبة لمساحة أسماء مترية، اختر
azure.vm.linux.guestmetricsلينكس أو ضيف الآلة الافتراضية (Windows) ل Windows. - اختر مقياسا وتجميعا.
يمكنك تحديد معرف مورد الحوسبة الحالي من السجلات الحديثة Perf :
Perf
| where TimeGenerated > ago(30m)
| summarize arg_max(TimeGenerated, _ResourceId) by Computer
ملحوظة
عندما يتدرج تجمع إلى عقد صفرية، يمكن لباتش حذف مجموعة مقياس الآلة الافتراضية الداعمة. مورد مقياس الضيف غير متاح طالما أن مجموعة المقياس غير موجودة. تظل بيانات Log Analytics المجمعة بالفعل في مساحة العمل متاحة وفقا لإعدادات الاحتفاظ في مساحة العمل.
مراقبة مقاييس منصة الدفعات باستخدام بيانات العقدة
تكمل بيانات ضيوف العقدة مقاييس منصة حساب الدفعة التي يتم جمعها تلقائيا. استخدم كلا المصدرين:
- استخدم مقاييس حساب الدفعة مثل
TotalNodeCount،RunningNodeCount،IdleNodeCount،UnusableNodeCountTaskStartEvent، ، لمراقبةTaskCompleteEventحالة الخدمة والجدولة. - استخدم عدادات أداء الضيوف للتحقيق في حالة وحدة المعالجة المركزية والذاكرة والقرص والشبكة على عقد الحوسبة.
- استخدم سجلات خدمات الدفعات لربط أحداث دورة حياة المجموعة والوظائف والمهام مع سلوك العقدة.
لتعريفات المتريكيات وإرشادات التجميع، انظر Azure Batch monitoring data reference و Monitor Azure Batch.
استكشاف أخطاء جمع البيانات وإصلاحها
استخدم الفحوصات التالية عندما لا تصل البيانات:
| عَرَض | الشيكات |
|---|---|
| لا نبض قلب | تأكد من أن إضافة AMA تم توفيرها بنجاح، وأن الهوية المعينة من قبل المستخدم مرتبطة بالمجموعة وتم الإشارة إليها في إعدادات الإضافة، وأن نقاط النهاية المطلوبة من Azure Monitor قابلة للوصول. |
| أفادت AMA أن المورد غير مرتبط ب DCR | تأكد من أن ارتباط DCR يستهدف معرف موارد تجمع الدفعات. الارتباط فقط على مجموعة مقياس الآلة الافتراضية الداعمة ليس بديلا عن جمعية التجمع. |
يصل نبض القلب لكنه Perf فارغ |
تأكد من وجود ذلك Microsoft-Perf في كل من مصدر بيانات عداد الأداء وتدفق البيانات الذي يستهدف Log Analytics. تحقق من مسارات العداد ونوع نظام التشغيل DCR. |
| مساحة أسماء المعيار الضيف غير متوفرة | تأكد من أن Microsoft-InsightsMetrics الأهداف azureMonitorMetrics-default، وامنح عدة دقائق للتجميع، وتأكد من أن المجموعة تحتوي حاليا على عقد ومقياس دعم محدد. |
| السجلات المكررة | تحقق من وجود عدة DCRs تجمع نفس البيانات من المجموعة. جمع التكرار يزيد من تكلفة الاستهلاك. |
لمواقع سجلات AMA ومتطلبات القرص، راجع متطلبات Azure Monitor Agent. للحصول على تخصيص الدفعات وفشل العقد، انظر Azure Batch pool and node errors.
اعتبارات التكلفة
يمكن تطبيق رسوم Azure Monitor على ميزات Log Analytics للاستيعاب، والاحتفاظ، والتنبيهات، وغيرها من الميزات المفعلة. للتحكم في التكلفة:
- اجمع فقط العدادات والسجلات المطلوبة لأهداف المراقبة.
- استخدم تردد أخذ عينات مناسب لحجم عملك.
- تصفية بيانات القرص حسب مثيلات نقطة التثبيت ذات معنى في الاستعلامات والتنبيهات.
- تجنب ربط DCRs المتداخلة بنفس المجموعة.
- راجع إعدادات الاحتفاظ بمساحة العمل.
لمزيد من المعلومات، راجع Azure Monitor cost and usage و Plan to Management Costs ل Azure Batch.
تنظيف الموارد
عندما لا تحتاج إلى المجموعة المراقبة، احذف المجموعة وأي موارد مراقبة غير مشتركة مع أحمال العمل الأخرى.
للاحتفاظ بتكوين المجموعة دون الاستمرار في تشغيل عقد الحوسبة، قم بإعادة تكبير المجموعة إلى الصفر:
az batch account login \
--resource-group "$resourceGroup" \
--name "$batchAccount"
az batch pool resize \
--pool-id "$poolName" \
--target-dedicated-nodes 0 \
--target-low-priority-nodes 0
التوسع إلى الصفر يمكن أن يزيل مجموعة مقياس الآلة الافتراضية الداعمة. البيانات المخزنة بالفعل في Log Analytics لا تزال متاحة وفقا لإعدادات الاحتفاظ بمساحة العمل.