Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os hubs FinOps coletam recomendações de várias fontes e as ingerem no conjunto de dados gerenciado de Recomendações , juntamente com as recomendações de reserva das exportações de Gerenciamento de Custos. As recomendações são obtidas do Azure Resource Graph usando um conjunto configurável de consultas que recuperam recomendações do Assistente do Azure e identificam diversos cenários de otimização com base na configuração dos recursos. As consultas são gerenciadas em arquivos JSON simples no armazenamento, facilitando a adição de suas próprias recomendações personalizadas carregando arquivos de consulta no armazenamento do hub.
Pré-requisitos
Antes de começar, você precisa ter:
- Implantou uma instância do hub FinOps.
- Atribuiu a função Leitor à identidade gerenciada do Data Factory nos grupos de gerenciamento ou assinaturas que você deseja consultar. Essa permissão deve ser configurada separadamente da implantação do hub FinOps.
Como as recomendações são processadas
O pipeline de recomendações é executado diariamente e processa arquivos de consulta armazenados na pasta de configuração/consultas no armazenamento do hub:
- O acionador queries_DailySchedule é executado uma vez por dia.
- O pipeline queries_ExecuteETL percorre todos os arquivos de consulta na pasta de armazenamento config/queries.
- O pipeline queries_ETL_ingestion executa cada consulta no Azure Resource Graph, remove resultados duplicados e salva os dados em formato parquet na pasta ingestion/Recommendations.
- Se estiver usando Azure Data Explorer, os dados serão ingeridos na tabela
Recommendations_rawe transformados usando a funçãoRecommendations_transform_v1_2().
As recomendações de Hubs são combinadas com as recomendações de reserva das exportações do Gerenciamento de Custos no mesmo conjunto de dados gerenciado Recommendations. Você pode distinguir entre fontes usando a x_SourceType coluna.
Recomendações integradas
Os hubs FinOps incluem as recomendações a seguir. A maioria está habilitada por padrão. Recomendações opcionais podem gerar ruído para organizações em que elas não se aplicam e podem ser habilitadas durante a implantação por meio do parâmetro de modelo especificado.
Computação
-
Máquinas virtuais
- Desalocar VMs paradas.
- Migrar para discos gerenciados.
- Opcional: Use o Benefício Híbrido do Azure para VMs do Windows. Habilitado por meio da opção
enableAHBRecommendations.
-
SQL Máquinas Virtuais
- Opcional: Use o Benefício Híbrido do Azure para VMs do SQL. Habilitado por meio da opção
enableAHBRecommendations.
- Opcional: Use o Benefício Híbrido do Azure para VMs do SQL. Habilitado por meio da opção
-
Serviço de Kubernetes do Azure
- Opcional: Use VMs Spot para clusters do AKS. Habilitado por meio da opção
enableSpotRecommendations.
- Opcional: Use VMs Spot para clusters do AKS. Habilitado por meio da opção
Databases
- Banco de Dados SQL do Azure
Gerenciamento e Governança
- Assistente do Azure
Rede
- Gateway de Aplicações
- Proteção contra DDoS
- ExpressRoute
- Balanceador de carga
- Gateway da NAT
- 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 Aplicativo
Para desabilitar uma recomendação padrão específica, exclua seu arquivo de consulta da pasta de configuração/consultas no armazenamento do hub. O pipeline processa apenas os arquivos de consulta presentes.
Adicionar recomendações personalizadas
Você pode adicionar recomendações personalizadas carregando arquivos de consulta na pasta de configuração/consultas no armazenamento do hub. O pipeline detecta automaticamente novos arquivos de consulta na próxima execução diária.
Convenção de nomenclatura de arquivo
Nomeie arquivos de consulta usando o {dataset}-{provider}-{type}.json formato:
-
Conjunto de dados — o conjunto de dados de destino (por exemplo,
Recommendations). -
Provedor — O provedor dos 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 arquivo de consulta
Cada arquivo de consulta é um arquivo 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"
}
| Property | Descrição |
|---|---|
dataset |
Deve ser "Recommendations". |
provider |
Nome do provedor (por exemplo, "Microsoft"). |
query |
A consulta do Azure Resource Graph a ser executada em uma única linha. |
queryEngine |
Deve ser "ResourceGraph". |
scope |
Escopo da consulta. Use "Tenant" para consultar todas as assinaturas às que a identidade gerenciada do Data Factory tem acesso dentro do locatário. Não há suporte para consultas entre locatários, mas os recursos delegados por meio de Azure Lighthouse são incluídos em consultas de escopo de locatário. |
source |
Nome descritivo para a origem da recomendação (por exemplo, "Assistente do Azure" ou "FinOps hubs"). |
type |
Identificador programático para esse tipo de recomendação. Use um {provider}-{name} formato com caracteres alfanuméricos e hifens somente (por exemplo, "Contoso-IdleCosmosDB"). Esse valor é usado como parte do nome do arquivo de saída. |
version |
Versão do esquema. Use "1.0". |
Colunas de saída necessárias
Sua consulta deve retornar as seguintes colunas:
| Coluna | Descrição |
|---|---|
ResourceId |
ID do recurso (em minúsculas). |
ResourceName |
Nome do recurso (minúscula). |
SubAccountId |
ID da assinatura. |
SubAccountName |
Nome da assinatura.
resourcecontainers Junte-se para preencher isso. |
x_RecommendationCategory |
Categoria de recomendação. Usar "Cost", "HighAvailability", "OperationalExcellence", "Performance"ou "Security". |
x_RecommendationDate |
Data da recomendação (uso now() para consultas pontuais). |
x_RecommendationDescription |
Breve descrição do problema. |
x_RecommendationDetails |
Cadeia de caracteres JSON com propriedades adicionais. Inclua x_RecommendationProvider, x_RecommendationSolution, x_RecommendationTypeIde x_ResourceType juntamente com quaisquer propriedades personalizadas específicas para a recomendação. |
x_RecommendationId |
Identificador exclusivo para a recomendação (por exemplo, ID do recurso + sufixo). |
x_ResourceGroupName |
Nome do grupo de recursos (minúsculas). |
Dicas para escrever consultas
Para preencher o nome da assinatura, adicione
resourcecontainersno final da sua consulta:| join kind=leftouter ( resourcecontainers | where type == 'microsoft.resources/subscriptions' | project SubAccountName=name, SubAccountId=subscriptionId ) on SubAccountId | project-away SubAccountId1Gere
x_RecommendationIdcombinando a ID do recurso com um sufixo descritivo (por exemplo,strcat(tolower(id), '-idle')).Crie
x_RecommendationDetailsusandotostring(bag_pack(...))para produzir uma cadeia de caracteres JSON. Encapsular comtostring()é necessário porque o pipeline de dados não pode serializar objetos dinâmicos no formato Parquet; o valor deve ser uma cadeia de caracteres. Você também pode usarstrcat()para criar uma cadeia de caracteres JSON manualmente, masbag_pack()é recomendável porque ela manipula o escape automaticamente.Inclua
x_RecommendationTypeIdcomo um GUID estável para identificar de forma exclusiva o tipo de recomendação em diferentes execuções.
Para obter exemplos, examine os arquivos de consulta internos no código-fonte do kit de ferramentas FinOps.
Fornecer comentários
Deixe-nos saber como estamos indo com uma avaliação rápida. Usamos essas revisões para melhorar e expandir ferramentas e recursos do FinOps.
Se você estiver procurando algo específico, vote em um existente ou crie uma ideia. Compartilhe ideias com outras pessoas para obter mais votos. Nós nos concentramos nas ideias com mais votos.
Conteúdo relacionado
- Conjunto de dados gerenciado de recomendações
- Como os dados são processados em hubs FinOps
- Biblioteca de práticas recomendadas