Meneruskan log diagnostik Azure Automation ke Azure Monitor

Azure Automation dapat mengirim status pekerjaan runbook dan aliran pekerjaan ke ruang kerja Analitik Log Anda. Proses ini tidak melibatkan penautan ruang kerja dan sepenuhnya independen dan memungkinkan Anda untuk melakukan penyelidikan sederhana. Log pekerjaan dan aliran pekerjaan terlihat di portal Azure, atau dengan PowerShell untuk pekerjaan individual. Dengan log Azure Monitor untuk akun Automation, Anda dapat:

  • Dapatkan wawasan tentang status pekerjaan Automation Anda.
  • Memicu email atau peringatan berdasarkan status pekerjaan runbook Anda (misalnya, gagal atau ditangguhkan).
  • Menulis kueri lanjutan di seluruh aliran pekerjaan Anda.
  • Menghubungkan pekerjaan di seluruh akun Otomatisasi.
  • Gunakan tampilan yang dikustomisasi dan kueri pencarian untuk memvisualisasikan hasil runbook Anda, status pekerjaan runbook, dan indikator atau metrik utama terkait lainnya melalui dasbor Azure.
  • Dapatkan log audit yang terkait dengan akun Automation, runbook, dan operasi buat, ubah, dan hapus aset lainnya.

Dengan menggunakan log Azure Monitor, Anda dapat mengonsolidasikan log dari sumber daya yang berbeda di ruang kerja yang sama di mana log dapat dianalisis dengan kueri untuk mengambil, mengonsolidasikan, dan menganalisis data yang dikumpulkan dengan cepat. Anda dapat membuat dan menguji kueri menggunakan Analitik Log di portal Azure lalu menganalisis data secara langsung menggunakan alat ini atau menyimpan kueri untuk digunakan dengan visualisasi atau aturan pemberitahuan.

Azure Monitor menggunakan versi bahasa kueri Kusto (KQL) yang digunakan oleh Azure Data Explorer yang cocok untuk kueri log sederhana. Ini juga mencakup fungsionalitas tingkat lanjut seperti agregasi, gabungan, dan analitik pintar. Anda bisa dengan cepat mempelajari bahasa kueri menggunakan beberapa pelajaran.

Pengaturan diagnostik Azure Automation

Anda dapat meneruskan log platform dan data metrik berikut menggunakan dukungan pengaturan diagnostik Automation:

Jenis data Deskripsi
Log Pekerjaan Status pekerjaan runbook di akun Automation.
Stream Pekerjaan Status aliran pekerjaan dalam runbook yang ditentukan di akun Automation.
DSCNodeStatus Status simpul DSC.
AuditEvent Semua log sumber daya yang merekam interaksi pelanggan dengan data atau pengaturan layanan Azure Automation.
Metrik Total pekerjaan, pembaruan total, eksekusi komputer penyebaran, total eksekusi penyebaran pembaruan.

Mengonfigurasi pengaturan diagnostik di portal Azure

