Log Automasi Panggilan Azure Communication Services

Azure Communication Services menawarkan kemampuan pengelogan yang dapat Anda gunakan untuk memantau dan men-debug solusi Communication Services Anda. Anda mengonfigurasi kemampuan ini melalui portal Azure.

Prasyarat

Azure Communication Services menyediakan fitur pemantauan dan analitik melalui Log Azure Monitor dan Metrik Azure Monitor. Setiap sumber daya Azure memerlukan pengaturan diagnostiknya sendiri, yang menentukan kriteria berikut:

  • Kategori data log dan metrik yang dikirim ke tujuan yang ditentukan pengaturan. Kategori yang tersedia bervariasi menurut jenis sumber daya.

  • Satu atau beberapa tujuan untuk mengirim log. Tujuan saat ini termasuk ruang kerja Analitik Log, Azure Event Hubs, dan Azure Storage.

    Pengaturan diagnostik tunggal dapat menentukan tidak lebih dari satu dari setiap jenis tujuan. Jika Anda ingin mengirim data ke lebih dari satu jenis tujuan (misalnya, dua ruang kerja Analitik Log), buat beberapa pengaturan. Setiap sumber daya dapat memiliki hingga 5 pengaturan diagnostik.

Penting

Anda harus mengaktifkan pengaturan diagnostik di Azure Monitor untuk mengirim data log survei Anda ke ruang kerja Analitik Log, hub peristiwa, atau akun penyimpanan Azure untuk menerima dan menganalisis data survei Anda. Jika Anda tidak mengirim data Automation Panggilan ke salah satu opsi ini, data survei Anda tidak akan disimpan dan akan hilang.

Instruksi berikut mengonfigurasi sumber daya Azure Monitor Anda untuk mulai membuat log dan metrik untuk instans Communication Services Anda. Untuk dokumentasi terperinci tentang menggunakan pengaturan diagnostik di semua sumber daya Azure, lihat Mengaktifkan pengelogan dalam pengaturan diagnostik.

Di bawah nama pengaturan diagnostik, pilih Operasi Log Otomatisasi Panggilan dan Log Ringkasan Peristiwa Automasi Panggilan untuk mengaktifkan log untuk Automasi Panggilan.

Screenshot of diagnostic settings for Call Automation.

Kategori log sumber daya

Communication Services menawarkan jenis log berikut yang dapat Anda aktifkan:

  • Log penggunaan: Berikan data penggunaan yang terkait dengan setiap penawaran layanan yang ditagih.
  • Log operasional automasi panggilan: Berikan informasi operasional tentang permintaan API Automation Panggilan. Anda dapat menggunakan log ini untuk mengidentifikasi titik kegagalan dan mengkueri semua permintaan yang dilakukan dalam panggilan (dengan menggunakan ID korelasi atau ID panggilan server).
  • Memanggil log ringkasan media Automation: Berikan informasi tentang hasil operasi media. Log ini datang kepada Anda secara asinkron saat Anda membuat permintaan media dengan menggunakan API Automasi Panggilan. Anda dapat menggunakan log ini untuk membantu mengidentifikasi titik kegagalan dan kemungkinan pola tentang cara pengguna berinteraksi dengan aplikasi Anda.

Skema log penggunaan

Properti Deskripsi
Timestamp Stempel waktu (UTC) saat log dihasilkan.
OperationName Operasi yang dikaitkan dengan catatan log.
OperationVersion Nilai api-version yang terkait dengan operasi, jika OperationName operasi dilakukan melalui API. Jika tidak ada API yang sesuai dengan operasi ini, versi mewakili versi operasi, jika properti yang terkait dengan perubahan operasi di masa mendatang.
Category Kategori log kejadian. Kategorinya adalah granularitas di mana Anda dapat mengaktifkan atau menonaktifkan log pada sumber daya. Properti yang muncul dalam properties blob peristiwa sama dalam kategori log dan jenis sumber daya.
CorrelationID ID untuk kejadian berkorelasi. Anda dapat menggunakannya untuk mengidentifikasi peristiwa yang berkorelasi antara beberapa tabel.
Properties Data lain yang berlaku untuk berbagai mode Communication Services.
RecordID ID unik untuk rekaman penggunaan.
UsageType Mode penggunaan (misalnya, Obrolan, PSTN, atau NAT).
UnitType Jenis unit yang digunakan didasarkan pada mode penggunaan (misalnya, menit, megabyte, atau pesan).
Quantity Jumlah unit yang digunakan atau dikonsumsi untuk rekaman ini.

Memanggil log operasional Automation

