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.
hub FinOps mengumpulkan rekomendasi dari beberapa sumber dan memasukkannya ke dalam set data terkelola Recommendations bersama dengan rekomendasi reservasi dari ekspor Cost Management. Rekomendasi bersumber dari Azure Resource Graph menggunakan serangkaian kueri yang dapat dikonfigurasi yang menarik rekomendasi Azure Advisor dan mengidentifikasi berbagai skenario pengoptimalan berdasarkan konfigurasi sumber daya. Kueri dikelola dalam file JSON sederhana di penyimpanan, sehingga memudahkan untuk menambahkan rekomendasi kustom Anda sendiri dengan mengunggah file kueri ke penyimpanan hub.
Prerequisites
Sebelum memulai, Anda harus:
- Telah menyebarkan instans hub FinOps.
- Tetapkan peran Reader kepada identitas terkelola Data Factory pada grup manajemen atau langganan yang ingin Anda kueri. Izin ini harus dikonfigurasi secara terpisah dari penyebaran hub FinOps.
Bagaimana rekomendasi diproses
Alur rekomendasi berjalan setiap hari dan memproses file kueri yang disimpan di folder konfigurasi/kueri di penyimpanan hub:
- Pemicu queries_DailySchedule berjalan sekali per hari.
- Alur queries_ExecuteETL berulang melalui semua file kueri di folder penyimpanan konfigurasi/kueri .
- Pipeline queries_ETL_ingestion menjalankan setiap kueri pada Azure Resource Graph, menghapus duplikasi hasil, dan menyimpan data sebagai parquet di folder ingestion/Recommendations.
- Jika menggunakan Azure Data Explorer, data diserap ke dalam tabel
Recommendations_rawdan diubah menggunakan fungsiRecommendations_transform_v1_2().
Rekomendasi hub dikombinasikan dengan rekomendasi reservasi dari ekspor Cost Management dalam himpunan data terkelola Rekomendasi yang sama. Anda dapat membedakan antara sumber menggunakan x_SourceType kolom .
Rekomendasi bawaan
Hub FinOps menyertakan rekomendasi berikut. Sebagian besar diaktifkan secara default. Rekomendasi opsional dapat menimbulkan gangguan bagi organisasi yang tidak memerlukannya dan dapat diaktifkan saat penerapan melalui parameter templat yang telah ditentukan.
Compute
-
Mesin Virtual
- Batalkan alokasi VM yang dihentikan.
- Migrasikan ke disk terkelola.
- Opsional: Gunakan Azure Hybrid Benefit untuk VM Windows. Diaktifkan melalui
enableAHBRecommendationsopsi .
-
SQL Virtual Machines
- Opsional: Gunakan Azure Hybrid Benefit untuk VM SQL. Diaktifkan melalui
enableAHBRecommendationsopsi .
- Opsional: Gunakan Azure Hybrid Benefit untuk VM SQL. Diaktifkan melalui
-
Azure Kubernetes Service
- Opsional: Gunakan Spot VM untuk kluster AKS. Diaktifkan melalui
enableSpotRecommendationsopsi .
- Opsional: Gunakan Spot VM untuk kluster AKS. Diaktifkan melalui
Database
- Azure SQL Database
Manajemen dan Tata Kelola
- Azure Advisor
Jaringan
- Gerbang Aplikasi
- Perlindungan DDoS
- ExpressRoute
- Penyeimbang Beban
- Gerbang NAT
- Antarmuka Jaringan
- Kelompok Keamanan Jaringan
- Alamat IP Publik
- VPN Gateway
Storage
- Disk Terkelola
- Akun Penyimpanan
Web
- Layanan Aplikasi
Untuk menonaktifkan rekomendasi default tertentu, hapus file kuerinya dari folder konfigurasi/kueri di penyimpanan hub. Alur hanya memproses file kueri yang ada.
Menambahkan rekomendasi kustom
Anda dapat menambahkan rekomendasi kustom dengan mengunggah file kueri ke folder konfigurasi/kueri di penyimpanan hub. Alur mengambil file kueri baru secara otomatis pada eksekusi harian berikutnya.
Konvensi penamaan file
Beri nama file kueri menggunakan {dataset}-{provider}-{type}.json format :
-
Himpunan data — Himpunan data target (misalnya,
Recommendations). -
Provider — Penyedia data layanan adalah untuk (misalnya,
Microsoft,Contoso). -
Jenis — Pengidentifikasi jenis rekomendasi menggunakan PascalCase (misalnya,
StoppedVMs,IdleCosmosDB).
Sebagai contoh: Recommendations-Contoso-IdleCosmosDB.json
Format berkas kueri
Setiap file kueri adalah file JSON dengan properti berikut:
{
"dataset": "Recommendations",
"provider": "Microsoft",
"query": "<Azure Resource Graph query>",
"queryEngine": "ResourceGraph",
"scope": "Tenant",
"source": "<descriptive source name>",
"type": "<unique type identifier>",
"version": "1.0"
}
| Property | Description |
|---|---|
dataset |
Harus berupa "Recommendations" . |
provider |
Nama penyedia (misalnya, "Microsoft"). |
query |
Kueri Azure Resource Graph yang akan dijalankan, dalam satu baris. |
queryEngine |
Harus berupa "ResourceGraph" . |
scope |
Cakupan kueri. Gunakan "Tenant" untuk membuat kueri semua langganan yang dapat diakses oleh identitas terkelola Data Factory dalam tenant. Kueri lintas penyewa tidak didukung tetapi sumber daya yang didelegasikan melalui Azure Lighthouse disertakan dalam kueri cakupan penyewa. |
source |
Nama deskriptif untuk sumber rekomendasi (misalnya, "Azure Advisor" atau "FinOps hubs"). |
type |
Pengidentifikasi terprogram untuk jenis rekomendasi ini.
{provider}-{name} Gunakan format dengan karakter alfanumerik dan tanda hubung saja (misalnya, "Contoso-IdleCosmosDB"). Nilai ini digunakan sebagai bagian dari nama file output. |
version |
Versi skema. Gunakan "1.0". |
Kolom keluaran yang diperlukan
Kueri Anda harus mengembalikan kolom berikut:
| Kolom | Description |
|---|---|
ResourceId |
ID sumber daya (huruf kecil). |
ResourceName |
Nama sumber daya (huruf kecil). |
SubAccountId |
ID Langganan. |
SubAccountName |
Nama langganan. Gabungkan dengan resourcecontainers untuk mengisi bagian ini. |
x_RecommendationCategory |
Kategori rekomendasi. Gunakan "Cost", "HighAvailability", "OperationalExcellence", "Performance", atau "Security". |
x_RecommendationDate |
Tanggal rekomendasi (gunakan now() untuk kueri pada satu titik waktu). |
x_RecommendationDescription |
Deskripsi singkat tentang masalah ini. |
x_RecommendationDetails |
String JSON dengan properti tambahan. Sertakan x_RecommendationProvider, x_RecommendationSolution, x_RecommendationTypeId, dan x_ResourceType bersama dengan properti kustom apa pun khusus untuk rekomendasi. |
x_RecommendationId |
Pengidentifikasi unik untuk rekomendasi (misalnya, ID sumber daya + akhiran). |
x_ResourceGroupName |
Nama grup sumber daya (huruf kecil). |
Tips untuk menulis kueri
Untuk mengisi nama langganan, gabungkan dengan
resourcecontainersdi akhir kueri Anda:| join kind=leftouter ( resourcecontainers | where type == 'microsoft.resources/subscriptions' | project SubAccountName=name, SubAccountId=subscriptionId ) on SubAccountId | project-away SubAccountId1Hasilkan
x_RecommendationIddengan menggabungkan ID sumber daya dengan akhiran deskriptif (misalnya,strcat(tolower(id), '-idle')).Buat
x_RecommendationDetailsmenggunakantostring(bag_pack(...))untuk menghasilkan string JSON. Membungkus dengantostring()diperlukan karena alur data tidak dapat menyerialkan objek dinamis ke Parquet; nilainya harus berupa string. Anda juga dapat menggunakanstrcat()untuk membangun string JSON secara manual, tetapibag_pack()disarankan karena menangani pelepasan secara otomatis.Sertakan
x_RecommendationTypeIdsebagai GUID yang stabil untuk mengidentifikasi jenis rekomendasi secara unik di seluruh eksekusi.
Misalnya, tinjau file kueri bawaan di kode sumber toolkit FinOps.
Berikan umpan balik
Beri tahu kami bagaimana kinerja kami melalui ulasan singkat. Kami menggunakan ulasan ini untuk meningkatkan dan memperluas alat dan sumber daya FinOps.
Jika Anda mencari sesuatu yang spesifik, pilih yang sudah ada atau buat ide baru. Bagikan ide dengan orang lain untuk mendapatkan lebih banyak suara. Kami fokus pada ide-ide dengan suara terbanyak.