Anda dapat mengonfigurasi pengaturan diagnostik di portal Azure dari menu untuk sumber daya akun Automation.

  1. Di menu akun Automation, di bawah Pemantauan pilih Pengaturan diagnostik.

    Cuplikan layar memperlihatkan pilihan opsi pengaturan diagnostik.

  2. Klik Tambahkan setelan diagnostik.

    Cuplikan layar memperlihatkan pilihan pengaturan tambahkan diagnostik.

  3. Masukkan nama pengaturan di nama Pengaturan diagnostik jika belum memilikinya.

    Anda juga dapat melihat semua kategori Log dan metrik.

    Cuplikan layar memperlihatkan semua kategori log dan metrik.

    • Log dan metrik yang akan dirutekan : Untuk log, pilih grup kategori atau pilih kotak centang individual untuk setiap kategori data yang ingin Anda kirim ke tujuan yang ditentukan. Pilih AllMetrics jika Anda ingin menyimpan metrik ke log Azure Monitor.

    • Detail tujuan : Pilih kotak centang untuk setiap tujuan. Sesuai pilihan setiap kotak, opsi muncul untuk memungkinkan Anda menambahkan informasi tambahan.

      Cuplikan layar memperlihatkan pilihan di bagian detail tujuan.

      • Analitik Log : Masukkan ID Langganan dan nama ruang kerja. Jika Anda tidak memiliki ruang kerja, Anda harus membuatnya sebelum melanjutkan.

      • Azure Event Hubs: Tentukan kriteria berikut:

        • Langganan: Langganan yang sama dengan Pusat Aktivitas.
        • Namespace layanan Pusat Aktivitas: Buat Pusat Aktivitas jika Anda belum memilikinya.
        • Nama Pusat Aktivitas (opsional): Jika Anda tidak menentukan nama, pusat aktivitas dibuat untuk setiap kategori log. Jika Anda mengirim beberapa kategori, tentukan nama untuk membatasi jumlah Pusat Aktivitas yang dibuat. Lihat Kuota dan batasan Azure Event Hubs untuk detailnya.
        • Kebijakan Pusat Aktivitas (opsional): Kebijakan menentukan izin yang dimiliki mekanisme streaming. Lihat fitur Azure Event Hubs.
      • Penyimpanan: Pilih kebijakan langganan, akun penyimpanan, dan retensi. Cuplikan layar memperlihatkan akun penyimpanan.

      • Integrasi mitra: Anda harus terlebih dahulu menginstal integrasi mitra ke dalam langganan Anda. Opsi konfigurasi akan bervariasi sesuai mitra. Untuk informasi selengkapnya, lihat Integrasi Azure Monitor.

  4. Klik Simpan.

Setelah beberapa saat, pengaturan baru muncul di daftar pengaturan Anda untuk sumber daya ini, dan log dialirkan ke tujuan yang ditentukan saat data peristiwa baru dibuat. Mungkin ada perbedaan waktu 15 menit antara peristiwa yang dipancarkan dan kemunculannya di ruang kerja Analitik Log.

Mengkueri log

Untuk mengkueri log yang dihasilkan:

  1. Di akun Automation Anda, di bawah Pemantauan, pilih Log.

  2. Di bawah Semua Kueri, pilih Pekerjaan Automasi.

    Cuplikan layar memperlihatkan cara menavigasi untuk memilih pekerjaan Automation.

  3. Pilih salah satu kueri yang ingin Anda jalankan dan klik Jalankan.

  4. Untuk menjalankan kueri kustom, tutup jendela Kueri dan tempelkan kueri kustom Anda di jendela kueri baru dan klik Jalankan.

    Output kueri ditampilkan di panel Hasil .

  5. Klik Aturan pemberitahuan baru untuk mengonfigurasi pemberitahuan Azure Monitor untuk kueri ini.

    Cuplikan layar memperlihatkan cara mengkueri log.

Catatan log Azure Monitor

Diagnostik Azure Automation membuat jenis rekaman berikut di log Azure Monitor, ditandai sebagai AzureDiagnostics. Tabel di bagian di bawah ini adalah contoh rekaman yang dihasilkan Azure Automation dan jenis data yang muncul di hasil pencarian log.

Log pekerjaan

Properti Deskripsi
TimeGenerated Tanggal dan waktu ketika pekerjaan runbook dijalankan.
RunbookName_s Nama/nama runbook.
Caller_s Pemanggil yang memulai operasi. Potensi nilai berupa alamat email atau sistem untuk pekerjaan terjadwal.
Tenant_g GUID (pengidentifikasi unik global) yang mengidentifikasi penyewa untuk pemanggil.
JobId_g GUID yang mengidentifikasi pekerjaan runbook.
ResultType Status pekerjaan runbook. Kemungkinan nilai adalah:
- Baru
- Dibuat
- Dimulai
- Dihentikan
- Ditangguhkan
- Gagal
- Selesai
Kategori Klasifikasi jenis data. Untuk Otomatisasi, nilainya adalah JobLogs.
OperationName Jenis operasi yang dilakukan di Azure. Untuk Otomatisasi, nilainya adalah Job.
Sumber daya Nama akun Automation
SourceSystem Sistem yang digunakan log Azure Monitor untuk mengumpulkan data. Nilainya selalu Azure untuk diagnostik Azure.
ResultDescription Status hasil pekerjaan runbook. Kemungkinan nilai adalah:
- Pekerjaan dimulai
- Pekerjaan Gagal
- Pekerjaan Selesai
CorrelationId GUID korelasi pekerjaan runbook.
ResourceId ID sumber daya akun Azure Automation dari runbook.
SubscriptionId GUID langganan Azure untuk akun Automation.
ResourceGroup Nama grup sumber daya untuk akun Automation.
ResourceProvider Nama penyedia sumber daya. Nilainya adalah MICROSOFT.AUTOMATION.
ResourceType Jenis sumber daya. Nilainya adalah AUTOMATIONACCOUNTS.

