Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
FinOps merkezleri, birden çok kaynaktan öneriler toplar ve bunları Cost Management dışa aktarımlarından gelen rezervasyon önerileriyle birlikte Öneriler yönetilen veri kümesine aktarır. Öneriler, Azure Danışmanı önerileri çeken ve kaynak yapılandırmasına dayalı çeşitli iyileştirme senaryolarını tanımlayan yapılandırılabilir bir sorgu kümesi kullanılarak Azure Kaynak Grafı kaynaktan alınır. Sorgular, depolamadaki basit JSON dosyalarında yönetilir ve bu da sorgu dosyalarını hub depolamaya yükleyerek kendi özel önerilerinizi eklemeyi kolaylaştırır.
Prerequisites
Başlamadan önce şunları yapmanız gerekir:
- Bir FinOps hub örneğidağıtıldı.
- Sorgulamak istediğiniz yönetim grupları veya abonelikler üzerinde Data Factory’nin yönetilen kimliğine Okuyucu rolünü atayın. Bu izin, FinOps hub dağıtımından ayrı olarak yapılandırılmalıdır.
Öneriler nasıl işlenir?
Öneriler işlem hattı günlük olarak çalışır ve hub depolama alanında yapılandırma/sorgular klasöründe depolanan sorgu dosyalarını işler:
- queries_DailySchedule tetikleyicisi günde bir kez çalışır.
- queries_ExecuteETL işlem hattı, yapılandırma/sorgu depolama klasöründeki tüm sorgu dosyalarında yinelenir.
- queries_ETL_ingestion işlem hattı, her sorguyu Azure Kaynak Grafı’ta çalıştırır, sonuçlardaki yinelenen kayıtları kaldırır ve verileri ingestion/Recommendations klasörüne Parquet biçiminde kaydeder.
- Azure Veri Gezgini kullanılıyorsa veriler
Recommendations_rawtablosuna alınır veRecommendations_transform_v1_2()işlevi kullanılarak dönüştürülür.
Hubs önerileri, Maliyet Yönetimi dışarı aktarmalarından alınan rezervasyon önerileriyle aynı Öneriler yönetilen veri kümesinde birleştirilir. Sütunu kullanarak x_SourceType kaynaklar arasında ayrım yapabilirsiniz.
Yerleşik öneriler
FinOps hub'ları aşağıdaki önerileri içerir. Çoğu varsayılan olarak etkindir. İsteğe bağlı öneriler, uygulamadıkları kuruluşlar için kirlilik oluşturabilir ve belirtilen şablon parametresi aracılığıyla dağıtım sırasında etkinleştirilebilir.
Compute
-
Sanal Makineler
- Durdurulmuş VM’lerin kaynak atamasını kaldır.
- Yönetilen disklere geçiş.
- İsteğe bağlı: Windows VM'ler için Azure Hibrit Avantajı kullanın.
enableAHBRecommendationsseçeneği aracılığıyla etkinleştirilir.
-
SQL Sanal Makineler
- İsteğe bağlı: SQL VM'leri için Azure Hibrit Avantajı kullanın.
enableAHBRecommendationsseçeneği aracılığıyla etkinleştirilir.
- İsteğe bağlı: SQL VM'leri için Azure Hibrit Avantajı kullanın.
-
Azure Kubernetes Hizmeti
- İsteğe bağlı: AKS kümeleri için Spot VM'leri kullanın.
enableSpotRecommendationsseçeneği aracılığıyla etkinleştirilir.
- İsteğe bağlı: AKS kümeleri için Spot VM'leri kullanın.
Databases
- Azure SQL Veritabanı
Yönetim ve İdare
- Azure Danışmanı
Ağ
- Uygulama Ağ Geçidi
- DDoS Koruması
- ExpressRoute
- Yük Dengeleyici
- NAT Ağ Geçidi
- Ağ Arayüzleri
- Ağ Güvenlik Grupları
- Genel IP Adresleri
- VPN Gateway
Depolama
- Yönetilen Diskler
- Depolama Hesapları
İnternet
- App Service
Belirli bir varsayılan öneriyi devre dışı bırakmak için sorgu dosyasını hub depolamadaki config/queries klasöründen silin. İşlem hattı yalnızca mevcut olan sorgu dosyalarını işler.
Özel öneriler ekleme
Sorgu dosyalarını hub depolamadaki config/queries klasörüne yükleyerek özel öneriler ekleyebilirsiniz. İşlem hattı, bir sonraki günlük çalıştırmada yeni sorgu dosyalarını otomatik olarak işleme alır.
Dosya adlandırma kuralı
Sorgu dosyalarını şu biçimi kullanarak adlandırın {dataset}-{provider}-{type}.json :
-
Veri kümesi — Hedef veri kümesi (örneğin,
Recommendations). -
Provider — Hizmet verilerinin sağlayıcısı içindir (örneğin,
Microsoft,Contoso). -
Type — PascalCase kullanan öneri türü tanımlayıcısı (örneğin, ,
StoppedVMsIdleCosmosDB).
Örneğin: Recommendations-Contoso-IdleCosmosDB.json
Sorgu dosyası biçimi
Her sorgu dosyası, aşağıdaki özelliklere sahip bir JSON dosyasıdır:
{
"dataset": "Recommendations",
"provider": "Microsoft",
"query": "<Azure Resource Graph query>",
"queryEngine": "ResourceGraph",
"scope": "Tenant",
"source": "<descriptive source name>",
"type": "<unique type identifier>",
"version": "1.0"
}
| Mülkiyet | Description |
|---|---|
dataset |
olmalıdır "Recommendations". |
provider |
Sağlayıcı adı (örneğin, "Microsoft"). |
query |
Tek bir satırda yürütülecek Azure Kaynak Grafı sorgusu. |
queryEngine |
olmalıdır "ResourceGraph". |
scope |
Sorgu kapsamı. Kiracı içindeki, Data Factory yönetilen kimliğinin erişebildiği tüm abonelikleri sorgulamak için "Tenant" kullanın. Kiracılar arası sorgu desteklenmiyor, ancak Azure Lighthouse aracılığıyla yetkilendirilen kaynaklar kiracı kapsamındaki sorgulara dahil edilir. |
source |
Öneri kaynağı için açıklayıcı ad (örneğin, "Azure Danışmanı" veya "FinOps hubs"). |
type |
Bu öneri türü için programlı tanımlayıcı. Yalnızca alfasayısal karakter ve kısa çizgi içeren bir {provider}-{name} biçim kullanın (örneğin, "Contoso-IdleCosmosDB"). Bu değer, çıkış dosyası adının bir parçası olarak kullanılır. |
version |
Şema sürümü.
"1.0" adresini kullanın. |
Gerekli çıkış sütunları
Sorgunuz aşağıdaki sütunları döndürmelidir:
| Column | Description |
|---|---|
ResourceId |
Kaynak kimliği (küçük harflerle). |
ResourceName |
Kaynak adı (küçük harf). |
SubAccountId |
Abonelik kimliği. |
SubAccountName |
Abonelik adı. Bunu doldurmak için resourcecontainers ile katılın. |
x_RecommendationCategory |
Öneri kategorisi.
"Cost", "HighAvailability", "OperationalExcellence", "Performance" veya "Security" kullanın. |
x_RecommendationDate |
Öneri tarihi (belirli bir zamandaki sorgular için now() kullanın). |
x_RecommendationDescription |
Sorunun kısa açıklaması. |
x_RecommendationDetails |
Ek özelliklere sahip JSON dizesi. Öneriye özgü özel özelliklerle birlikte x_RecommendationProvider, x_RecommendationSolution, x_RecommendationTypeId ve x_ResourceType ekleyin. |
x_RecommendationId |
Önerinin benzersiz tanımlayıcısı (örneğin, kaynak kimliği + sonek). |
x_ResourceGroupName |
Kaynak grubu adı (küçük harf). |
Sorgu yazma ipuçları
Abonelik adını doldurmak için sorgunuzun sonunda
resourcecontainersile birleştirin:| join kind=leftouter ( resourcecontainers | where type == 'microsoft.resources/subscriptions' | project SubAccountName=name, SubAccountId=subscriptionId ) on SubAccountId | project-away SubAccountId1x_RecommendationIdoluşturmak için kaynak kimliğini açıklayıcı bir son ekle birleştirin (örneğin,strcat(tolower(id), '-idle')).Bir JSON dizesi üretmek için
tostring(bag_pack(...))kullanarakx_RecommendationDetailsoluşturun.tostring()ile sarmalama gereklidir çünkü veri işlem hattı dinamik nesneleri Parquet biçimine serileştiremez; değer bir dize olmalıdır. JSON dizesini el ile oluşturmak için de kullanabilirsinizstrcat(), ancakbag_pack()kaçışı otomatik olarak işlediğinden önerilir.x_RecommendationTypeIdöğesini, öneri türünü çalıştırmalar arasında benzersiz olarak tanımlamak için sabit bir GUID olarak ekleyin.
Örnekler için FinOps araç seti kaynak kodu yerleşik sorgu dosyalarını gözden geçirin.
Görüş bildirin
Hızlı bir incelemeyle nasıl olduğumuzu bize bildirin. Bu incelemeleri FinOps araçlarını ve kaynaklarını geliştirmek ve genişletmek için kullanırız.
Belirli bir şey arıyorsanız mevcut bir fikir için oy verin veya yeni bir fikir oluşturun. Daha fazla oy almak için başkalarıyla fikir paylaşın. En çok oyu alan fikirlere odaklanıyoruz.
İlgili içerik
- Öneriler tarafından yönetilen veri kümesi
- Veriler FinOps hub'larında nasıl işlenir?
- En iyi yöntemler kitaplığı