Memecahkan masalah Konfigurasi Status Azure Automation
Artikel ini menyediakan informasi tentang memecahkan masalah dan mengatasi masalah yang muncul saat Anda mengompilasi atau menyebarkan konfigurasi di Konfigurasi Status Azure Automation. Untuk informasi umum tentang fitur Konfigurasi Status, lihat Gambaran umum Konfigurasi Status Azure Automation.
Mendiagnosis masalah
Saat Anda menerima kesalahan kompilasi atau penyebaran untuk konfigurasi, berikut adalah beberapa langkah untuk membantu Anda mendiagnosis masalah tersebut.
1. Pastikan konfigurasi Anda berhasil dikompilasi pada komputer lokal
Konfigurasi Status Azure Automation dibuat di Konfigurasi Status yang Diinginkan (DSC) PowerShell. Anda dapat menemukan dokumentasi untuk bahasa dan sintaks DSC di PowerShell DSC Docs.
Dengan mengompilasi konfigurasi DSC pada komputer lokal, Anda dapat menemukan dan mengatasi kesalahan umum, seperti:
- Modul yang hilang.
- Kesalahan sintaks.
- Kesalahan logika.
2. Lihat log DSC pada node Anda
Jika konfigurasi Anda berhasil dikompilasi, tetapi gagal saat diterapkan ke node, Anda dapat menemukan informasi terperinci dalam log DSC. Untuk informasi tentang tempat menemukan log ini, lihat Di mana Log Kejadian DSC.
Modul xDscDiagnostics dapat membantu Anda dalam mengurai informasi terperinci dari log DSC. Jika Anda menghubungi dukungan, mereka memerlukan log ini untuk mendiagnosis masalah Anda.
Anda dapat menginstal modul xDscDiagnostics
pada komputer lokal Anda dengan mengikuti instruksi di Menginstal modul versi stabil.
Untuk menginstal modul xDscDiagnostics
di mesin Azure Anda, gunakan Invoke-AzVMRunCommand. Anda juga bisa menggunakan opsi Jalankan perintah di portal Azure dengan mengikuti langkah-langkah dalam Menjalankan skrip PowerShell di Windows VM Anda dengan Jalankan Perintah.
Untuk informasi tentang menggunakan xDscDiagnostics, lihat Menggunakan xDscDiagnostics untuk menganalisis log DSC. Lihat juga xDscDiagnostics Cmdlets.
3. Pastikan bahwa node dan ruang kerja Otomatisasi telah memerlukan modul
DSC bergantung pada modul yang diinstal pada node. Saat Anda menggunakan Konfigurasi Status Azure Automation, impor modul yang diperlukan ke akun Otomatisasi Anda dengan mengikuti langkah-langkah dalam Mengimpor Modul. Konfigurasi juga dapat memiliki dependensi pada versi modul tertentu. Untuk informasi selengkapnya, lihat Memecahkan masalah modul.
Skenario: Konfigurasi dengan karakter khusus tidak dapat dihapus dari portal
Masalah
Saat Anda mencoba menghapus konfigurasi DSC dari portal, Anda akan melihat kesalahan berikut:
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.
Penyebab
Kesalahan ini adalah masalah sementara yang rencananya akan diselesaikan.
Resolusi
Gunakan cmdlet Remove-AzAutomationDscConfiguration untuk menghapus konfigurasi.
Skenario: Gagal mendaftarkan Agen DSC
Masalah
Saat Set-DscLocalConfigurationManager atau cmdlet DSC lainnya, Anda akan menerima kesalahan:
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>
Penyebab
Kesalahan ini biasanya disebabkan oleh firewall, mesin berada di belakang server proksi, atau kesalahan jaringan lainnya.
Resolusi
Pastikan mesin Anda memiliki akses ke titik akhir yang tepat untuk DSC, lalu coba lagi. Untuk daftar port dan alamat yang diperlukan, lihat Perencanaan jaringan.
Skenario: Laporan status mengembalikan kode respons Tidak Sah
Masalah
Saat Anda mendaftarkan node dengan Konfigurasi Status Azure Automation, Anda menerima salah satu pesan kesalahan berikut:
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.
Penyebab
Berikut ini adalah kemungkinan penyebabnya:
Sertifikat yang buruk atau kedaluwarsa. Lihat Mendaftarkan ulang node.
Konfigurasi proksi yang tidak mengizinkan akses ke *.azure-automation.net. Untuk informasi selengkapnya, lihat Konfigurasi jaringan privat.
Saat Anda menonaktifkan autentikasi lokal di Azure Automation. Lihat Menonaktifkan autentikasi lokal. Untuk memperbaikinya, lihat mengaktifkan kembali autentikasi lokal.
Waktu komputer klien berkisar menit tidak akurat dari waktu aktual. (Untuk memeriksa penggunaan waktu: w32tm /stripchart /computer:time.windows.com /samples:6).
Resolusi
Gunakan langkah-langkah berikut untuk mendaftarkan kembali node DSC yang gagal.
Langkah 1: Batalkan pendaftaran node
- Di portal Azure, buka >Home Automation Accounts> (akun Automation Anda) >Konfigurasi status (DSC).
- Pilih Node, dan pilih node yang mengalami masalah.
- Pilih Batalkan pendaftaran untuk membatalkan pendaftaran node.
Langkah 2: Hapus instalasi ekstensi DSC dari node
- Di portal Azure, buka Ekstensi Home>Virtual Machine> (node gagal). >
- Pilih Microsoft.Powershell.DSC, ekstensi DSC PowerShell.
- Pilih Hapus instalasi untuk menghapus instalasi ekstensi.
Langkah 3: Hapus semua sertifikat yang buruk atau kedaluwarsa dari node
Pada node yang gagal dari prompt PowerShell yang ditinggikan, jalankan perintah ini:
$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)
}
}
Langkah 4: Daftarkan ulang node yang gagal
- Di portal Azure, buka >Home Automation Accounts> (akun Automation Anda) >Konfigurasi status (DSC).
- Pilih Node.
- Pilih Tambahkan.
- Pilih node yang gagal.
- Pilih Sambungkan, dan pilih opsi yang Anda inginkan.
Skenario: Node dalam status gagal dengan kesalahan "Tidak ditemukan"
Masalah
Node memiliki laporan dengan status Gagal dan berisi kesalahan:
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.
Penyebab
Kesalahan ini biasanya terjadi ketika node ditetapkan ke nama konfigurasi, misalnya, ABC, bukan nama konfigurasi node (file MOF), misalnya, ABC.WebServer.
Resolusi
Pastikan Anda menetapkan node dengan nama konfigurasi node dan bukan nama konfigurasi.
Anda dapat menetapkan konfigurasi node ke node dengan menggunakan portal Azure atau dengan cmdlet PowerShell.
- Di portal Azure, buka >Home Automation Accounts> (akun Automation Anda) >Konfigurasi status (DSC). Kemudian pilih node dan pilih Tetapkan konfigurasi node.
- Gunakan cmdlet Set-AzAutomationDscNode.
Skenario: Tidak ada konfigurasi node (file MOF) yang dibuat saat konfigurasi dikompilasi
Masalah
Pekerjaan kompilasi DSC Anda menangguhkan kesalahan:
Compilation completed successfully, but no node configuration **.mof** files were generated.
Penyebab
Ketika ekspresi yang mengikuti kata kunci Node
dalam konfigurasi DSC mengevaluasi ke $null
, tidak ada konfigurasi node yang dihasilkan.
Resolusi
Gunakan salah satu solusi berikut untuk memperbaiki masalah:
- Pastikan bahwa ekspresi di samping kata kunci
Node
dalam definisi konfigurasi tidak mengevaluasi ke Null. - Jika Anda melewati ConfigurationData saat mengompilasi konfigurasi, pastikan Anda meneruskan nilai yang diharapkan konfigurasi dari data konfigurasi.
Skenario: Laporan node DSC menjadi terjebak dalam status Sedang Berlangsung
Masalah
Output agen DSC:
No instance found with given property values
Penyebab
Anda telah meningkatkan versi Windows Management Framework (WMF) dan telah merusak Windows Management Instrumentation (WMI).
Resolusi
Ikuti instruksi dalam Masalah umum dan batasan DSC.
Skenario: Tidak dapat menggunakan kredensial dalam konfigurasi DSC
Masalah
Pekerjaan kompilasi DSC Anda ditangguhkan dengan kesalahan:
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.
Penyebab
Anda telah menggunakan kredensial dalam konfigurasi tetapi tidak menyediakan ConfigurationData
yang tepat untuk mengatur PSDscAllowPlainTextPassword
ke true untuk setiap konfigurasi node.
Resolusi
Pastikan untuk meneruskan ConfigurationData
yang tepat untuk mengatur PSDscAllowPlainTextPassword
ke true untuk setiap konfigurasi node yang disebutkan dalam konfigurasi. Lihat Mengompilasi konfigurasi DSC di Konfigurasi Status Azure Automation.
Skenario: Kesalahan "Ekstensi pemrosesan kegagalan" saat mengaktifkan mesin dari ekstensi DSC
Masalah
Saat Anda mengaktifkan mesin dengan menggunakan ekstensi DSC, terjadi kegagalan yang berisi kesalahan:
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. .\".
Penyebab
Kesalahan ini biasanya terjadi bila node diberi nama konfigurasi node yang tidak ada di layanan.
Resolusi
- Pastikan Anda menetapkan node dengan nama yang sama persis dengan nama dalam layanan.
- Anda dapat memilih untuk tidak menyertakan nama konfigurasi node, yang mengakibatkan pengaktifan node tetapi tidak menetapkan konfigurasi node.
Skenario: Kesalahan "Satu atau beberapa kesalahan terjadi" saat mendaftarkan node dengan menggunakan PowerShell
Masalah
Saat Anda mendaftarkan node dengan menggunakan Register-AzAutomationDSCNode atau Register-AzureRMAutomationDSCNode, Anda menerima kesalahan berikut:
One or more errors occurred.
Penyebab
Kesalahan ini terjadi saat Anda mencoba untuk mendaftarkan node dalam langganan terpisah dari yang digunakan oleh akun Otomatisasi.
Resolusi
Perlakukan node langganan silang seolah-olah ditentukan untuk cloud terpisah, atau lokal. Daftarkan node dengan menggunakan salah satu opsi ini untuk mengaktifkan mesin:
- Windows: Mesin Windows fisik/virtual lokal, atau di cloud selain Azure/AWS.
- Linux: Mesin Linux fisik/virtual lokal, atau di cloud selain Azure.
Skenario: Pesan kesalahan "Penyediaan telah gagal"
Masalah
Saat Anda mendaftarkan node, Anda akan melihat kesalahan:
Provisioning has failed
Penyebab
Pesan ini terjadi saat ada masalah dengan konektivitas antara node dan Azure.
Resolusi
Tentukan apakah node Anda berada dalam jaringan privat virtual (VPN) atau memiliki masalah lain saat terhubung dengan Azure. Lihat Memecahkan masalah penyebaran fitur.
Skenario: Kegagalan dengan kesalahan umum saat menerapkan konfigurasi di Linux
Masalah
Saat Anda menerapkan konfigurasi di Linux, terjadi kegagalan yang berisi kesalahan:
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..
Penyebab
Jika lokasi /tmp diatur ke noexec
, versi DSC saat ini gagal menerapkan konfigurasi.
Resolusi
Hapus opsi noexec
dari lokasi /tmp.
Skenario: Nama konfigurasi node yang tumpang tindih dapat mengakibatkan rilis yang buruk
Masalah
Saat Anda menggunakan skrip konfigurasi tunggal untuk menghasilkan beberapa konfigurasi node dan beberapa nama konfigurasi node adalah subset dari nama lain, layanan kompilasi akhirnya akan menetapkan konfigurasi yang salah. Masalah ini hanya terjadi bila Anda menggunakan satu skrip untuk menghasilkan konfigurasi dengan data konfigurasi per node, dan hanya ketika terjadi tumpang tindih nama di awal string. Contohnya adalah skrip konfigurasi tunggal yang digunakan untuk menghasilkan konfigurasi berdasarkan data node yang diteruskan sebagai hashtable menggunakan cmdlet, dan data node menyertakan server bernama server dan 1server.
Penyebab
Ini adalah masalah yang diketahui dengan layanan kompilasi.
Resolusi
Solusi terbaik adalah mengompilasi secara lokal atau dalam pipeline CI/CD dan mengunggah file MOF konfigurasi node langsung ke layanan. Jika kompilasi dalam layanan adalah sebuah persyaratan, solusi terbaik berikutnya adalah membagi pekerjaan kompilasi sehingga tidak ada tumpang tindih nama.
Skenario: Kesalahan batas waktu gateway pada unggahan konfigurasi DSC
Masalah
Anda menerima kesalahan GatewayTimeout
saat mengunggah konfigurasi DSC.
Penyebab
Konfigurasi DSC yang membutuhkan waktu lama untuk dikompilasi dapat menyebabkan kesalahan ini.
Resolusi
Anda dapat membuat konfigurasi DSC diurai lebih cepat dengan secara eksplisit menyertakan parameter ModuleName
untuk setiap panggilan Import-DSCResource.
Skenario: Kesalahan saat onboarding komputer
Masalah
Anda menerima agent has a problem
kesalahan saat anda onboarding mesin.
Penyebab
Ini adalah masalah yang sudah diketahui. Anda tidak dapat menetapkan konfigurasi yang sama lagi karena simpul tetap dalam status tertunda.
Resolusi
Pekerjaan di sekitar adalah menerapkan konfigurasi pengujian yang berbeda dan menerapkan konfigurasi asli lagi.
Langkah berikutnya
Jika Anda tidak melihat masalah di sini atau tidak dapat menyelesaikan masalah, coba salah satu saluran berikut untuk mendapatkan dukungan tambahan:
- Dapatkan jawaban dari para ahli Azure melalui Forum Internet Azure.
- Sambungkan dengan @AzureSupport, akun resmi Microsoft Azure untuk meningkatkan pengalaman pelanggan. Dukungan Azure menghubungkan komunitas Azure dengan jawaban, dukungan, dan para ahli.
- Ajukan insiden dukungan Azure. Buka situs web dukungan Azure, lalu pilih Dapatkan Dukungan.