Properti Deskripsi
TimeGenerated Stempel waktu (UTC) saat log dihasilkan.
OperationName Operasi yang dikaitkan dengan catatan log.
CorrelationID Pengidentifikasi untuk mengidentifikasi panggilan dan menghubungkan peristiwa untuk panggilan unik.
OperationVersion Versi api-version yang terkait dengan operasi, jika operationName operasi dilakukan melalui API. Jika tidak ada API yang sesuai dengan operasi ini, versi mewakili versi operasi, jika properti yang terkait dengan perubahan operasi di masa mendatang.
Category Kategori log kejadian. Kategorinya adalah granularitas di mana Anda dapat mengaktifkan atau menonaktifkan log pada sumber daya. Properti yang muncul dalam properties blob peristiwa sama dalam kategori log dan jenis sumber daya.
ResultType Status operasi.
ResultSignature Substatus operasi. Jika operasi ini sesuai dengan panggilan REST API, bidang ini adalah kode status HTTP dari panggilan REST yang sesuai.
DurationMs Durasi operasi, dalam milidetik.
CallerIpAddress Alamat IP penelepon, jika operasi sesuai dengan panggilan API yang berasal dari entitas dengan alamat IP yang tersedia untuk umum.
Level Tingkat keparahan peristiwa.
URI URI permintaan.
CallConnectionId ID yang mewakili koneksi panggilan, jika tersedia. ID ini berbeda untuk setiap peserta dan digunakan untuk mengidentifikasi koneksi mereka ke panggilan.
ServerCallId ID unik untuk mengidentifikasi panggilan.
SDKVersion Versi SDK yang digunakan untuk permintaan.
SDKType Jenis SDK yang digunakan untuk permintaan.
ParticipantId ID untuk mengidentifikasi peserta panggilan yang membuat permintaan.
SubOperationName Nama yang digunakan untuk mengidentifikasi subjenis operasi media (putar atau kenali).
operationID ID yang digunakan untuk menghubungkan peristiwa asinkron.

Berikut adalah contoh log operasional Automation Panggilan:

[
{
"TimeGenerated [UTC]": "5/25/2023, 5:43:25.746 PM",
"Level": "Informational",
"CorrelationId": "e2a97d52-0cbb-4adf-8c4b-e10f791fb764",
"OperationName": "Play",
"OperationVersion": "3/6/23",
"URI": "ccts-media-synthetics-prod.communication.azure.com",
"ResultType": "Succeeded",
"ResultSignature": "202",
"DurationMs": "82",
"CallerIpAddress": "40.88.50.228",
"CallConnectionId": "401f3500-fcb6-4b84-927e-81cd6372560b",
"ServerCallId": "aHR0cHM6Ly9hcGkuZmxpZ2h0cHJveHkuc2t5cGUuY29tL2FwaS92Mi9jcC9jb252LXVzZWEyLTAxLmNvbnYuc2t5cGUuY29tL2NvbnYvZzRoWlVoS1ZEVUtma19HenRDZ1JTQT9pPTEyJmU9NjM4MjA1NDc4MDg5MzEzMjIz",
"SdkVersion": "",
"SdkType": "unknown",
"SubOperationName": "File",
"OperationId": "5fab0875-3211-4879-8051-c688d0854c4d",
}

Memanggil log ringkasan media Automation

Properti Deskripsi
TimeGenerated Stempel waktu (UTC) peristiwa.
level Tingkat keparahan peristiwa. Ini harus salah satu dari Informational, Warning, Error, atau Critical. 
resourceId ID sumber daya yang memancarkan peristiwa.
durationMs Durasi operasi, dalam milidetik.
callerIpAddress
correlationId ID rantai Skype. 
operationName Nama operasi yang direpresentasikan oleh peristiwa ini.
operationVersion
resultType Status peristiwa. Nilai umum termasuk Completed, Canceled, dan Failed.
resultSignature Substatus operasi. Jika operasi ini sesuai dengan panggilan REST API, bidang ini adalah kode status HTTP dari panggilan REST yang sesuai.
operationId ID operasi yang digunakan untuk menghubungkan peristiwa asinkron.
recognizePromptSubOperationName Subjenis operasi. Nilai potensial termasuk File, TextToSpeech, dan SSML.
playInLoop True jika perulangan diminta untuk operasi putar. False jika sebaliknya.
playToParticipant True jika operasi pemutaran memiliki target. False jika itu adalah operasi play-to-all.
interrupted True jika perintah terganggu. False jika sebaliknya.
resultCode Kode hasil operasi.
resultSubcode Subkode hasil operasi.
resultMessage Pesan hasil operasi.

Berikut adalah contoh log ringkasan media Automation Panggilan:

[
{
"TimeGenerated [UTC]": "5/24/2023, 7:57:40.480 PM",
"Level": "Informational",
"CorrelationId": "d149d528-a392-404c-8fcd-69087e9d0802",
"ResultType": "Completed",
"OperationName": "Play",
"OperationId": "7bef24d5-eb95-4ee6-bbab-0b7d45d91288",
"PlayInLoop": "FALSE",
"PlayToParticipant": "TRUE",
"PlayInterrupted": "FALSE",
"RecognizePromptSubOperationName": "",
"ResultCode": "200",
"ResultSubcode": "0",
"ResultMessage": "Action completed successfully."
}

Langkah berikutnya