Aliran pekerjaan

Properti Deskripsi
TimeGenerated Tanggal dan waktu ketika pekerjaan runbook dijalankan.
RunbookName_s Nama runbook.
Caller_s Pemanggil yang memulai operasi. Potensi nilai berupa alamat email atau sistem untuk pekerjaan terjadwal.
StreamType_s Jenis aliran pekerjaan. Kemungkinan nilai adalah:
- Proses
- Output
- Peringatan
- Kesalahan
- Debug
- Verbose
Tenant_g GUID yang mengidentifikasi penyewa untuk pemanggil.
JobId_g GUID yang mengidentifikasi pekerjaan runbook.
ResultType Status pekerjaan runbook. Kemungkinan nilai adalah:
- Dalam Proses
Kategori Klasifikasi jenis data. Untuk Otomatisasi, nilainya adalah JobStreams.
OperationName Jenis operasi yang dilakukan di Azure. Untuk Otomatisasi, nilainya adalah Job.
Sumber daya Nama akun Automation.
SourceSystem Sistem yang digunakan log Azure Monitor untuk mengumpulkan data. Nilainya selalu Azure untuk diagnostik Azure.
ResultDescription Deskripsi yang menyertakan aliran output dari runbook.
CorrelationId GUID korelasi pekerjaan runbook.
ResourceId ID sumber daya akun Azure Automation dari runbook.
SubscriptionId GUID langganan Azure untuk akun Automation.
ResourceGroup Nama grup sumber daya untuk akun Automation.
ResourceProvider Penyedia sumber daya. Nilainya adalah MICROSOFT.AUTOMATION.
ResourceType Jenis sumber daya. Nilainya adalah AUTOMATIONACCOUNTS.

Catatan

Pastikan kredensial tidak dikirim ke aliran Pekerjaan. Layanan menghapus kredensial sebelum menampilkan aliran Pekerjaan dalam log diagnostik.

Peristiwa audit

Properti Deskripsi
IDPenyewa GUID yang mengidentifikasi penyewa untuk pemanggil.
TimeGenerated (UTC) Tanggal dan waktu ketika pekerjaan runbook dijalankan.
Kategori AuditEvent
ResourceGroup Nama grup sumber daya akun Automation.
ID Langganan GUID langganan Azure untuk akun Automation.
ResourceProvider MICROSOFT. OTOMATISASI
Sumber daya Nama Automation Account
ResourceType AUTOMATIONACCOUNTS
OperationName Nilai yang mungkin adalah Perbarui, Buat, Hapus.
ResultType Status pekerjaan runbook. Nilai yang mungkin adalah: Selesai.
CorrelationId GUID korelasi pekerjaan runbook.
ResultDescription Status hasil pekerjaan runbook. Nilai yang mungkin adalah Perbarui, Buat, Hapus.
Tenant_g GUID yang mengidentifikasi penyewa untuk pemanggil.
SourceSystem Sistem yang digunakan log Azures Monitor untuk mengumpulkan data. Nilainya selalu Azure untuk diagnostik Azure.
clientInfo_IpAddress_s {scrubbed}
clientInfo_PrincipalName_s {scrubbed}
clientInfo_TenantId_g ID penyewa klien.
clientInfo_Issuer_s
clientInfo_ObjectId_g ID objek klien.
clientInfo_AppId_g AppID klien.
clientInfo_ClientRequestId_g RequestID klien
targetResources_Resource_s Akun, Pekerjaan, Kredensial, Koneksi ions, Variabel, Runbook.
Jenis AzureDiagnostics
_ResourceId ID sumber daya akun Azure Automation dari runbook.

