Halaman ini menjelaskan cara menggunakan log platform yang dibuat oleh Live Stream API sebagai bagian dari Cloud Logging. Live Stream API menggunakan nama layanan Logging API
livestream.googleapis.com
untuk mencatat aktivitas terkait saluran ke dalam log.
Sebelum memulai
- Pastikan Anda memiliki izin dan peran IAM yang benar untuk melihat dan mengelola log.
Aktifkan logging platform
Secara default, log platform livestream.googleapis.com/channel_activities
untuk
Live Stream API dinonaktifkan. Untuk mengaktifkan log, Anda harus menentukan
tingkat keparahan saat membuat atau mengupdate resource saluran.
Untuk mengaktifkan log, tambahkan kolom berikut ke isi JSON permintaan metode projects.locations.channels.create
atau projects.locations.channels.patch
:
"logConfig": { "logSeverity": "SEVERITY_LEVEL" },
dengan SEVERITY_LEVEL
adalah salah satu dari berikut ini:
OFF
DEBUG
INFO
WARNING
ERROR
Setelah Anda memilih tingkat keparahan log untuk saluran, hanya log platform dengan
tingkat keparahan yang lebih tinggi dari atau sama dengan tingkat keparahan yang dipilih yang akan dicatat ke dalam log.
Misalnya, jika tingkat keparahannya adalah WARNING
, hanya log dengan tingkat keparahan WARNING
dan ERROR
yang dicatat ke dalam log. Jika tingkat keparahannya adalah INFO
, log untuk semua
tingkat keparahan akan dicatat ke dalam log, kecuali untuk DEBUG
.
Untuk mengetahui informasi selengkapnya tentang tingkat keparahan log, lihat LogSeverity.
Lihat log platform
Untuk melihat log platform, ikuti petunjuk di bawah:
Konsol
Untuk melihat log platform di konsol Google Cloud:
Buka Logs Explorer:
Pilih project Google Cloud yang sesuai.
Di kolom Query, masukkan perintah kueri berikut:
resource.labels.channel_id=CHANNEL_ID resource.labels.location=LOCATION logName="projects/PROJECT_ID/logs/livestream.googleapis.com%2Fchannel_activities"
dengan:
CHANNEL_ID
adalah ID saluran yang ingin Anda debug atau pantau. Misalnya,my-channel
.LOCATION
adalah lokasi saluran yang ingin Anda debug atau pantau. Misalnya,us-central1
.PROJECT_ID
adalah ID project yang berisi saluran yang ingin Anda debug atau pantau. Misalnya,my-project
.
Klik Jalankan kueri.
Untuk mengetahui informasi selengkapnya tentang Logs Explorer, lihat Ringkasan Logs Explorer dan Menggunakan Logs Explorer.
gcloud
Alat command line gcloud menyediakan antarmuka command line ke Cloud Logging.
Untuk melihat log channel_activities
project Anda, jalankan perintah berikut:
gcloud logging read "logName:projects/PROJECT_ID/logs/livestream.googleapis.com%2Fchannel_activities" --project=PROJECT_ID
dengan PROJECT_ID
sebagai ID untuk project Google Cloud Anda.
Untuk mengetahui informasi lebih lanjut tentang cara menggunakan alat gcloud dengan Cloud Logging, lihat gcloud logging
.
Menggunakan log platform
Bagian ini menjelaskan cara menggunakan dan menafsirkan log platform tertentu untuk Live Stream API.
StreamingStateChange
Log StreamingStateChange
dibuat saat status streaming saluran
berubah. Tingkat keparahan log StreamingStateChange
adalah ERROR
jika
status baru saluran adalah STREAMING_ERROR
. Jika tidak, tingkat keparahan
log StreamingStateChange
adalah INFO
.
Berikut adalah contoh log StreamingStateChange
dengan status
sebelumnya adalah STREAMING_ERROR
dan status baru adalah STREAMING
:
{ jsonPayload: { @type: "type.googleapis.com/google.cloud.video.livestream.logging.v1.ChannelActivity" message: "streaming state of channel "CHANNEL_ID" changes from "STREAMING_ERROR" to "STREAMING"" streamingStateChange: { newState: "STREAMING" previousState: "STREAMING_ERROR" ... type: "livestream.googleapis.com/Channel" } severity: "INFO" ... }
Anda dapat menambahkan perintah lain di kolom Query Logs Explorer untuk mempersempit log yang ditampilkan.
Tambahkan perintah berikut untuk menampilkan semua log StreamingStateChange
dengan status baru adalah STREAMING
:
jsonPayload.streamingStateChange.newState="STREAMING"
Tambahkan perintah berikut untuk hanya menampilkan log StreamingStateChange
:
jsonPayload.streamingStateChange.newState:*
StreamingError
Log StreamingError
dibuat saat saluran mengalami error terkait streaming. Tingkat keparahan log log StreamingError
adalah ERROR
.
Berikut adalah contoh log StreamingError
yang izin Live Stream API ditolak untuk mengupload file output ke bucket Cloud Storage yang ditentukan:
{ jsonPayload: { @type: "type.googleapis.com/google.cloud.video.livestream.logging.v1.ChannelActivity" message: "A live streaming encounters an error." streamingError: { error: { ... message: "Permission denied to access the GCS bucket "STORAGE_BUCKET_NAME"" ... severity: "ERROR" ... }
Error ini juga dapat terjadi jika bucket Cloud Storage yang ditentukan tidak ada.
Jika streamingError.message
menampilkan pesan This is due to an internal
error. If the error persists, please contact support team
, salin konten log
dan kirimkan ke tim dukungan untuk pemecahan masalah.
InputAccept
Log InputAccept
dibuat saat stream input berhasil dihubungkan
ke endpoint input Live Stream API. Tingkat keparahan log InputAccept
adalah INFO
.
Kolom InputStreamProperty
dalam log InputAccept
menyertakan informasi
berikut tentang sub-streaming video dan audio dari streaming input:
Streaming video |
|
Streaming audio |
|
Anda dapat menggunakan log InputAccept
untuk memverifikasi format dan status penerimaan aliran data input:
{ jsonPayload: { @type: "type.googleapis.com/google.cloud.video.livestream.logging.v1.ChannelActivity" inputAccept: { inputAttachment: "input-primary" inputStreamProperty: { audioStreams: [ 0: { audioFormat: { channelCount: 2 channelLayout: [ 0: "fl" 1: "fr" ] codec: "aac" } index: 1 } ] videoStreams: [ 0: { videoFormat: { codec: "h264" frameRate: 60 heightPixels: 720 widthPixels: 1280 ... streamId: "STREAM_ID" } message: "Input stream "STREAM_ID" is accepted by channel "CHANNEL_ID" for input attachment "input-primary"" } ... severity: "INFO" ... }
Tambahkan perintah berikut di kolom Query Logs Explorer untuk hanya menampilkan log InputAccept
untuk aliran data tertentu:
jsonPayload.inputAccept.streamId="STREAM_ID"
dengan STREAM_ID
adalah ID unik untuk aliran data yang disertakan dalam URI
endpoint input.
InputError
Log InputError
dibuat saat streaming input ditolak oleh
Live Stream API. Tingkat keparahan untuk log InputError
adalah ERROR
.
Berikut adalah contoh log InputError
tempat aliran input dikirim
ke saluran yang belum dimulai:
{ jsonPayload: { @type: "type.googleapis.com/google.cloud.video.livestream.logging.v1.ChannelActivity" inputError: { error: { ... message: "The channel has not been started yet" } streamId: "STREAM_ID" ... severity: "ERROR" ... }
Berikut adalah contoh log InputError
tempat streaming input duplikat
dikirim ke saluran yang sudah di-streaming:
{ jsonPayload: { @type: "type.googleapis.com/google.cloud.video.livestream.logging.v1.ChannelActivity" inputError: { error: { code: 9 message: "input stream "STREAM_ID" has been accepted. Please verify if another input stream has been streaming to the same endpoint." } streamId: "STREAM_ID" ... severity: "ERROR" ... }
Tambahkan perintah berikut di kolom Query Logs Explorer agar hanya menampilkan log InputError
untuk aliran data tertentu:
jsonPayload.inputError.streamId="STREAM_ID"
dengan STREAM_ID
adalah ID unik untuk aliran data yang disertakan dalam URI
endpoint input.
InputDisconnect
Log InputDisconnect
dibuat saat streaming input terputus
dari Live Stream API. Anda dapat menggunakan log InputDisconnect
untuk memeriksa
pemutusan live stream yang tidak terduga. Tingkat keparahan untuk log InputDisconnect
adalah INFO
.
Berikut adalah contoh log InputDisconnect
:
{ jsonPayload: { @type: "type.googleapis.com/google.cloud.video.livestream.logging.v1.ChannelActivity" inputDisconnect: { inputAttachment: "input-primary" streamId: "STREAM_ID" } message: "Input stream "STREAM_ID" is disconnected by channel "CHANNEL_ID" for input attachment "input-primary"" ... severity: "INFO" ... }