Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Gli hub FinOps raccolgono raccomandazioni da più origini e li inseriscono nel set di dati gestito Recommendations insieme alle raccomandazioni per le prenotazioni dalle esportazioni di Gestione costi. Le raccomandazioni vengono generate da Azure Resource Graph usando un set configurabile di query che eseguono il pull di raccomandazioni Azure Advisor e identificano vari scenari di ottimizzazione in base alla configurazione delle risorse. Le query vengono gestite in file JSON semplici nell'archiviazione, semplificando l'aggiunta di raccomandazioni personalizzate caricando i file di query nell'archiviazione hub.
Prerequisiti
Prima di iniziare, è necessario disporre di:
- Implementato un'istanza dell'hub FinOps.
- Assegnare il ruolo Lettore all'identità gestita di Data Factory nei gruppi di gestione o nelle sottoscrizioni che si desidera interrogare. Questa autorizzazione deve essere configurata separatamente dalla distribuzione dell'hub FinOps.
Come vengono elaborate le raccomandazioni
La pipeline di raccomandazioni viene eseguita ogni giorno ed elabora i file di query archiviati nella cartella config/queries nell'archiviazione hub:
- Il trigger queries_DailySchedule viene eseguito una volta al giorno.
- La pipeline queries_ExecuteETL esegue l'iterazione di tutti i file di query nella cartella di archiviazione config/querys .
- La pipeline queries_ETL_ingestion esegue ogni query su Azure Resource Graph, rimuove i duplicati dai risultati e salva i dati in formato parquet nella cartella ingestion/Recommendations.
- Se si usa Esplora dati di Azure, i dati vengono inseriti nella tabella
Recommendations_rawe trasformati usando la funzioneRecommendations_transform_v1_2().
Le raccomandazioni relative agli hub vengono combinate con le raccomandazioni sulle prenotazioni dalle esportazioni di Cost Management nello stesso set di dati gestito Recommendations. È possibile distinguere tra le origini usando la x_SourceType colonna .
Raccomandazioni predefinite
Gli hub FinOps includono le raccomandazioni seguenti. La maggior parte delle opzioni è abilitata per impostazione predefinita. Le raccomandazioni facoltative possono generare problemi per le organizzazioni in cui non si applicano e possono essere abilitate durante la distribuzione tramite il parametro di modello specificato.
Compute
-
Macchine virtuali
- Deallocare le macchine virtuali arrestate.
- Eseguire la migrazione ai dischi gestiti.
- Facoltativo: Usare Vantaggio Azure Hybrid per le macchine virtuali Windows. Abilitata tramite l'opzione
enableAHBRecommendations.
-
SQL Macchine virtuali
- Facoltativo: Usare Vantaggio Azure Hybrid per le macchine virtuali SQL. Abilitata tramite l'opzione
enableAHBRecommendations.
- Facoltativo: Usare Vantaggio Azure Hybrid per le macchine virtuali SQL. Abilitata tramite l'opzione
-
Servizio Azure Kubernetes
- Facoltativo: Usare VM Spot per i cluster AKS. Abilitata tramite l'opzione
enableSpotRecommendations.
- Facoltativo: Usare VM Spot per i cluster AKS. Abilitata tramite l'opzione
Databases
- Database SQL di Azure
Gestione e governance
- Azure Advisor
Rete
- Gateway dell'applicazione
- Protezione DDoS
- ExpressRoute
- Bilanciamento del carico
- Gateway NAT
- Interfacce di rete
- Gruppi di sicurezza di rete
- Indirizzi IP pubblici
- Gateway VPN
Archiviazione
- Managed Disks
- Account di archiviazione
Rete Internet
- Servizio app
Per disabilitare una raccomandazione predefinita specifica, eliminare il file di query dalla cartella config/queries nell'archiviazione hub. La pipeline elabora solo i file di query effettivamente presenti.
Aggiungere raccomandazioni personalizzate
È possibile aggiungere raccomandazioni personalizzate caricando i file di query nella cartella config/queries nell'archiviazione hub. La pipeline rileva automaticamente i nuovi file di query alla successiva esecuzione giornaliera.
Convenzione di denominazione dei file
Assegnare un nome ai file di query usando il {dataset}-{provider}-{type}.json formato :
-
Set di dati : set di dati di destinazione (ad esempio,
Recommendations). -
Provider : il provider dei dati del servizio è per (ad esempio,
Microsoft,Contoso). -
Type : identificatore del tipo di raccomandazione che usa PascalCase (ad esempio,
StoppedVMs,IdleCosmosDB).
Ad esempio: Recommendations-Contoso-IdleCosmosDB.json
Formato di file di query
Ogni file di query è un file JSON con le proprietà seguenti:
{
"dataset": "Recommendations",
"provider": "Microsoft",
"query": "<Azure Resource Graph query>",
"queryEngine": "ResourceGraph",
"scope": "Tenant",
"source": "<descriptive source name>",
"type": "<unique type identifier>",
"version": "1.0"
}
| Proprietà | Description |
|---|---|
dataset |
Deve essere "Recommendations". |
provider |
Nome provider (ad esempio, "Microsoft"). |
query |
La query di Azure Resource Graph da eseguire, in un'unica riga. |
queryEngine |
Deve essere "ResourceGraph". |
scope |
Ambito della query. Usare "Tenant" per eseguire query su tutte le sottoscrizioni a cui l'identità gestita di Data Factory ha accesso all'interno del tenant. Le query tra tenant non sono supportate, ma le risorse delegate tramite Azure Lighthouse sono incluse nelle query con ambito a livello di tenant. |
source |
Nome descrittivo per l'origine della raccomandazione( ad esempio, "Azure Advisor" o "FinOps hubs"). |
type |
Identificatore programmatico per questo tipo di raccomandazione. Usare un {provider}-{name} formato con caratteri alfanumerici e trattini solo (ad esempio, "Contoso-IdleCosmosDB"). Questo valore viene usato come parte del nome del file di output. |
version |
Versione dello schema. Utilizzare il "1.0". |
Colonne di output necessarie
La query deve restituire le colonne seguenti:
| colonna | Description |
|---|---|
ResourceId |
ID della risorsa (in minuscolo). |
ResourceName |
Nome della risorsa (minuscolo). |
SubAccountId |
ID della sottoscrizione. |
SubAccountName |
nome della sottoscrizione. Esegui un join con resourcecontainers per popolare questo campo. |
x_RecommendationCategory |
Categoria di raccomandazione. Usare "Cost", "HighAvailability", "OperationalExcellence", "Performance"o "Security". |
x_RecommendationDate |
Data di raccomandazione (usare now() per le query point-in-time). |
x_RecommendationDescription |
Breve descrizione del problema. |
x_RecommendationDetails |
Stringa JSON con proprietà aggiuntive. Includere x_RecommendationProvider, x_RecommendationSolution, x_RecommendationTypeIde x_ResourceType insieme a tutte le proprietà personalizzate specifiche della raccomandazione. |
x_RecommendationId |
Identificatore univoco per la raccomandazione (ad esempio, ID risorsa e suffisso). |
x_ResourceGroupName |
Nome del gruppo di risorse (in minuscolo). |
Suggerimenti per la scrittura di query
Per compilare il nome dell'abbonamento, aggiungi
resourcecontainersalla fine della query:| join kind=leftouter ( resourcecontainers | where type == 'microsoft.resources/subscriptions' | project SubAccountName=name, SubAccountId=subscriptionId ) on SubAccountId | project-away SubAccountId1Generare
x_RecommendationIdcombinando l'ID risorsa con un suffisso descrittivo , ad esempiostrcat(tolower(id), '-idle').Compilare
x_RecommendationDetailsusandotostring(bag_pack(...))per produrre una stringa JSON. Il racchiudimento intostring()è necessario perché la pipeline dati non può serializzare oggetti dinamici nel formato Parquet; il valore deve essere una stringa. È anche possibile usarestrcat()per compilare manualmente una stringa JSON, mabag_pack()è consigliabile perché gestisce automaticamente l'escape.Includere
x_RecommendationTypeIdcome GUID stabile per identificare in modo univoco il tipo di raccomandazione tra le esecuzioni.
Per esempi, esaminare i file di query predefiniti nel codice sorgente FinOps Toolkit.
Invia feedback
Facci sapere come ci trovi con una breve recensione. Queste revisioni vengono usate per migliorare ed espandere strumenti e risorse FinOps.
Se si sta cercando qualcosa di specifico, votare per un'idea esistente o crearne una nuova. Condividere idee con altri utenti per ottenere più voti. Ci concentriamo sulle idee con il maggior numero di voti.
Contenuti correlati
- Set di dati gestito di raccomandazioni
- Come vengono elaborati i dati negli hub FinOps
- Libreria delle procedure consigliate