Menampilkan log Otomatisasi di log Azure Monitor

Sekarang, setelah Anda mulai mengirim aliran dan log pekerjaan otomatisasi ke log Azure Monitor, mari kita lihat hal yang dapat Anda lakukan dengan log ini di dalam log Azure Monitor.

Untuk melihat log, jalankan kueri berikut ini: kusto AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"

Kueri sampel untuk log pekerjaan dan aliran pekerjaan

Temukan semua pekerjaan yang selesai dengan kesalahan

Selain skenario seperti memperingatkan kegagalan, Anda dapat menemukan kapan pekerjaan runbook memiliki kesalahan yang tidak mengakhiri. Dalam kasus ini, PowerShell menghasilkan aliran kesalahan, tetapi kesalahan yang tidak menghentikan proses tidak menyebabkan pekerjaan Anda ditangguhkan atau gagal.

  1. Di ruang kerja Log Analytics Anda, klik Log.
  2. Di bidang kueri, ketik:
    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count () by JobId_g. 
    
  3. Klik Cari.

Melihat aliran pekerjaan untuk suatu pekerjaan

Saat debugging pekerjaan, Anda mungkin juga ingin memeriksa aliran pekerjaan. Kueri berikut ini menunjukkan semua aliran untuk satu pekerjaan dengan GUID 2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0:

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and JobId_g == "2ebd22ea-e05e-4eb9-9d76-d73cbd4356e0"
| sort by TimeGenerated asc
| project ResultDescription

Lihat status riwayat pekerjaan

Terakhir, Anda mungkin ingin memvisualisasikan riwayat pekerjaan dari waktu ke waktu. Anda dapat menggunakan kueri ini untuk mencari status pekerjaan dari waktu ke waktu.

AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType != "started"
| summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h)

Bagan Status Riwayat Pekerjaan Log Analytics

Temukan kesalahan pelaporan log dalam pekerjaan otomatisasi.

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" 
| where StreamType_s == "Error" 
| project TimeGenerated, Category, JobId_g, OperationName, RunbookName_s, ResultDescription, _ResourceId 

Menemukan pekerjaan Azure Automation yang selesai

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType == "Completed" 
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g

Menemukan pekerjaan Azure Automation yang gagal, ditangguhkan, atau dihentikan

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Stopped" or ResultType == "Suspended") 
| project TimeGenerated, RunbookName_s, ResultType, _ResourceId, JobId_g 

Mencantumkan semua runbook & pekerjaan yang berhasil diselesaikan dengan kesalahan

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" 
| project TimeGenerated, RunbookName_s, StreamType_s, _ResourceId, ResultDescription, JobId_g 

Mengirim email saat pekerjaan runbook gagal atau ditangguhkan

Langkah-langkah berikut menjelaskan cara menyiapkan pemberitahuan email di Azure Monitor untuk memberi tahu ketika ada yang salah dengan pekerjaan runbook.

Untuk membuat aturan pemberitahuan, buat pencarian log untuk rekaman pekerjaan runbook yang harus memanggil pemberitahuan seperti yang dijelaskan dalam Mengkueri log. Klik +Aturan pemberitahuan baru untuk mengonfigurasi aturan pemberitahuan.

  1. Di akun Automation Anda, di bawah Pemantauan, pilih Log.

  2. Buat kueri pencarian log untuk pemberitahuan Anda dengan memasukkan kriteria pencarian ke dalam bidang kueri.

    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended")   
    

    Anda juga dapat mengelompokkan menurut nama runbook dengan menggunakan:

    AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and     Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Suspended") | summarize AggregatedValue = count() by RunbookName_s 
    
  3. Untuk membuka layar Buat aturan pemberitahuan, klik +Aturan pemberitahuan baru di bagian atas halaman. Untuk informasi selengkapnya tentang opsi untuk mengonfigurasi pemberitahuan, lihat Pemberitahuan log di Azure

