Azure Otomasyonu Durum Yapılandırması sorunlarını giderme
Bu makalede, Azure Otomasyonu Durum Yapılandırması'nda yapılandırmaları derlerken veya dağıtırken ortaya çıkan sorunları giderme ve çözme hakkında bilgi sağlanır. Durum Yapılandırması özelliği hakkında genel bilgi için bkz. Azure Otomasyonu Durum Yapılandırmasına genel bakış.
Sorunu tanılama
Yapılandırma için bir derleme veya dağıtım hatası aldığınızda, sorunu tanılamanıza yardımcı olacak birkaç adım aşağıda verilmiştır.
1. Yapılandırmanızın yerel makinede başarıyla derlendiğinden emin olun
Azure Otomasyonu Durum Yapılandırması, PowerShell İstenen Durum Yapılandırması (DSC) üzerine kurulmuştur. DSC dili ve söz dizimi belgelerini PowerShell DSC Belgeleri'nde bulabilirsiniz.
Yerel makinenizde bir DSC yapılandırması derleyerek aşağıdakiler gibi yaygın hataları keşfedebilir ve çözebilirsiniz:
- Eksik modüller.
- Söz dizimi hataları.
- Mantıksal hatalar.
2. Düğümünüzde DSC günlüklerini görüntüleme
Yapılandırmanız başarıyla derlendiyse ancak düğüme uygulandığında başarısız olursa, DSC günlüklerinde ayrıntılı bilgileri bulabilirsiniz. Bu günlüklerin nerede bulunacağı hakkında bilgi için bkz . DSC Olay Günlükleri nerededir?
xDscDiagnostics modülü, DSC günlüklerindeki ayrıntılı bilgileri ayrıştırmanıza yardımcı olabilir. Desteğe başvurursanız, sorununuzu tanılamak için bu günlüklere ihtiyaç duyarlar.
Modülü yerel makinenize yüklemek xDscDiagnostics
için Kararlı sürümü yükleme modülünün yönergelerini izleyebilirsiniz.
Modülü Azure makinenize yüklemek xDscDiagnostics
için Invoke-AzVMRunCommand komutunu kullanın. Komutunu Çalıştır ile Windows VM'nizde PowerShell betiklerini çalıştırma bölümünde yer alan adımları izleyerek Azure portalında Çalıştır komut seçeneğini de kullanabilirsiniz.
xDscDiagnostics kullanma hakkında bilgi için bkz. DSC günlüklerini analiz etmek için xDscDiagnostics kullanma. Ayrıca bkz. xDscDiagnostics Cmdlet'leri.
3. Düğümlerin ve Otomasyon çalışma alanının gerekli modüllere sahip olduğundan emin olun
DSC, düğümde yüklü modüllere bağlıdır. Azure Otomasyonu Durum Yapılandırması'nı kullandığınızda Modülleri İçeri Aktar'daki adımları izleyerek gerekli modülleri Otomasyon hesabınıza aktarın. Yapılandırmalar, modüllerin belirli sürümlerine de bağımlı olabilir. Daha fazla bilgi için bkz . Modül sorunlarını giderme.
Senaryo: Özel karakterler içeren bir yapılandırma portaldan silinemez
Sorun
Portaldan bir DSC yapılandırmasını silmeye çalıştığınızda aşağıdaki hatayı görürsünüz:
An error occurred while deleting the DSC configuration '<name>'. Error-details: The argument configurationName with the value <name> is not valid. Valid configuration names can contain only letters, numbers, and underscores. The name must start with a letter. The length of the name must be between 1 and 64 characters.
Neden
Bu hata, çözülmesi planlanan geçici bir sorundur.
Çözünürlük
Yapılandırmayı silmek için Remove-AzAutomationDscConfiguration cmdlet'ini kullanın.
Senaryo: DSC Aracısı kaydedilemedi
Sorun
Set-DscLocalConfigurationManager veya başka bir DSC cmdlet'i olduğunda şu hatayı alırsınız:
Registration of the Dsc Agent with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000 failed. The
underlying error is: Failed to register Dsc Agent with AgentId 00000000-0000-0000-0000-000000000000 with the server htt
ps://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000/Nodes(AgentId='00000000-0000-0000-0000-000000000000'). .
+ CategoryInfo : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimException
+ FullyQualifiedErrorId : RegisterDscAgentCommandFailed,Microsoft.PowerShell.DesiredStateConfiguration.Commands.Re
gisterDscAgentCommand
+ PSComputerName : <computerName>
Neden
Bu hata normalde bir güvenlik duvarından, makinenin bir ara sunucunun arkasında olmasından veya diğer ağ hatalarının neden olur.
Çözünürlük
Makinenizin DSC için uygun uç noktalara erişimi olduğunu doğrulayın ve yeniden deneyin. Gereken bağlantı noktalarının ve adreslerin listesi için bkz . Ağ planlaması.
Senaryo: Durum raporları Yetkisiz yanıt kodunu döndürür
Sorun
Azure Otomasyonu Durum Yapılandırması ile bir düğüm kaydettiğinizde aşağıdaki hata iletilerinden birini alırsınız:
The attempt to send status report to the server https://{your Automation account URL}/accounts/xxxxxxxxxxxxxxxxxxxxxx/Nodes(AgentId='xxxxxxxxxxxxxxxxxxxxxxxxx')/SendReport returned unexpected response code Unauthorized.
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC / Registration of the Dsc Agent with the server failed.
Neden
Olası nedenler şunlardır:
Hatalı veya süresi dolmuş bir sertifika. Bkz. Düğümü yeniden kaydetme.
*.azure-automation.net erişimine izin vermeyen bir ara sunucu yapılandırması. Daha fazla bilgi için bkz . Özel ağların yapılandırması.
Azure Otomasyonu yerel kimlik doğrulamayı devre dışı bırakdığınızda. Bkz. Yerel kimlik doğrulamayı devre dışı bırakma. Bunu düzeltmek için bkz . Yerel kimlik doğrulamasını yeniden etkinleştirme.
İstemci bilgisayar süresi, gerçek saatten çok dakika yanlıştır. (Zaman kullanımını denetlemek için: w32tm /stripchart /computer:time.windows.com /samples:6).
Çözünürlük
Başarısız olan DSC düğümünü yeniden kaydetmek için aşağıdaki adımları kullanın.
1. Adım: Düğümün kaydını kaldırma
- Azure portalında Ev>Otomasyonu Hesapları> (Otomasyon hesabınız) Durum yapılandırması (DSC) >bölümüne gidin.
- Düğümler'i seçin ve sorun yaşayan düğümü seçin.
- Düğümün kaydını kaldırmak için Kaydı Sil'i seçin.
2. Adım: DSC uzantısını düğümden kaldırma
- Azure portalında Giriş>Sanal Makinesi> (başarısız düğüm) >Uzantıları'na gidin.
- PowerShell DSC uzantısı olan Microsoft.Powershell.DSC'yi seçin.
- Uzantıyı kaldırmak için Kaldır'ı seçin.
3. Adım: Düğümden tüm hatalı veya süresi dolmuş sertifikaları kaldırma
Yükseltilmiş bir PowerShell isteminden başarısız olan düğümde şu komutları çalıştırın:
$certs = @()
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC"}
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC-OaaS Client Authentication"}
$certs += dir cert:\localmachine\CA | ?{$_.subject -like "CN=AzureDSCExtension*"}
"";"== DSC Certificates found: " + $certs.Count
$certs | FL ThumbPrint,FriendlyName,Subject
If (($certs.Count) -gt 0)
{
ForEach ($Cert in $certs)
{
RD -LiteralPath ($Cert.Pspath)
}
}
4. Adım: Başarısız düğümü yeniden kaydetme
- Azure portalında Ev>Otomasyonu Hesapları> (Otomasyon hesabınız) Durum yapılandırması (DSC) >bölümüne gidin.
- Düğümler'i seçin.
- Ekle'yi seçin.
- Başarısız olan düğümü seçin.
- Bağlan'ı seçin ve istediğiniz seçenekleri belirleyin.
Senaryo: Düğüm "Bulunamadı" hatasıyla başarısız durumda
Sorun
DüğümDe Başarısız durumu olan bir rapor var ve şu hatayı içeriyor:
The attempt to get the action from server https://<url>//accounts/<account-id>/Nodes(AgentId=<agent-id>)/GetDscAction failed because a valid configuration <guid> cannot be found.
Neden
Bu hata genellikle düğüm ABC gibi bir düğüm yapılandırması (MOF dosyası) adı yerine ABC gibi bir yapılandırma adına atandığında oluşur. WebServer.
Çözünürlük
Düğümü yapılandırma adıyla değil düğüm yapılandırma adıyla atadığınızdan emin olun.
Azure portalını veya PowerShell cmdlet'ini kullanarak düğüm yapılandırmasını bir düğüme atayabilirsiniz.
- Azure portalında Ev>Otomasyonu Hesapları> (Otomasyon hesabınız) Durum yapılandırması (DSC) >bölümüne gidin. Ardından bir düğüm seçin ve Düğüm yapılandırması ata'yı seçin.
- Set-AzAutomationDscNode cmdlet'ini kullanın.
Senaryo: Bir yapılandırma derlendiğinde düğüm yapılandırması (MOF dosyaları) üretilmemiş
Sorun
DSC derleme işiniz şu hatayla askıya alınıyor:
Compilation completed successfully, but no node configuration **.mof** files were generated.
Neden
DSC yapılandırmasında anahtar sözcüğü izleyen Node
ifade olarak değerlendirildiğinde $null
hiçbir düğüm yapılandırması üretilmemiştir.
Çözünürlük
Sorunu çözmek için aşağıdaki çözümlerden birini kullanın:
- Yapılandırma tanımında anahtar sözcüğün yanındaki ifadenin
Node
Null olarak değerlendirilmediğinden emin olun. - Yapılandırmayı derlerken ConfigurationData geçiriyorsanız yapılandırmanın yapılandırma verilerinden beklediği değerleri geçtiğinizden emin olun.
Senaryo: DSC düğüm raporu Devam Ediyor durumunda takılıyor
Sorun
DSC aracısının çıkışları:
No instance found with given property values
Neden
Windows Management Framework (WMF) sürümünüzü yükselttiniz ve Windows Yönetim Araçları'nın (WMI) bozulmasına neden oldunuz.
Çözünürlük
DSC ile ilgili bilinen sorunlar ve sınırlamalar başlığındaki yönergeleri izleyin.
Senaryo: DSC yapılandırmasında kimlik bilgisi kullanılamıyor
Sorun
DSC derleme işiniz şu hatayla askıya alındı:
System.InvalidOperationException error processing property 'Credential' of type <some resource name>: Converting and storing an encrypted password as plaintext is allowed only if PSDscAllowPlainTextPassword is set to true.
Neden
Yapılandırmada bir kimlik bilgisi kullandınız ancak her düğüm yapılandırması için true olarak ayarlanmasını PSDscAllowPlainTextPassword
sağlamadınızConfigurationData
.
Çözünürlük
Yapılandırmada bahsedilen her düğüm yapılandırması için true olarak ayarlamak PSDscAllowPlainTextPassword
üzere doğru ConfigurationData
değerini geçirmeyi unutmayın. Bkz. Azure Otomasyonu Durum Yapılandırmasında DSC yapılandırmalarını derleme.
Senaryo: Bir makineyi DSC uzantısından etkinleştirirken "Uzantı işlenirken hata oluştu" hatası
Sorun
Bir makineyi DSC uzantısını kullanarak etkinleştirdiğinizde, şu hatayı içeren bir hata oluşur:
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC'. Error message: \"DSC COnfiguration 'RegistrationMetaConfigV2' completed with error(s). Following are the first few: Registration of the Dsc Agent with the server <url> failed. The underlying error is: The attempt to register Dsc Agent with Agent Id <ID> with the server <url> return unexpected response code BadRequest. .\".
Neden
Bu hata genellikle düğüme hizmette mevcut olmayan bir düğüm yapılandırma adı atandığında oluşur.
Çözünürlük
- Düğüme hizmetteki adla tam olarak eşleşen bir ad atadığınızdan emin olun.
- Düğüm yapılandırma adını eklememeyi seçebilirsiniz; bu da düğümün etkinleştirilmesine neden olur ancak düğüm yapılandırması atamaz.
Senaryo: PowerShell kullanarak bir düğümü kaydederken "Bir veya daha fazla hata oluştu" hatası
Sorun
Register-AzAutomationDSCNode veya Register-AzureRMAutomationDSCNode kullanarak bir düğümü kaydettiğinizde, aşağıdaki hatayı alırsınız:
One or more errors occurred.
Neden
Bu hata, Bir düğümü Otomasyon hesabı tarafından kullanılandan ayrı bir aboneliğe kaydetmeye çalıştığınızda oluşur.
Çözünürlük
Abonelikler arası düğüme ayrı bir bulut veya şirket içi için tanımlanmış gibi davranın. Makineleri etkinleştirmek için şu seçeneklerden birini kullanarak düğümü kaydedin:
- Windows: Şirket içinde veya Azure/AWS dışında bir bulutta fiziksel/sanal Windows makineleri.
- Linux: Şirket içi veya Azure dışındaki bir bulutta fiziksel/sanal Linux makineleri.
Senaryo: "Sağlama başarısız oldu" hata iletisi
Sorun
Bir düğümü kaydettiğinizde şu hatayı görürsünüz:
Provisioning has failed
Neden
Bu ileti, düğüm ile Azure arasında bağlantıyla ilgili bir sorun olduğunda oluşur.
Çözünürlük
Düğümünüzün bir sanal özel ağda mı (VPN) yoksa Azure'a bağlanırken başka sorunlarla mı karşılaştığını belirleyin. Bkz . Özellik dağıtım sorunlarını giderme.
Senaryo: Linux'ta yapılandırma uygulanırken genel bir hatayla hata oluştu
Sorun
Linux'ta bir yapılandırma uyguladığınızda, şu hatayı içeren bir hata oluşur:
This event indicates that failure happens when LCM is processing the configuration. ErrorId is 1. ErrorDetail is The SendConfigurationApply function did not succeed.. ResourceId is [resource]name and SourceInfo is ::nnn::n::resource. ErrorMessage is A general error occurred, not covered by a more specific error code..
Neden
/tmp konumu olarak noexec
ayarlanırsa, DSC'nin geçerli sürümü yapılandırmaları uygulayamaz.
Çözünürlük
noexec
/tmp konumundan seçeneğini kaldırın.
Senaryo: Örtüşen düğüm yapılandırma adları hatalı sürüme neden olabilir
Sorun
Birden çok düğüm yapılandırması oluşturmak için tek bir yapılandırma betiği kullandığınızda ve bazı düğüm yapılandırma adları diğer adların alt kümeleri olduğunda, derleme hizmeti yanlış yapılandırmayı atayabilir. Bu sorun yalnızca düğüm başına yapılandırma verilerine sahip yapılandırmalar oluşturmak için tek bir betik kullandığınızda ve yalnızca dizenin başında ad çakışması oluştuğunda oluşur. Örnek olarak, cmdlet'ler kullanılarak karma tablo olarak geçirilen düğüm verilerini temel alan yapılandırmalar oluşturmak için kullanılan tek bir yapılandırma betiği ve düğüm verileri sunucu ve 1server adlı sunucuları içerir.
Neden
Bu, derleme hizmetiyle ilgili bilinen bir sorundur.
Çözünürlük
En iyi geçici çözüm yerel olarak veya CI/CD işlem hattında derlemek ve düğüm yapılandırması MOF dosyalarını doğrudan hizmete yüklemektir. Hizmetteki derleme bir gereksinimse, bir sonraki en iyi geçici çözüm, adlarda çakışma olmayacak şekilde derleme işlerini bölmektir.
Senaryo: DSC yapılandırması karşıya yüklemesinde ağ geçidi zaman aşımı hatası
Sorun
DSC yapılandırmasını karşıya yüklediğinizde bir GatewayTimeout
hata alırsınız.
Neden
Derlemesi uzun süren DSC yapılandırmaları bu hataya neden olabilir.
Çözünürlük
Herhangi bir Import-DSCResource çağrısı için parametresini ModuleName
açıkça ekleyerek DSC yapılandırmalarınızın daha hızlı ayrıştırmasını sağlayabilirsiniz.
Senaryo: Makine ekleme sırasında hata oluştu
Sorun
Bir makine eklerken bir agent has a problem
hata alırsınız.
Neden
Bu bilinen bir sorundur. Düğüm bekleme durumunda kaldığı için aynı yapılandırmayı yeniden atayamazsınız.
Çözünürlük
Geçici çözüm, farklı test yapılandırması uygulamak ve özgün yapılandırmayı yeniden uygulamaktır.
Sonraki adımlar
Sorununuzu burada görmüyorsanız veya sorununuzu çözemiyorsanız ek destek için aşağıdaki kanallardan birini deneyin:
- Azure Forumları aracılığıyla Azure uzmanlarından yanıt alın.
- müşteri deneyimini geliştirmek için resmi Microsoft Azure hesabı olan @AzureSupport ile Bağlan. Azure Desteği, Azure topluluğunun yanıtlara, desteğe ve uzmanlara bağlanmasını sağlar.
- bir Azure desteği olayı dosyala. Azure desteği sitesine gidin ve Destek Al'ı seçin.