Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Batch hesap platformu metrikleri, havuzlar, düğümler, çekirdekler, işler ve görevler hakkında bilgi sağlar. CPU, bellek, disk ve ağ kullanımı gibi misafir işletim sistemi performansını izlemek için havuz hesaplama düğümlerine Azure İzleyici Agent (AMA) kurun.
Bu makalede şunların nasıl yapıldığını gösterir:
- Kullanıcı tarafından atanan yönetilen kimlik ve AMA ile bir Batch havuzu oluşturun.
- Linux performans sayaçları ve Syslog için bir veri toplama kuralı (DCR) oluşturun.
- DCR'yi Batch havuzu kaynağı ile ilişkilendirin.
- Log Analytics ve Azure İzleyici Metrics içindeki verileri doğrulayın.
Örnekler Azure CLI ve Linux havuzu kullanıyor. Aynı mimari, Windows AMA uzantısı ile Windows havuzlarını ve Windows veri kaynaklarını destekler.
Important
AMA ile Batch havuzu hesaplama düğümlerinin izlenmesi, yalnızca kullanıcı abonelik havuzu tahsis modunu kullanan Batch hesapları için desteklenir. Batch hizmet havuzu tahsisi modunda, müşterilerin erişemediği Batch tarafından yönetilen aboneliklerde hesaplama düğümleri oluşturulur.
Düğüm izleme nasıl çalışır
İzlenen bir Batch havuzu aşağıdaki kaynakları kullanır:
- Kullanıcı abonelik havuzu tahsis modunda bir Batch hesabı.
- Kullanıcı tarafından atanan yönetilen bir kimliğe sahip bir Batch havuzu.
- Azure İzleyici Agent uzantısı, havuz oluşturulduğunda yüklenir.
- Toplanacak veri ve hedefleri belirten bir DCR.
- Hedefi Batch pool Azure Resource Manager kaynağı olan bir DCR ilişkilendirmesi.
- Günlük verileri için bir Log Analytics çalışma alanı ve isteğe bağlı olarak konuk ölçümleri için Azure İzleyici Metrics.
DCR'yi Batch havuzu kaynak kimliği ile ilişkilendirin:
/subscriptions/<subscription-id>/resourceGroups/<resource-group>/
providers/Microsoft.Batch/batchAccounts/<batch-account>/pools/<pool-name>
DCR'yi sadece Batch'in havuz için oluşturduğu sanal makine ölçek setiyle ilişkilendirmeyin. Batch o ölçek setinin yaşam döngüsünü yönetiyor. Bir havuz sıfır düğüme ölçeklendiğinde, Batch ölçek setini silebilir ve sonraki bir yeniden boyutlandırma sırasında yenisini oluşturabilir.
Log Analytics kayıtları, Batch tarafından oluşturulan hesaplama kaynağının kaynak kimliğini korur. Konuk ölçümleri, Linux için ad alanında veya Windows için azure.vm.linux.guestmetrics ad alanında, geçerli Batch tarafından oluşturulmuş sanal makine ölçek kümesinde kullanılabilir.
Prerequisites
Başlamadan önce şunları yapmanız gerekir:
- kullanıcı aboneliği havuzu ayırma modundaki bir Azure Batch hesabı.
- Batch yönetim düzlemi kullanılarak havuz oluşturma izni.
- Bir Log Analytics çalışma alanı.
- Batch hesabıyla aynı Microsoft Entra kiracısında kullanıcı tarafından atanan yönetilen bir kimlik.
- DCR ve DCR ilişkilendirmeleri oluşturma izni. Detaylar için bkz. Create and edit data collection rules in Azure İzleyici.
- Azure CLI aboneliğe kuruldu ve kimlik doğrulaması sağlandı.
Aynı Azure bölgesinde DCR, Log Analytics çalışma alanı ve Batch havuzunu oluşturun. Havuz, sınırlı çıkış erişimi olan sanal bir ağ kullanıyorsa, Azure İzleyici Agent ağ gereksinimlerini inceleyin.
Tip
Uzantıları olan havuzlar Sanal Makine Yapılandırması kullanmalıdır. Mevcut bir havuza uzantı ekleyemezsiniz. AMA eklemek, kaldırmak veya güncellemek için yeni bir havuz oluşturun. Daha fazla bilgi için bkz. Batch havuzlarıyla uzantıları kullanma.
Ortam değişkenlerini ayarlama
Kaynaklarınız için değişkenler belirleyin. Yer tutucu değerlerini değiştirin.
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"
Veri toplama kuralı oluşturma
Aşağıdaki veri toplama kuralı (DCR), her 60 saniyede bir yaygın Linux performans sayacı toplar. Sayaçları hem Perf Log Analytics'teki tabloya hem de Azure İzleyici Metrics'e gönderir. Ayrıca uyarı ve daha yüksek şiddetli Syslog kayıtlarını Log Analytics'e gönderir.
Azure İzleyici Metrics, konuk performans sayaçları için hedef olarak önizleme aşamasındadır. Güncel sınırlamalar için bkz. Collect performance counters with Azure İzleyici Agent.
dcr.jsonadlı bir dosya oluşturun.
<location> ve <workspace-resource-id> değerlerini kendi değerlerinizle değiştirin.
{
"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'yi oluşturun veya güncelleyin:
az rest \
--method put \
--url "https://management.azure.com${dcrId}?api-version=2022-06-01" \
--body @dcr.json
Sayaç seçme ve alım maliyetinin kontrolü hakkında bilgi için Performans sayacılarını Azure İzleyici Agent ile toplama sayfasına bakınız.
Azure İzleyici Aracısı ile bir havuz oluşturun
pool.jsonadlı bir dosya oluşturun. Aşağıdaki örnek Ubuntu 22.04 kullanır ve Linux AMA uzantısı yüklüdür.
<pool-name> yerine $poolName değerini koyun ve <managed-identity-resource-id> yerine $identityId değerini koyun.
{
"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"
}
}
}
}
Batch yönetim API'si kullanılarak havuz oluşturun:
az rest \
--method put \
--url "https://management.azure.com${poolResourceId}?api-version=2024-07-01" \
--body @pool.json
Windows havuzu için şunları kullanın:
- Uzantı türü
AzureMonitorWindowsAgent. - Bir Windows görüntüsü ve uyumlu Batch düğüm aracısı SKU'su.
-
kinddeğeriWindowsolarak ayarlanmış bir Windows DCR. - Windows performans sayacı ve gerekirse Syslog yerine Windows olay koleksiyonu.
Hem Windows hem de Linux sayacı için tek bir DCR kullanmayın. Bazı sayaç adları aynı metriğe karşılık gelebilir ve yinelenen toplamaya neden olabilir.
DCR'yi Batch havuzuyla ilişkilendirin
Batch havuzu kaynağı üzerinde ilişkilendirme oluşturun:
az monitor data-collection rule association create \
--name "batch-pool-monitoring" \
--resource "$poolResourceId" \
--rule-id "$dcrId"
Bağlantıyı onaylayın:
az monitor data-collection rule association list \
--resource "$poolResourceId" \
--output table
Düğümler çıkarıldığında veya değiştirildiğinde bu ilişki havuzda kalır. Bunu yalnızca Batch’in oluşturduğu mevcut sanal makine ölçek kümesini hedefleyen bir ilişkilendirmeyle değiştirmeyin.
Ajanı ve log toplamayı doğrulayın
Düğüm boş duruma geldikten sonra ilk kayıtların gelmesini beş dakikaya kadar bekleyin.
Ajanın kalp atışını doğrulayın
Log Analytics çalışma alanında aşağıdaki sorguyu çalıştırın:
Heartbeat
| where TimeGenerated > ago(30m)
| summarize
Samples = count(),
FirstSeen = min(TimeGenerated),
LastSeen = max(TimeGenerated),
AgentVersion = any(Version)
by Computer, _ResourceId
Operasyonel bir ajan genellikle her dakika bir kalp atışı gönderir.
Performans sayaclarını doğrulayın
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
Linux mantıksal disk sayacları birden fazla mount point örneği içerir. Grafikler veya uyarılar oluştururken, salt okunur ve geçici bağlama noktalarının sonucu çarpıtmaması için InstanceName üzerinde filtre uygulayın.
Syslog'u Doğrula
Syslog
| where TimeGenerated > ago(30m)
| project
TimeGenerated,
Computer,
Facility,
SeverityLevel,
ProcessName,
SyslogMessage,
_ResourceId
| order by TimeGenerated desc
Konuk metriklerini görüntüleyin
DCR, Microsoft-InsightsMetrics akışını Azure İzleyici Metrics hedefine gönderirse, konuk ölçümleri Batch tarafından oluşturulmuş geçerli sanal makine ölçek kümesinde görünür.
- Azure portalında, Batch'in havuz için oluşturduğu sanal makine ölçek setini açın.
- Ölçümler’i seçin.
-
Metric Namespace için Linux adına veya Windows için
azure.vm.linux.guestmetricsseçin. - Bir metrik ve toplama seçeneği seçin.
Güncel hesaplama kaynak kimliğini son Perf kayıtlardan bulabilirsiniz:
Perf
| where TimeGenerated > ago(30m)
| summarize arg_max(TimeGenerated, _ResourceId) by Computer
Note
Bir havuzun düğüm sayısı sıfıra ölçeklendiğinde, Batch temelindeki sanal makine ölçek kümesini silebilir. Misafir metrik kaynağı mevcut değil çünkü ölçek seti yok. Çalışma alanında halihazırda toplanmış olan Log Analytics verileri, çalışma alanı saklama ayarlarına göre kullanılabilir olmaya devam eder.
Düğüm verileriyle Batch platformu metriklerini izleyin
Node misafir verisi, otomatik olarak toplanan Batch hesap platformu metriklerini tamamlar. Her iki kaynağı da kullanın:
- Hizmet ve planlama durumunu izlemek için ,
RunningNodeCount,IdleNodeCount,TaskStartEventUnusableNodeCountveTaskCompleteEventgibi Toplu hesap metrikleriniTotalNodeCountkullanın. - Hesaplama düğümlerindeki CPU, bellek, disk ve ağ koşullarını incelemek için misafir performans sayacı kullanın.
- Havuz, iş ve görev yaşam döngüsü olaylarını düğüm davranışıyla ilişkilendirmek için Batch servis loglarını kullanın.
Metrik tanımları ve toplama kılavuzu için bkz: Azure Batch izleme verileri başvurusu ve Azure Batch'i izleme.
Veri toplama sorunlarını giderme
Veri gelmediğinde aşağıdaki kontrolleri kullanın:
| Belirti | Denetimler |
|---|---|
| Kalp atışı yok | AMA uzantısının başarıyla dağıtıldığını, kullanıcı tarafından atanan kimliğin havuzla ilişkilendirildiğini ve uzantı ayarlarında bu kimliğe başvurulduğunu, ayrıca gerekli Azure İzleyici uç noktalarına erişilebildiğini doğrulayın. |
| AMA, kaynağın bir DCR ile ilişkili olmadığını bildiriyor | DCR ilişkisinin Batch havuzu kaynak ID'sini hedeflediğini doğrulayın. Yalnızca arka plandaki sanal makine ölçek kümesindeki bir ilişkilendirme, havuz ilişkilendirmesinin yerine geçmez. |
Kalp atışı alınıyor ama Perf boş |
Bunun hem performans sayacı veri kaynağında hem de Log Analytics'i hedefleyen bir veri akışında bulunduğunu doğrulayınMicrosoft-Perf. Sayaç yollarını ve DCR işletim sistemi türünü kontrol edin. |
| Guest metric isim alanı mevcut değil |
Microsoft-InsightsMetrics öğesinin azureMonitorMetrics-default öğesini hedeflediğini doğrulayın, birleştirme için birkaç dakika bekleyin ve havuzun şu anda düğümler ile onu destekleyen bir ölçek kümesi içerdiğini doğrulayın. |
| Yinelenen kayıtlar | Havuzdan aynı veriyi toplayan birden fazla DCR olup olmadığını kontrol edin. Yinelenen koleksiyon, içe aktarma maliyetini artırır. |
AMA log konumları ve disk gereksinimleri için bkz. Azure İzleyici Agent requirements. Batch tahsisi ve düğüm arızaları için bkz: Azure Batch havuzu ve düğüm hataları.
Maliyetle ilgili konular
Azure İzleyici ücretleri, Log Analytics alımı, tutma, uyarılar ve diğer etkinleştirilmiş özellikler için geçerli olabilir. Maliyeti kontrol etmek için:
- Sadece izleme hedefleriniz için gereken sayaçları ve logları toplayın.
- İş yükünüze uygun bir örnekleme frekansı kullanın.
- Disk verilerini sorgular ve uyarılarda anlamlı mount-point örneklerine göre filtreleyin.
- Aynı havuzla örtüşen DCR'ları ilişkilendirmekten kaçının.
- Çalışma alanı saklama ayarlarını gözden geçirin.
Daha fazla bilgi için Azure İzleyici maliyet ve kullanımı ve Azure Batch için maliyetleri yönetmeyi planlama konularına bakın.
Kaynakları temizle
Artık izlenen havuza ihtiyacınız kalmadığında, havuzu ve diğer iş yükleriyle paylaşılmayan izleme kaynaklarını silin.
Hesaplama düğümlerini çalıştırmadan havuz yapılandırmasını korumak için havuzu sıfıra kadar boyutlandırın:
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
Sıfıra ölçeklendirmek, arka plan sanal makine ölçek setini kaldırabilir. Log Analytics'te zaten depolanan veriler, çalışma alanı saklama ayarlarına göre erişilebilir kalır.