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.
Bu makale, Azure DevTest Labs sanal makine (VM) kaynaklarınızdaki yapıt hatalarına yönelik olası nedenler ve sorun giderme adımlarında size yol gösterir.
Artifaktlar, VM oluşturma sırasında veya sonrasında laboratuvar VM'lerine yükleyebileceğiniz araçlar, eylemler veya yazılımlardır. Laboratuvar sahipleri oluşturma sırasında tüm laboratuvar VM'lerine uygulanacak zorunlu yapıtları önceden seçebilir ve laboratuvar kullanıcıları sahip oldukları VM'lere yapıtlar uygulayabilir. Çeşitli olası sorunlar, bileşenlerin yüklenmesini ve bir laboratuvara uygulanmasını engelleyebilir veya laboratuvar VM'sinde doğru şekilde çalışmamasına neden olabilir.
Bir yapıt yanıt vermeyi durduruyor gibi göründüğünde, ilk adım işlemin neden takıldığını belirlemeyi denemektir. Yapıt yüklemesi ilk istek sırasında engellenebilir veya istek yürütme sırasında başarısız olabilir. Yapıt hatalarını Azure portalından veya yapıt hatasının oluştuğu VM'den giderebilirsiniz.
Azure portalında sorun giderme
Bir yapıt laboratuvar VM'nize başarıyla uygulanmıyorsa, Azure portalında VM'nizin durumunu araştırarak işe başlayabilirsiniz. VM'nin durumu hakkında bilgi bulabilir, çalıştığını onaylayabilir ve yapıtların uygulanabildiğini doğrulayabilirsiniz. Laboratuvar VM'sinin Etkinlik günlüğü verileri, yükleme işlemleriyle ilgili girdileri gösterir. Yapıt hataları hakkında bilgi bulmak için girdileri de kontrol edebilirsiniz.
VM durumunu denetleme
Şu adımları tamamlayarak Azure portalında VM durumunu denetleyin:
DevTest Labs laboratuvar VM'sinin Genel Bakış sayfasına gidin ve makine durumunun Çalışıyor olduğunu onaylayın:
Laboratuvar VM'sinin yapıt listesini açmak için Yapıtlar'ı seçin:
Yapıtları uygula seçeneğini işaretleyin ve laboratuvar VM'sinin uygulanan yapıtları kabul etmeye hazır olduğunu onaylayın:
Yapıtları uygula seçeneği soluk görüntülendiğinde, yapıtları laboratuvar VM'sine uygulayamazsınız ve sayfada bir bildirim iletisi görürsünüz:
PowerShell komutu kullanma
Laboratuvar VM'nizin uygulanan eserleri alıp alamayacağını kontrol etmek için Azure PowerShell'i de kullanabilirsiniz.
Aşağıdaki GET komut, True veya False değerine sahip bayrağı döndürür canApplyArtifacts . Komutu çalıştırmak için, $SubscriptionId parametresini abonelik kimliğinizle, $LabName/$VmName parametresini laboratuvar ve VM adınızla, ve $LabRgName parametresini laboratuvar kaynak grubu adınızla değiştirin.
Select-AzSubscription -SubscriptionId $SubscriptionId | Out-Null
$vm = Get-AzResource `
-Name "$LabName/$VmName" `
-ResourceGroupName $LabRgName `
-ResourceType 'microsoft.devtestlab/labs/virtualmachines' `
-ApiVersion '2018-10-15-preview' `
-ODataQuery '$expand=Properties($expand=ComputeVm)'
$vm.Properties.canApplyArtifacts
Başarısız yapıt ayrıntılarını araştırın
Bir yapıt yanıt vermeyi durdurabilir ve sonunda laboratuvar VM'sinin yapıt listesinde Başarısız olarak gösterilebilir.
Bu adımları izleyerek başarısız olmuş nesneleri inceleyin:
Laboratuvar VM'sinin Yapıtlar listesi sayfasına gidin ve Başarısız durumuna sahip yapıtı seçin:
Yapıt ayrıntıları görünümü açılır. Ayrıntılar arasında yapıt hatasıyla ilgili Dağıtım İletisi ve Uzantı İletisi bilgileri yer alır:
Etkinlik günlüklerini inceleme
DevTest Labs, yapıtları yüklemek için Özel Betik Uzantısının (CSE) kullanılmasını isteyen bir Azure Resource Manager (ARM) şablonu oluşturur ve dağıtır. Abonelik ve laboratuvar VM'sini içeren kaynak grubu için Etkinlik günlüklerinde bu düzeyde bir hata görüntülenir.
Note
Etkinlik günlüklerini görüntülediğinizde, hata hata özetlerini görmek için yükleme işlemi girişlerini genişletmeniz gerekebilir.
Aşağıdaki adımları tamamlayarak Etkinlik günlüğü girişlerinde laboratuvar VM'sinde yapıtın yüklenmesi veya uygulanmasıyla ilgili hataları inceleyin:
Laboratuvar VM'sinin Etkinlik günlüğü sayfasına gidin ve Başarısız durumuna sahip yapıtı bulun:
Ayrıntılar bölmesini açmak ve günlük bilgilerini görüntülemek için girdiyi seçin:
Yapıtı doğrudan laboratuvar VM'nize uygulamaya çalışıyorsanız Sanal Makine Uzantısı Oluşturma veya Güncelleştirme yükleme işlemiyle ilgili hata hatalarını arayın.
Vm oluşturuyor ve işlem sırasında yapıtı uyguluyorsanız, Sanal Makine Oluşturma veya Güncelleştirme yükleme işlemi için bildirilen hata hatalarını arayın.
Bölmenin başlığı giriş başlığına karşılık gelir; örneğin, Yapıtları sanal makineye uygula:
Ayrıntılar bölmesinde JSON'ı seçerek JSON yükünün içeriğini gözden geçirin. Hatayı JSON belgesinin sonunda görebilirsiniz:
Artifakt deposunu ve laboratuvar depolama hesabını inceleyin
DevTest Labs bir yapıt uyguladığında, bağlı depolardan yapıt yapılandırmasını ve dosyalarını okur. Bir bileşen laboratuvar VM'nize yüklenemez veya uygulanamazsa, sorun depo erişimiyle ilgili olabilir.
Varsayılan olarak, DevTest Labs' in DevTest Labs genel Artifact deposuna erişimi vardır. Özel yapıtlara erişmek için bir laboratuvarı özel bir depoya da bağlayabilirsiniz. Yapılandırmaya bağlı olarak, laboratuvar VM'lerinin yapıt deposuna doğrudan erişimi olmayabilir. DevTest Labs, yapıtları, laboratuvar ilk kez başlatıldığında oluşturulan bir laboratuvar depolama hesabında önbelleğe alır.
Özel bir yapıt yüklenmede başarısız olursa, özel depo için kişisel erişim belirtecinin (PAT) süresinin dolmadığından emin olun. PAT'nin süresi dolduysa, yapıt listelenmez ve bu depodaki yapıtlara başvuran betikler başarısız olur.
Depolama hesabına erişim engellenmişse şuna benzer bir hata görebilirsiniz:
CSE Error: Failed to download all specified files. Exiting. Exception: Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (403) Forbidden. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.Örneğin, VM'den Azure Depolama hizmetine trafik engellendiğinde bu hatayla karşılaşabilirsiniz. Hata, laboratuvar VM'sinin kaynak grubunun Etkinlik günlüğünde görüntülenir.
Şu adımları tamamlayarak Azure Depolama hesabına yönelik depo bağlantısı sorunlarını belirleyin:
Eklenen ağ güvenlik gruplarını (NSG' ler) denetleyin. Tüm sanal ağlarda NSG'leri otomatik olarak yapılandırmak için bir abonelik ilkesi eklenirse, laboratuvar VM'lerinizi oluşturmak için kullanılan sanal ağı etkileyebilir.
Tüm NSG kurallarını doğrulayın:
NSG kuralının bir VM'ye gelen veya vm'den gelen trafiği engelleyip engellemediğini belirlemek için IP akışı doğrulamasını kullanın.
Gelen bir İzin Ver NSG kuralının mevcut olduğundan emin olmak için etkin güvenlik grubu kurallarını gözden geçirin. Daha fazla bilgi için bkz . VM trafik akışı sorunlarını gidermek için etkili güvenlik kuralları kullanma.
Laboratuvarınız için varsayılan depolama hesabını denetleyin.
Varsayılan depolama hesabı, laboratuvar oluşturma sırasında oluşturulan ilk depolama hesabıdır. Ad genellikle "a" harfiyle başlar ve çok basamaklı bir sayı ile biter:
a<labname>#.DevTest Labs laboratuvarının Genel Bakış sayfasına gidin ve Kaynak görselleştiricisi'ni seçin.
Diyagramda, tanımlanan adlandırma kuralına uygun bir ada sahip olan Depolama hesabını bulun
a<labname>#.Fare işaretçinizi Depolama hesabı kaynağının üzerinde bekletin, açılır menüyü görmek için işaretçiyi i simgesine getirin ve görünüm'ü seçin:
Depolama hesabına Genel Bakış sayfasında, soldaki menüden Güvenlik + ağ bölümünü genişletin ve ardından Ağ'ı seçin:
Güvenlik duvarları ve sanal ağlar sekmesinde Genel ağ erişimi seçeneğinin yapılandırmasını denetleyin:
Seçili sanal ağlardan ve IP adreslerinden etkinleştirildi seçiliyse, izin verilen IP adresleri listesinde laboratuvar VM'leri oluşturmak için kullanılabilecek laboratuvarın sanal ağlarının gösterildiğini onaylayın:
Aksi takdirde Tüm ağlardan etkinleştirildi seçeneğinin belirlendiğini onaylayın:
Ayrıntılı sorun giderme için bkz . Azure Depolama güvenlik duvarlarını ve sanal ağları yapılandırma.
Laboratuvar makinesinde sorun giderme
Yapıtın başarısız olduğu laboratuvar VM'sine bağlanabilir ve sorunu araştırabilirsiniz.
CSE günlük dosyasını inceleme
Şu adımları tamamlayarak bir Windows VM için CSE günlük dosyasını görüntüleyin:
Çalışan DevTest Labs laboratuvar VM'nize bağlanın.
Dosya Gezgini'nde C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Status\ adresine gidin. Örnek <: >.
Hatayı görüntülemek için 1.status gibi bir STATUS dosyasını açın ve inceleyin.
Linux VM'sinde günlük dosyalarını bulma yönergeleri için bkz. Linux sanal makineleriyle Azure CSE sürüm 2'yi kullanma.
Azure Sanal Makine Aracısı'nı denetleme
Laboratuvar VM'niz için Azure Sanal Makine Aracısı'nın (VM Aracısı) yüklü ve hazır olduğundan emin olun.
Laboratuvar VM'niz ilk kez başlatıldığında veya CSE, yapıtları uygulama isteğini karşılamak için ilk yüklendiğinde, laboratuvar VM'sinin VM Aracısı'nı yükseltmesi gerekebilir veya VM Aracısı'nın başlatılmasını beklemesi gerekebilir. VM Aracısı, başlatılması uzun süren hizmetlere bağımlı olabilir.
Şu adımları tamamlayarak VM Aracısı'nın yapıtın yanıt vermeyi durdurmasına neden olup olmadığını belirleyin:
Çalışan DevTest Labs laboratuvar VM'nize bağlanın.
Dosya Gezgini'nde laboratuvar VM'nizin günlük dosyalarını içeren klasöre gidin( örneğin, C:\WindowsAzure\logs).
WaAppAgent.log dosyasını açın.
Günlük dosyasında VM Aracısı'nın başlatılması, başlatma işleminin tamamlanması ve ilk sinyalin gönderilmesini gösteren girdileri arayın. Yapıt sorunuyla karşılaştığınız zamanındaki zaman damgaları için kayıtları tarayın. Aşağıdaki kod parçacığı günlük dosyasından bazı örnek girdileri gösterir:
[00000006] [11/14/2019 05:52:13.44] [INFO] WindowsAzureGuestAgent starting. Version 2.7.41491.949 ... [00000006] [11/14/2019 05:52:31.77] [WARN] Waiting for OOBE to Complete ... ... [00000006] [11/14/2019 06:02:30.43] [WARN] Waiting for OOBE to Complete ... [00000006] [11/14/2019 06:02:33.43] [INFO] StateExecutor initialization completed. [00000020] [11/14/2019 06:02:33.43] [HEART] WindowsAzureGuestAgent Heartbeat.Bu örnekte VM Aracısı'nın başlatılması 10 dakika 20 saniye sürdü. OOBE (ilk çalıştırma deneyimi) hizmetinin başlatılması uzun sürdüğü için gecikme oluştu. VM Aracısı'nın uzun başlangıç süresi yapıtın yanıt vermemeye başlamasına neden oldu.
Azure uzantıları hakkında genel bilgi için bkz . Azure sanal makine uzantıları ve özellikleri. Diğer sorun giderme fikirleri için bkz . Azure Sanal Makine Aracısı'ne genel bakış.
Betik sorunlarını araştırın
Yapıt yüklemesinin başarısız olmasının bir diğer nedeni de yapıt yükleme betiğinin yazılma biçimidir.
Olası betik sorunlarına bazı örnekler aşağıda verilmiştir:
Betik zorunlu parametrelere sahiptir, ancak betik yürütme sırasında beklenen bir değer geçirilmiyor. Kullanıcının beklenen bir parametreyi boş bırakmasına izin verilirse ve artifactfile.json tanım dosyasında varsayılan değer belirtilmezse bu senaryo oluşabilir. Sonuç olarak, betik kullanıcı girişi beklediğinden yanıt vermeyi durdurur. Betik parametre değerleri gerektirdiğinde, varsayılanları tanımlamak ve kullanıcının bir değer girmesini istemek iyi bir uygulamadır.
Komut dosyası yürütülürken kullanıcı eylemi gerektirir. Bu senaryo, kullanıcının işlem gerçekleştirmesini beklerken betik yürütmede uzun bir gecikme olduğunda gerçekleşebilir. Kullanıcı müdahalesi gerektirmeden sessiz çalışabilen betikler yazmak iyi bir uygulamadır.
Şu adımları tamamlayarak betiğin yapıtın yanıt vermeyi durdurmasına neden olup olmadığını belirleyin:
Çalışan DevTest Labs laboratuvar VM'nize bağlanın.
Dosya Gezgini'ni açın.
VM'niz için yapıt yükleme betiğini içeren İndir klasörüne gidin; örneğin, C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Downloads\. Örnek <: >.
Sonraki adımlar için bu klasördeki betikle çalışabilir veya betiği VM'nizdeki bir çalışma klasörüne kopyalayabilirsiniz.
VM'nizde yönetim ayrıcalıklarına sahip bir Komut İstemi penceresi açın.
Komut İstemi penceresinde yapıt yükleme betiğini çalıştırın.
Betik istemlerini izleyin ve gerekli parametre değerlerini girin. Kullanıcı girişi olmamasının veya gecikmeli kullanıcı eyleminin soruna neden olup olmadığını araştırmak için belirli davranışı yeniden oluşturmayı deneyin.
Senaryonun beklenmedik veya sorunlu bir davranış sergileyip sergilemediğini belirleyin.
Gerektiğinde laboratuvar VM'nizdeki betiği düzeltin ve sorunların çözüldüğünü onaylamak için betiği yeniden çalıştırın.
Yapıt yapısını denetleme
Özel yapıtın uygun yapıya sahip olması gerekir. Yapıt yükleme betiğindeki özelleştirilmiş yapıtların doğru yapıyı uyguladığından emin olun. Aşağıdaki kaynaklar bu denetimi tamamlamanıza yardımcı olacak bilgiler sağlar:
- Bir yapıtı doğru şekilde oluşturma hakkında bilgi için bkz . Özel yapıtlar oluşturma.
- Düzgün yapıya sahip bir yapıt örneği için Test parametresi türleri yapıtına bakınız.
- Yapıt betiklerini yazma ve düzeltme hakkında daha fazla bilgi için bkz. Yapıt yazma.
Betik güncellemesi talep et
DevTest Labs genel deposunda barındırılan yapıtlar için önerilen betik düzeltmelerini gönderebilirsiniz. Ayrıntılar için BENİOKU belgesindeki Katkılar bölümüne bakın.
Get support
Daha fazla yardıma ihtiyacınız varsa aşağıdaki destek kanallarından birini deneyin:
Azure DevTest Labs hakkında bilgi için Microsoft Topluluğu kaynaklarında arama yapın ve Stack Overflow'daki gönderileri görüntüleyin.
Müşteri deneyimini geliştirmeye yönelik resmi Microsoft Azure hesabı @AzureSupport ile bağlantı kurun. Azure Desteği, Azure topluluğunun yanıtlara, desteğe ve uzmanlara bağlanmasını sağlar.