Log audit diagnostik Azure Automation

Sekarang Anda dapat mengirim log audit juga ke ruang kerja Azure Monitor. Ini memungkinkan perusahaan untuk memantau aktivitas akun automasi kunci untuk keamanan & kepatuhan. Saat diaktifkan melalui pengaturan Diagnostik Azure, Anda akan dapat mengumpulkan telemetri tentang operasi buat, perbarui, dan hapus untuk runbook Automation, pekerjaan, dan aset otomatisasi seperti koneksi, kredensial, variabel & sertifikat. Anda juga dapat mengonfigurasi pemberitahuan untuk kondisi log audit sebagai bagian dari persyaratan pemantauan keamanan Anda.

Perbedaan antara log aktivitas dan log audit

Log aktivitas adalah logplatform di Azure yang memberikan wawasan tentang peristiwa tingkat langganan. Log aktivitas untuk akun Automation menyertakan informasi tentang kapan sumber daya otomatisasi dimodifikasi atau dibuat atau dihapus. Namun, itu tidak menangkap nama atau ID sumber daya.

Log audit untuk akun Automation mengambil nama dan ID sumber daya seperti variabel otomatisasi, kredensial, koneksi dan sebagainya, bersama dengan jenis operasi yang dilakukan untuk sumber daya dan Azure Automation akan menggosok beberapa detail seperti data IP klien yang sesuai dengan kepatuhan GDPR.

Log aktivitas akan menampilkan detail seperti IP klien karena log Aktivitas adalah log platform yang menyediakan informasi diagnostik dan audit terperinci untuk sumber daya Azure. Mereka secara otomatis dihasilkan untuk aktivitas yang terjadi di ARM dan didorong ke penyedia sumber daya log aktivitas. Karena log Aktivitas adalah bagian dari pemantauan Azure, log tersebut akan menampilkan beberapa data klien untuk memberikan wawasan tentang aktivitas klien.  

Kueri sampel untuk log audit

Kueri untuk menampilkan log audit sumber daya Automation

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" 

Kueri untuk Memantau pembaruan variabel apa pun, membuat, atau menghapus operasi

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s == "Variable" 

Kueri untuk Memantau operasi runbook apa pun seperti membuat, membuat draf, atau memperbarui

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Runbook" 

Kueri untuk Memantau pembuatan, pembaruan, atau penghapusan sertifikat apa pun

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Certificate" 

Kueri untuk Memantau pembuatan, pembaruan, atau penghapusan info masuk apa pun

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "AuditEvent" and targetResources_Resource_s contains "Credential" 

Memfilter output status pekerjaan yang dikonversi menjadi objek JSON

Baru-baru ini, kami mengubah perilaku cara data log Otomatisasi ditulis ke tabel AzureDiagnosticsdi layanan Log Analytics untuk tidak lagi memecah properti JSON menjadi kolom terpisah. Jika Anda mengonfigurasi runbook untuk memformat objek dalam aliran output dalam format JSON sebagai kolom terpisah, perlu untuk mengonfigurasi ulang kueri Anda untuk mengurai bidang tersebut ke objek JSON untuk mengakses properti tersebut. Ini dicapai menggunakan penguraian json untuk mengakses elemen JSON tertentu di jalur yang diketahui.

Misalnya, runbook memformat properti ResultDescription dalam aliran output dalam format JSON dengan beberapa kolom. Untuk mencari status pekerjaan dengan status gagal seperti yang ditentukan dalam kolom yang disebut Status, gunakan contoh kueri ini untuk mencari ResultDescription dengan status Gagal:

AzureDiagnostics
| where Category == 'JobStreams'
| extend jsonResourceDescription = parse_json(ResultDescription)
| where jsonResourceDescription.Status == 'Failed'

Format JSON Aliran Riwayat Pekerjaan Log Analytics

Langkah berikutnya