Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os hubs FinOps recolhem recomendações de múltiplas fontes e integram-nas no conjunto de dados gerido por Recomendações , juntamente com recomendações de reservas provenientes das exportações de Gestão de Custos. As recomendações são obtidas do Azure Resource Graph, utilizando um conjunto configurável de consultas que recolhem recomendações do Assistente do Azure e identificam vários cenários de otimização com base na configuração dos recursos. As consultas são geridas em ficheiros JSON simples no armazenamento, facilitando adicionar as suas próprias recomendações personalizadas ao carregar os ficheiros de consulta para o armazenamento central.
Pré-requisitos
Antes de começar, você deve ter:
- Implantada uma instância de hub FinOps.
- Atribua a função Leitor à identidade gerida do Data Factory nos grupos de gestão ou subscrições que pretende consultar. Esta permissão deve ser configurada separadamente da implementação do hub FinOps.
Como são processadas as recomendações
O pipeline de recomendações corre diariamente e processa ficheiros de consulta armazenados na pasta config/queries no armazenamento do hub:
- O acionador queries_DailySchedule é executado uma vez por dia.
- O pipeline queries_ExecuteETL percorre todos os ficheiros de consulta na pasta de armazenamento config/queries.
- O pipeline queries_ETL_ingestion executa cada consulta no Azure Resource Graph, elimina duplicados dos resultados e guarda os dados no formato parquet na pasta ingestion/Recommendations.
- Se usar Azure Data Explorer, os dados são ingeridos na tabela
Recommendations_rawe transformados usando a funçãoRecommendations_transform_v1_2().
As recomendações dos hubs são combinadas com recomendações de reservas das exportações de Gestão de Custos no mesmo conjunto de dados gerido por Recomendações. Pode distinguir entre fontes usando a x_SourceType coluna.
Recomendações incorporadas
Os hubs FinOps incluem as seguintes recomendações. A maioria está ativada por defeito. Recomendações opcionais podem gerar ruído para organizações onde não se aplicam e podem ser ativadas durante a implementação através do parâmetro modelo especificado.
Computação
-
Máquinas Virtuais
- Desaloque as VMs paradas.
- Migrar para discos geridos.
- Opcional: Utilizar o Benefício Híbrido do Azure para VMs do Windows. Ativado através da
enableAHBRecommendationsopção.
-
SQL Máquinas Virtuais
- Opcional: Utilize o Benefício Híbrido do Azure para VMs do SQL. Ativado através da
enableAHBRecommendationsopção.
- Opcional: Utilize o Benefício Híbrido do Azure para VMs do SQL. Ativado através da
-
Serviço Kubernetes do Azure
- Opcional: Utilize VMs Spot em clusters do AKS. Ativado através da
enableSpotRecommendationsopção.
- Opcional: Utilize VMs Spot em clusters do AKS. Ativado através da
Databases
- Base de Dados SQL do Azure
Gestão e Governação
- Assistente do Azure
Rede
- Gateway de aplicações
- Proteção contra DDoS
- ExpressRoute
- Balanceador de carga
- NAT Gateway
- Interfaces de Rede
- Grupos de Segurança de Rede
- Endereços IP públicos
- Gateway de VPN
Armazenamento
- Discos gerenciados
- Contas de armazenamento
Web
- Serviço de Aplicações
Para desativar uma recomendação padrão específica, apague o ficheiro de consulta da pasta config/queries no armazenamento do hub. O pipeline processa apenas os ficheiros de consulta existentes.
Adicione recomendações personalizadas
Pode adicionar recomendações personalizadas carregando ficheiros de consulta para a pasta config/queries no armazenamento do hub. O pipeline deteta automaticamente novos ficheiros de consulta na execução diária seguinte.
Convenção de nomenclatura de arquivos
Atribua nomes aos ficheiros de consulta utilizando o formato {dataset}-{provider}-{type}.json:
-
Conjunto de dados — O conjunto de dados alvo (por exemplo,
Recommendations). -
Fornecedor — O fornecedor de onde provêm os dados do serviço (por exemplo,
Microsoft,Contoso). -
Tipo — O identificador de tipo de recomendação usando PascalCase (por exemplo,
StoppedVMs,IdleCosmosDB).
Por exemplo: Recommendations-Contoso-IdleCosmosDB.json
Formato de ficheiro de consulta
Cada ficheiro de consulta é um ficheiro JSON com as seguintes propriedades:
{
"dataset": "Recommendations",
"provider": "Microsoft",
"query": "<Azure Resource Graph query>",
"queryEngine": "ResourceGraph",
"scope": "Tenant",
"source": "<descriptive source name>",
"type": "<unique type identifier>",
"version": "1.0"
}
| Propriedade | Description |
|---|---|
dataset |
Deve ser "Recommendations". |
provider |
Nome do fornecedor (por exemplo, "Microsoft"). |
query |
A consulta do Azure Resource Graph a executar, numa única linha. |
queryEngine |
Deve ser "ResourceGraph". |
scope |
Âmbito da consulta. Use "Tenant" para consultar todas as subscrições a que a identidade gerida pela Data Factory tem acesso dentro do tenant. As consultas entre locatários não são suportadas, mas os recursos delegados através do Azure Lighthouse são incluídos nas consultas ao nível do locatário. |
source |
Nome descritivo para a fonte da recomendação (por exemplo, "Assistente do Azure" ou "FinOps hubs"). |
type |
Identificador programático para este tipo de recomendação. Use um {provider}-{name} formato apenas com caracteres alfanuméricos e hífens (por exemplo, "Contoso-IdleCosmosDB"). Este valor é usado como parte do nome do ficheiro de saída. |
version |
Versão do esquema. Utilize "1.0". |
Colunas de saída obrigatórias
A sua consulta deve devolver as seguintes colunas:
| Coluna | Description |
|---|---|
ResourceId |
Identificador do recurso (em minúsculas). |
ResourceName |
Nome do recurso (minúscula). |
SubAccountId |
ID da Subscrição. |
SubAccountName |
Nome da subscrição. Associe-se a resourcecontainers para preencher isto. |
x_RecommendationCategory |
Categoria de recomendação. Use "Cost", "HighAvailability", "OperationalExcellence", "Performance", ou "Security". |
x_RecommendationDate |
Data de recomendação (usar now() para consultas num ponto no tempo). |
x_RecommendationDescription |
Breve descrição do problema. |
x_RecommendationDetails |
String JSON com propriedades adicionais. Inclua x_RecommendationProvider, x_RecommendationSolution, x_RecommendationTypeId, e x_ResourceType juntamente com quaisquer propriedades personalizadas específicas da recomendação. |
x_RecommendationId |
Identificador único para a recomendação (por exemplo, ID de recurso + sufixo). |
x_ResourceGroupName |
Nome do grupo de recursos (minúscula). |
Dicas para escrever consultas
Para preencher o nome da subscrição, junte
resourcecontainersno final da sua consulta:| join kind=leftouter ( resourcecontainers | where type == 'microsoft.resources/subscriptions' | project SubAccountName=name, SubAccountId=subscriptionId ) on SubAccountId | project-away SubAccountId1Gerar
x_RecommendationIdcombinando o ID do recurso com um sufixo descritivo (por exemplo,strcat(tolower(id), '-idle')).Construa
x_RecommendationDetailsutilizandotostring(bag_pack(...))para produzir uma cadeia JSON. O encapsulamento comtostring()é necessário porque o pipeline de dados não consegue serializar objetos dinâmicos para Parquet; o valor tem de ser uma string. Também podes usarstrcat()para construir uma string JSON manualmente, masbag_pack()é recomendado porque gere o escape automaticamente.Inclua
x_RecommendationTypeIdcomo um GUID estável para identificar de forma única o tipo de recomendação entre execuções.
Para exemplos, reveja os ficheiros de consulta incorporados no código-fonte do toolkit FinOps.
Enviar comentários
Informe-nos sobre o nosso desempenho com uma avaliação rápida. Usamos essas análises para melhorar e expandir as ferramentas e os recursos do FinOps.
Se você está procurando algo específico, vote em uma ideia existente ou crie uma nova. Partilhe ideias com outras pessoas para obter mais votos. Focamo-nos nas ideias mais votadas.
Conteúdo relacionado
- Conjunto de dados gerido de recomendações
- Como os dados são processados nos hubs FinOps
- Biblioteca de Boas Práticas