Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Setiap kueri dan mutasi GraphQL yang dijalankan melalui Fabric API anda untuk GraphQL menghasilkan log operasi terperinci yang menangkap metrik performa, teks kueri, detail autentikasi, dan hasil eksekusi. Log ini secara otomatis dikumpulkan dan disimpan dalam database pemantauan ruang kerja Anda, memberikan visibilitas tentang bagaimana API GraphQL Anda digunakan dan performanya.
Log operasi GraphQL adalah bagian dari kemampuan pemantauan ruang kerja Fabric. Saat Anda mengaktifkan pemantauan ruang kerja, Fabric membuat database Eventhouse di ruang kerja Anda yang terus mengumpulkan log dari semua API GraphQL Anda. Anda dapat mengkueri log ini menggunakan KQL (Bahasa Kueri Kusto) untuk memecahkan masalah, mengoptimalkan performa, melacak pola penggunaan, dan memastikan API Anda memenuhi persyaratan SLA.
Prasyarat
Untuk mengakses dan mengkueri log operasi GraphQL:
- Mengaktifkan pemantauan ruang kerja di ruang kerja Fabric Anda
- Mengakses database Eventhouse KQL yang dibuat untuk ruang kerja Anda
- Memahami Bahasa Kueri Kusto (KQL) untuk mengkueri log
Setelah pemantauan diaktifkan, operasi GraphQL secara otomatis dicatat ke dua tabel: GraphQLMetrics untuk metrik agregat dan GraphQLLog untuk log operasi terperinci.
Siapa yang menggunakan log operasi GraphQL
Log operasi dan pemantauan sangat penting untuk:
- Admin ruang kerja Fabric memantau penggunaan, performa, dan konsumsi kapasitas GraphQL API
- Teknisi data melacak pola akses data dan mengoptimalkan kueri Fabric lakehouse dan gudang
- Tim DevOps memastikan aplikasi produksi yang menggunakan data Fabric memenuhi persyaratan SLA
- Administrator kapasitas fabric memahami metrik konsumsi API untuk perencanaan kapasitas dan manajemen biaya
Gunakan log operasi saat Anda perlu memantau, memecahkan masalah, atau menganalisis performa dan penggunaan API Fabric GraphQL Anda.
Log operasi GraphQL
Peristiwa log untuk setiap kueri yang dijalankan oleh Fabric API untuk GraphQL pada sumber data yang terhubung disimpan dalam dua tabel pelengkap:
- GraphQLMetrics: Berisi data metrik agregat dengan ringkasan butir waktu, ideal untuk pemantauan performa dan analisis tren
- GraphQLLog: Berisi log operasi terperinci dengan teks kueri lengkap dan detail eksekusi, ideal untuk pemecahan masalah kueri tertentu
Gunakan log ini untuk:
- Mengidentifikasi perubahan perilaku dan potensi degradasi API
- Mendeteksi kueri yang tidak biasa atau berat sumber daya
- Mengidentifikasi pengguna dan aplikasi dengan jumlah kueri tertinggi
- Menganalisis performa dan tren kueri
- Memecahkan masalah kueri yang lambat
- Mendiagnosis masalah dengan kueri GraphQL tertentu
Tabel GraphQLMetrics
Tabel GraphQLMetrics menyimpan metrik agregat untuk operasi GraphQL. Gunakan tabel ini untuk pemantauan performa, perencanaan kapasitas, dan identifikasi tren dari waktu ke waktu.
Tabel ini berisi kolom berikut:
| Nama kolom | Tipe | Deskripsi |
|---|---|---|
| Tanda Waktu | tanggalwaktu | Tanda waktu (UTC) ketika entri log dihasilkan ketika rekaman dibuat oleh sumber data. |
| ID Item | string | ID unik dari pengelogan sumber daya data. |
| ItemKind | string | Jenis artefak yang mencatat operasi. |
| ItemName | string | Nama artefak Fabric yang mencatat operasi ini. |
| WorkspaceId | string | Pengidentifikasi unik ruang kerja Fabric yang berisi artefak yang sedang dioperasikan |
| WorkspaceName | string | Nama ruang kerja Fabric yang berisi artefak. |
| CapacityId | string | Pengidentifikasi unik dari kapasitas yang menghosting artefak yang sedang dioperasikan. |
| CustomerTenantId | string | ID Penyewa Pelanggan, tempat operasi dilakukan. |
| PlatformMonitoringTableName | string | Nama tabel ke rekaman milik (atau jenis peristiwa bersertifikat rekaman). Formatnya adalah <WorkloadName> + [OperationType>]+ <TelemetryType> |
| Wilayah | string | Wilayah sumber daya yang memancarkan peristiwa; misalnya, US Timur atau Prancis Selatan. |
| MetricTimeGrain | string | Butir waktu metrik (Durasi ISO 8601). |
| MetricUnitName | string | Unit metrik. |
| MetrikNilaiNilai | long | Nilai jumlah agregat metrik selama satu menit. |
| DatasourceTypes | dinamis | Array jenis DataSource yang digunakan oleh model. |
| ResultCode | string | Kode Kesalahan aktivitas yang gagal, digunakan untuk memperluas penggunaan keandalan. |
| Status | string | Status operasi. Kueri berhasil dijalankan/berhasil dengan kesalahan/gagal. |
Tabel GraphQLLog
Tabel GraphQLLog menyimpan log operasi terperinci untuk setiap eksekusi kueri GraphQL. Gunakan tabel ini untuk memecahkan masalah kueri tertentu, menganalisis teks kueri, dan menyelidiki kesalahan atau masalah performa.
Untuk informasi selengkapnya tentang peristiwa dan penelusuran paling detail peristiwa ExecutionMetrics , lihat Peristiwa dan skema.
Tabel ini berisi kolom berikut:
| Nama kolom | Tipe | Deskripsi |
|---|---|---|
| Tanda Waktu | tanggalwaktu | Tanda waktu (UTC) ketika entri log dihasilkan ketika rekaman dibuat oleh sumber data. |
| OperationName | string | Nama operasi. |
| ID Item | string | ID unik dari pengelogan sumber daya data. |
| ItemKind | string | Jenis artefak yang mencatat operasi. |
| ItemName | string | Nama artefak Fabric yang mencatat operasi ini. |
| WorkspaceId | string | Pengidentifikasi unik ruang kerja Fabric yang berisi artefak yang sedang dioperasikan. |
| WorkspaceName | string | Nama ruang kerja Fabric yang berisi artefak. |
| CapacityId | string | Pengidentifikasi unik dari kapasitas yang menghosting artefak yang sedang dioperasikan. |
| CorrelationId | string | ID Aktivitas Root. |
| OperationId | string | Pengidentifikasi unik untuk operasi yang dicatat. |
| Identitas | dinamis | Detail pengguna dan klaim. Pengguna yang terkait dengan operasi yang sedang dilaporkan. |
| CustomerTenantId | string | ID Penyewa Pelanggan, tempat operasi dilakukan. |
| DurationMs | long | Waktu CPU yang berlalu yang telah berlalu sementara semua operasi yang diperlukan telah diproses. Unit dalam milidetik. |
| Status | string | Status operasi. Kueri berhasil dijalankan/berhasil dengan kesalahan/gagal. |
| Tingkat | string | Metadata diperlukan oleh tim pemantauan platform. |
| Wilayah | string | Wilayah sumber daya yang memancarkan peristiwa; misalnya, US Timur atau Prancis Selatan. |
| PlatformMonitoringTableName | string | Nama tabel ke rekaman milik (atau jenis peristiwa bersertifikat rekaman). Formatnya adalah <WorkloadName> + [OperationType>]+ <TelemetryType> |
| QueryText | string | Teks kueri. |
| GraphQLOverheadDurationMs | long | Overhead GraphQL dalam ms untuk permintaan dataplane. |
| ProcessedBytes | long | Volume data yang diproses dalam byte. |
| TransportProtocol | string | Protokol transportasi untuk permintaan. |
| QueryResultMessage | string | Dimensi ini digunakan untuk memberikan konteks tambahan pada hasil operasi kueri. |
Contoh kueri
Gunakan kueri KQL ini untuk menganalisis log operasi GraphQL Anda. Anda dapat menjalankan kueri ini langsung di editor kueri Eventhouse di dalam ruang kerja Anda.
Menemukan kueri lambat
Identifikasi kueri GraphQL yang membutuhkan waktu lebih dari 5 detik untuk dijalankan:
GraphQLLog
| where DurationMs > 5000
| project Timestamp, ItemName, DurationMs, QueryText, Status, Identity
| order by DurationMs desc
| take 20
Pengguna teratas menurut jumlah kueri
Temukan pengguna atau aplikasi mana yang paling banyak membuat permintaan GraphQL:
GraphQLLog
| summarize QueryCount = count() by Identity
| order by QueryCount desc
| take 10
Analisis tingkat kesalahan
Hitung tingkat kesalahan untuk operasi GraphQL dari waktu ke waktu:
GraphQLLog
| summarize
TotalQueries = count(),
FailedQueries = countif(Status == "failed"),
ErrorRate = (countif(Status == "failed") * 100.0) / count()
by bin(Timestamp, 1h)
| order by Timestamp desc
Sebagian besar kueri intensif sumber daya
Identifikasi kueri yang memproses jumlah data terbesar:
GraphQLLog
| where ProcessedBytes > 0
| project Timestamp, ItemName, ProcessedBytes, QueryText, DurationMs
| order by ProcessedBytes desc
| take 20
Tren performa kueri
Analisis performa kueri rata-rata selama 24 jam terakhir:
GraphQLMetrics
| where Timestamp > ago(24h)
| summarize
AvgDuration = avg(MetricSumValue),
MaxDuration = max(MetricSumValue),
QueryCount = count()
by bin(Timestamp, 1h), ItemName
| order by Timestamp desc
Untuk sampel pemantauan ruang kerja lainnya, kunjungi pemantauan ruang kerja di repositori GitHub sampel Fabric.