Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
FinOps-hubs verzamelen aanbevelingen uit meerdere bronnen en nemen deze op in de beheerde gegevensset Recommendations, samen met reserveringsaanbevelingen uit Cost Management-exports. Aanbevelingen worden afkomstig uit Azure Resource Graph met behulp van een configureerbare set query's die Azure Advisor aanbevelingen ophalen en verschillende optimalisatiescenario's identificeren op basis van resourceconfiguratie. Query's worden beheerd in eenvoudige JSON-bestanden in de opslag, waardoor u eenvoudig uw eigen aangepaste aanbevelingen kunt toevoegen door querybestanden te uploaden naar hubopslag.
Prerequisites
Voordat u begint, moet u het volgende hebben:
- Een FinOps Hub-exemplaar geïmplementeerd.
- Wijs de rol Lezer toe aan de beheerde identiteit van Data Factory voor de beheergroepen of abonnementen die u wilt opvragen. Deze machtiging moet afzonderlijk van de FinOps-hubimplementatie worden geconfigureerd.
Hoe aanbevelingen worden verwerkt
De pijplijn voor aanbevelingen wordt dagelijks uitgevoerd en verwerkt querybestanden die zijn opgeslagen in de map config/queries in de hubopslag:
- De queries_DailySchedule-trigger wordt één keer per dag uitgevoerd.
- De queries_ExecuteETL pipeline doorloopt alle querybestanden in de opslagmap config/queries.
- De pijplijn queries_ETL_ingestion voert elke query uit op Azure Resource Graph, ontdubbelt resultaten en slaat gegevens op als parquet in de map ingestion/Recommendations.
- Als u Azure Data Explorer gebruikt, worden gegevens opgenomen in de tabel
Recommendations_rawen getransformeerd met behulp van de functieRecommendations_transform_v1_2().
Hubs-aanbevelingen worden gecombineerd met reserveringsaanbevelingen uit Cost Management-exports in dezelfde dataset met beheerde aanbevelingen. U kunt onderscheid maken tussen bronnen met behulp van de x_SourceType kolom.
Ingebouwde aanbevelingen
FinOps-hubs bevatten de volgende aanbevelingen. De meeste zijn standaard ingeschakeld. Optionele aanbevelingen kunnen ruis genereren voor organisaties waarvoor ze niet van toepassing zijn en kunnen worden ingeschakeld tijdens de implementatie via de opgegeven sjabloonparameter.
Compute
-
Virtual Machines
- Toewijzing van gestopte VM's ongedaan maken.
- Migreren naar beheerde schijven.
- Optioneel: Gebruik Azure Hybrid Benefit voor Windows VM's. Ingeschakeld via de
enableAHBRecommendationsoptie.
-
SQL-Virtual Machines
- Optioneel: Use Azure Hybrid Benefit voor SQL-VM's. Ingeschakeld via de
enableAHBRecommendationsoptie.
- Optioneel: Use Azure Hybrid Benefit voor SQL-VM's. Ingeschakeld via de
-
Azure Kubernetes Service
- Optioneel: Spot-VM's gebruiken voor AKS-clusters. Ingeschakeld via de
enableSpotRecommendationsoptie.
- Optioneel: Spot-VM's gebruiken voor AKS-clusters. Ingeschakeld via de
Databases
- Azure SQL Database
Beheer en bestuur
- Azure Advisor
Netwerken
- Application Gateway
- DDoS-beveiliging
- ExpressRoute
- Load Balancer
- NAT-gateway
- Netwerkinterfaces
- Netwerkbeveiligingsgroepen
- Openbare IP-adressen
- VPN-toegangspoort
Storage
- Beheerde schijven
- Opslagaccounts
Web
- App Service
Om een specifieke standaaraanbeveling uit te schakelen, verwijdert u het bijbehorende querybestand uit de map config/queries in de hubopslag. De pijplijn verwerkt alleen querybestanden die aanwezig zijn.
Aangepaste aanbevelingen toevoegen
U kunt aangepaste aanbevelingen toevoegen door querybestanden te uploaden naar de map configuratie/query's in hubopslag. De pijplijn haalt automatisch nieuwe querybestanden op bij de volgende dagelijkse uitvoering.
Naamgevingsconventie voor bestanden
Geef querybestanden een naam met behulp van de {dataset}-{provider}-{type}.json indeling:
-
Gegevensset : de doelgegevensset (bijvoorbeeld
Recommendations). -
Provider — De provider van de servicegegevens is bijvoorbeeld voor (bijvoorbeeld
Microsoft,Contoso). -
Type — de id van het aanbevelingstype met PascalCase (bijvoorbeeld
StoppedVMs,IdleCosmosDB).
Bijvoorbeeld: Recommendations-Contoso-IdleCosmosDB.json
Querybestandsindeling
Elk querybestand is een JSON-bestand met de volgende eigenschappen:
{
"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 |
Moet "Recommendations"zijn. |
provider |
Providernaam (bijvoorbeeld "Microsoft"). |
query |
De Azure Resource Graph query die moet worden uitgevoerd, op één regel. |
queryEngine |
Moet "ResourceGraph"zijn. |
scope |
Zoekbereik. Gebruik "Tenant" dit om query's uit te voeren op alle abonnementen waar de beheerde Identiteit van Data Factory toegang toe heeft binnen de tenant. Tenantoverschrijdende query's worden niet ondersteund, maar resources die via Azure Lighthouse zijn gedelegeerd, worden meegenomen in query's met tenantbereik. |
source |
Beschrijvende naam voor de aanbevelingsbron (bijvoorbeeld "Azure Advisor" of "FinOps hubs"). |
type |
Programmeerbare identifier voor dit aanbevelingstype. Gebruik een {provider}-{name} notatie met alleen alfanumerieke tekens en afbreekstreepjes (bijvoorbeeld "Contoso-IdleCosmosDB"). Deze waarde wordt gebruikt als onderdeel van de naam van het uitvoerbestand. |
version |
Schemaversie. Gebruik "1.0". |
Vereiste uitvoerkolommen
Uw query moet de volgende kolommen retourneren:
| Kolom | Description |
|---|---|
ResourceId |
Resource-id (kleine letter). |
ResourceName |
Resourcenaam (kleine letter). |
SubAccountId |
Abonnements-id. |
SubAccountName |
Abonnementsnaam.
resourcecontainers Neem deel om dit te vullen. |
x_RecommendationCategory |
Aanbevelingscategorie. Gebruik "Cost", "HighAvailability", , "OperationalExcellence", of "Performance""Security". |
x_RecommendationDate |
Aanbevelingsdatum (gebruik now() voor punt-in-time-query's). |
x_RecommendationDescription |
Korte beschrijving van het probleem. |
x_RecommendationDetails |
JSON-tekenreeks met extra eigenschappen. Neem x_RecommendationProvider, x_RecommendationSolution, en x_RecommendationTypeIdx_ResourceType samen met eventuele aangepaste eigenschappen op die specifiek zijn voor de aanbeveling. |
x_RecommendationId |
Unieke id voor de aanbeveling (bijvoorbeeld resource-id en achtervoegsel). |
x_ResourceGroupName |
Naam van de resourcegroep (in kleine letters). |
Tips voor het schrijven van query's
Om de abonnementsnaam in te vullen, voegt u
resourcecontainerstoe aan het einde van uw query:| join kind=leftouter ( resourcecontainers | where type == 'microsoft.resources/subscriptions' | project SubAccountName=name, SubAccountId=subscriptionId ) on SubAccountId | project-away SubAccountId1Genereer
x_RecommendationIddoor de resource-id te combineren met een beschrijvend achtervoegsel (bijvoorbeeldstrcat(tolower(id), '-idle')).Bouw
x_RecommendationDetailsmettostring(bag_pack(...))om een JSON-string te produceren. Verpakken mettostring()is vereist omdat de gegevenspijplijn dynamische objecten niet kan serialiseren naar Parquet. De waarde moet een tekenreeks zijn. U kunt ookstrcat()gebruiken om handmatig een JSON-string samen te stellen, maarbag_pack()wordt aanbevolen omdat deze escaping automatisch afhandelt.Neem
x_RecommendationTypeIdop als een stabiele GUID om het type aanbeveling tussen uitvoeringen uniek te identificeren.
Bekijk voor voorbeelden de ingebouwde querybestanden in de broncode van de FinOps-toolkit.
Feedback geven
Laat ons weten hoe we het doen met een korte recensie. We gebruiken deze beoordelingen om FinOps-hulpprogramma's en -resources te verbeteren en uit te breiden.
Als u op zoek bent naar iets specifieks, stem dan op een bestaande of maak een nieuw idee. Deel ideeën met anderen om meer stemmen te krijgen. We richten ons op ideeën met de meeste stemmen.
Verwante inhoud
- Aanbevelingen voor beheerde gegevensset
- Hoe gegevens worden verwerkt in FinOps-hubs
- Bibliotheek met aanbevolen procedures