Meneruskan data pekerjaan Azure Automation ke log 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. Log pekerjaan dan aliran pekerjaan terlihat di portal Microsoft Azure, atau dengan PowerShell, untuk pekerjaan individu dan ini memungkinkan Anda untuk melakukan penyelidikan sederhana. Sekarang, dengan log Azure Monitor, Anda bisa:

  • Mendapatkan wawasan tentang status pekerjaan Otomatisasi 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.
  • Menggunakan tampilan kustom dan kueri pencarian untuk memvisualisasikan hasil runbook Anda, status pekerjaan runbook, dan indikator atau metrik utama terkait lainnya.

Prasyarat

Untuk mulai mengirim log Otomatisasi ke log Azure Monitor, Anda memerlukan:

Cara menemukan ID sumber daya

  1. Gunakan perintah berikut untuk menemukan ID sumber daya untuk akun Azure Automation Anda:

    # Find the ResourceId for the Automation account
    Get-AzResource -ResourceType "Microsoft.Automation/automationAccounts"
    
  2. Salin nilai untuk ResourceID.

  3. Gunakan perintah berikut untuk menemukan ID sumber daya ruang kerja Log Analytics Anda:

    # Find the ResourceId for the Log Analytics workspace
    Get-AzResource -ResourceType "Microsoft.OperationalInsights/workspaces"
    
  4. Salin nilai untuk ResourceID.

Untuk mengembalikan hasil dari grup sumber daya tertentu, sertakan parameter -ResourceGroupName. Untuk informasi selengkapnya, lihat Get-AzResource.

Jika Anda memiliki lebih dari satu akun Otomatisasi atau ruang kerja dalam output perintah sebelumnya, Anda dapat menemukan nama dan properti terkait lainnya yang merupakan bagian dari ID sumber daya lengkap akun Otomatisasi Anda dengan melakukan hal berikut:

  1. Masuk ke portal Azure.

  2. Di portal Microsoft Azure, pilih akun Otomatisasi Anda dari halaman Akun Otomatisasi.

  3. Pada halaman Akun otomatisasi yang dipilih, di Pengaturan Akun, pilih Properti.

  4. Di halaman Properti, perhatikan detail yang ditampilkan di bawah ini.

    Properti akun otomatisasi.

Mengonfigurasi pengaturan diagnostik

Pengaturan diagnostik otomatisasi mendukung penerusan log platform dan data metrik berikut:

  • JobLogs
  • JobStreams
  • DSCNodeStatus
  • Metrik - Pekerjaan Total, Operasi Komputer Penyebaran Pembaruan Total, Operasi Penyebaran Pembaruan Total

Untuk mulai mengirim log Otomatisasi ke log Azure Monitor, tinjau membuat pengaturan diagnostik untuk memahami fitur dan metode yang tersedia untuk mengonfigurasi pengaturan diagnostik guna mengirim log platform.

Catatan log Azure Monitor

Diagnostik Azure Automation membuat dua jenis catatan dalam log Azure Monitor, ditandai sebagai AzureDiagnostics. Tabel di bagian berikutnya adalah contoh catatan yang dihasilkan Azure Automation dan jenis data yang ditampilkan dalam hasil pencarian log.

Log pekerjaan

Properti Deskripsi
TimeGenerated Tanggal dan waktu ketika pekerjaan runbook dijalankan.
RunbookName_s Nama buku runbook.
Caller_s Pemanggil yang memulai operasi. Nilai yang mungkin berupa alamat email atau sistem untuk pekerjaan terjadwal.
Tenant_g GUID 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 Otomatisasi
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 ID sumber daya akun Azure Automation dari runbook.
SubscriptionId GUID langganan Azure untuk akun Otomatisasi.
ResourceGroup Nama grup sumber daya untuk akun Otomatisasi.
ResourceProvider 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 buku 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 Otomatisasi.
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 ID sumber daya akun Azure Automation dari runbook.
SubscriptionId GUID langganan Azure untuk akun Otomatisasi.
ResourceGroup Nama grup sumber daya untuk akun Otomatisasi.
ResourceProvider Penyedia sumber daya. Nilainya adalah MICROSOFT.AUTOMATION.
ResourceType Jenis sumber daya Nilainya adalah AUTOMATIONACCOUNTS.

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: AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION"

Mengirim email saat pekerjaan runbook gagal atau ditangguhkan

Langkah-langkah berikut menunjukkan cara menyiapkan pemberitahuan di Azure Monitor untuk memberi tahu Anda ketika terjadi masalah terkait pekerjaan runbook.

Untuk membuat aturan pemberitahuan, mulai dengan membuat pencarian log untuk catatan pekerjaan runbook yang harus meminta pemberitahuan. Klik tombol Pemberitahuan untuk membuat dan mengonfigurasi aturan pemberitahuan.

  1. Dari halaman Ringkasan ruang kerja Log Analytics, klik Tampilkan log.

  2. Buat kueri pencarian log untuk pemberitahuan Anda dengan mengetikkan pencarian berikut ke 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

    Jika Anda menyiapkan log dari lebih dari satu akun Otomatisasi atau langganan ke ruang kerja, Anda dapat mengelompokkan pemberitahuan Anda berdasarkan langganan dan akun Otomatisasi. Nama akun otomatisasi dapat ditemukan di bidang Resource dalam pencarian JobLogs.

  3. Untuk membuka layar Buat aturan, klik Aturan Pemberitahuan Baru di bagian atas halaman. Untuk informasi selengkapnya tentang opsi untuk mengonfigurasi pemberitahuan, lihat Pemberitahuan log di Azure.

Temukan semua pekerjaan yang telah selesai yang memuat kesalahan

Selain memperingatkan kegagalan, Anda dapat menemukan waktu saat kesalahan yang tidak menghentikan proses pekerjaan runbook terjadi. 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 kolom kueri, ketik AzureDiagnostics | where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error" | summarize AggregatedValue = count() by JobId_g.

  3. Klik tombol 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

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, Anda perlu mengonfigurasi ulang kueri untuk mengurai kolom tersebut ke objek JSON guna mengakses properti tersebut. Ini dicapai menggunakan parsejson 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