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

  1. Di portal Azure, buka >Home Automation Accounts> (akun Automation Anda) >Konfigurasi status (DSC).
  2. Pilih Node, dan pilih node yang mengalami masalah.
  3. Pilih Batalkan pendaftaran untuk membatalkan pendaftaran node.

Langkah 2: Hapus instalasi ekstensi DSC dari node

  1. Di portal Azure, buka Ekstensi Home>Virtual Machine> (node gagal). >
  2. Pilih Microsoft.Powershell.DSC, ekstensi DSC PowerShell.
  3. 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

  1. Di portal Azure, buka >Home Automation Accounts> (akun Automation Anda) >Konfigurasi status (DSC).
  2. Pilih Node.
  3. Pilih Tambahkan.
  4. Pilih node yang gagal.
  5. 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:

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.