Meneruskan log diagnostik Azure Automation ke Azure Monitor

Azure Automation dapat mengirim status pekerjaan runbook dan aliran pekerjaan ke ruang kerja Log Analytics 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 aset lainnya untuk membuat, memodifikasi, dan menghapus operasi.

Dengan menggunakan log Azure Monitor, Anda dapat mengonsolidasikan log dari sumber daya yang berbeda di ruang kerja yang sama tempat 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 cerdas. Anda dapat dengan cepat mempelajari bahasa komputer kueri menggunakan beberapa pelajaran.

Azure Automation pengaturan diagnostik

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 penyebaran pembaruan berjalan.

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.

    Screenshot showing selection of diagnostic setting option.

  2. Pilih Tambahkan pengaturan diagnostik.

    Screenshot showing selection of add diagnostic setting.

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

    Anda juga dapat melihat semua kategori Log dan metrik.

    Screenshot showing all categories of logs and metrics.

    • 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.

      Screenshot showing selections in destination details section.

      • 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 Event Hub.
        • 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 Azure Event Hubs 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.
      • Storage: Pilih langganan, akun penyimpanan, dan kebijakan penyimpanan. Screenshot showing the storage account.

      • 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 Log Analytics.

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.

    Screenshot showing how to navigate to select Automation jobs.

  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.

    Screenshot showing how to query logs.

Catatan log Azure Monitor

Azure Automation diagnostik membuat jenis rekaman berikut di log Azure Monitor, ditandai sebagai AzureDiagnostics. Tabel di bagian di bawah ini adalah contoh rekaman yang Azure Automation hasilkan 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. Nilai yang mungkin 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. Potensi nilai:
- 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. Potensi nilai:
- Pekerjaan dimulai
- Pekerjaan Gagal
- Pekerjaan Selesai
CorrelationId GUID korelasi dari pekerjaan runbook.
ResourceId Azure Automation ID sumber daya akun 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. Nilai yang mungkin berupa alamat email atau sistem untuk pekerjaan terjadwal.
StreamType_s Jenis aliran pekerjaan. Potensi nilai:
\- 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. Potensi nilai:
- 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 dari pekerjaan runbook.
ResourceId Azure Automation ID sumber daya akun runbook.
SubscriptionId GUID langganan Azure untuk akun Automation.
ResourceGroup Nama grup sumber daya untuk akun Automation.
PenyediaSumberdaya Penyedia sumber daya. Nilainya adalah MICROSOFT.AUTOMATION.
ResourceType Jenis sumber daya. Nilainya adalah AUTOMATIONACCOUNTS.

Peristiwa audit

Properti Deskripsi
TenantID 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.
PenyediaSumberdaya 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, Variabel, Runbook.
Jenis AzureDiagnostics
_ResourceId Azure Automation ID sumber daya akun 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

Menemukan semua pekerjaan yang selesai dengan kesalahan

Selain skenario seperti pemberitahuan tentang 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)

Log Analytics Historical Job Status Chart

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

Temukan 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 pekerjaan runbook 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 saat terjadi kesalahan 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 berdasarkan nama runbook 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

Azure Automation log audit diagnostik

Sekarang Anda dapat mengirim log audit juga ke ruang kerja Azure Monitor. Ini memungkinkan perusahaan untuk memantau aktivitas akun otomatisasi utama untuk kepatuhan keamanan & . 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, sertifikat variabel & . 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 login platform 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 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, menyusun, 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 kredensial 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'

Log Analytics Historical Job Stream JSON format

Langkah berikutnya