Otimização de custos no Azure Monitor

A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Você pode reduzir consideravelmente seus custos com o Azure Monitor compreendendo as diferentes opções de configuração e oportunidades a fim de reduzir o volume de dados coletados. Antes de usar este artigo, confira Custos e uso do Azure Monitor para entender as diferentes maneiras de cobrança do Azure Monitor e como ver sua fatura mensal.

Este artigo descreve a otimização de custo do Azure Monitor como parte do Azure Well-Architected Framework. A Estrutura Bem Projetada do Azure é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. A estrutura consiste em cinco pilares de excelência em arquitetura:

  • Confiabilidade
  • Segurança
  • Otimização de custos
  • Excelência operacional
  • Eficiência de desempenho

Logs do Azure Monitor

Lista de verificação de projeto

  • Determine se você deve combinar seus dados operacionais e seus dados de segurança no mesmo workspace do Log Analytics.
  • Configure o tipo de preço para a quantidade de dados que cada workspace do Log Analytics normalmente coleta.
  • Configure a retenção e o arquivamento de dados.
  • Configure as tabelas usadas para depuração, solução de problemas e auditoria como Logs Básicos.
  • Limite a coleta de dados de fontes de dados para o workspace.
  • Analise regularmente os dados coletados para identificar tendências e anomalias.
  • Criar um alerta para quando a coleta de dados for alta.
  • Considere um limite diário como uma medida preventiva para garantir que você não exceda um orçamento especificado.
  • Configure alertas nas recomendações de custo do Assistente do Azure para workspaces do Log Analytics.

Recomendações de configuração

Recomendação Benefício
Determine se você deve combinar seus dados operacionais e seus dados de segurança no mesmo workspace do Log Analytics. Como todos os dados em um workspace do Log Analytics estão sujeitos a preços do Microsoft Sentinel se o Sentinel estiver habilitado, pode haver implicações de custo para combinar esses dados. Consulte Criar uma estratégia de workspace do Log Analytics para obter detalhes sobre como tomar essa decisão para seu ambiente, equilibrando-a com critérios em outros pilares.
Configure o tipo de preço para a quantidade de dados que cada workspace do Log Analytics normalmente coleta. Por padrão, os workspaces do Log Analytics usam o preço de pagamento conforme o uso sem um volume mínimo de dados. Se você coletar dados suficientes, poderá diminuir consideravelmente seus custos usando uma camada de compromisso, o que permite que você se comprometa com um mínimo diário de dados coletados em troca de uma taxa mais baixa. Se você coletar dados suficientes entre workspaces em uma única região, poderá vinculá-los a um cluster dedicado e combinar o volume coletado usando os preços do cluster.

Confira Opções e cálculos de custo dos logs do Azure Monitor para obter detalhes sobre os níveis de compromisso e diretrizes sobre como determinar qual é o mais apropriado para seu nível de uso. Confira Uso e custos estimados para visualizar os custos estimados para seu uso em diferentes níveis de preços.
Configure a retenção e o arquivamento de dados. Há uma cobrança por reter dados em um workspace do Log Analytics além do padrão de 31 dias (90 dias se o Sentinel estiver habilitado no workspace e 90 dias para dados do Application Insights). Considere seus requisitos específicos para ter dados prontamente disponíveis para consultas de log. Você pode reduzir significativamente o custo configurando Logs Arquivados, o que permite reter dados por até sete anos e ainda acessá-los ocasionalmente usando trabalhos de pesquisa ou restaurando um conjunto de dados para o workspace.
Configure as tabelas usadas para depuração, solução de problemas e auditoria como Logs Básicos. As tabelas em um workspace do Log Analytics configurado para Logs Básicos têm um custo de ingestão menor em troca de recursos limitados e uma cobrança pelas consultas de log. Se você consulta essas tabelas com pouca frequência e não as usa para alertas, esse custo de consulta pode ser mais do que compensado pelo custo reduzido de ingestão.
Limite a coleta de dados de fontes de dados para o workspace. O principal fator para o custo do Azure Monitor é a quantidade de dados coletados em seu workspace do Log Analytics, portanto, você deve garantir que não colete mais dados necessários para avaliar a integridade e o desempenho de seus serviços e aplicativos. Consulte Criar uma arquitetura de workspace do Log Analytics para obter detalhes sobre como tomar essa decisão para seu ambiente, equilibrando-a com critérios em outros pilares.

Compensação: pode haver uma compensação entre o custo e seus requisitos de monitoramento. Por exemplo, você pode conseguir detectar um problema de desempenho mais rapidamente com uma alta taxa de amostra, mas talvez você queira uma taxa de amostra mais baixa para economizar custos. A maioria dos ambientes tem várias fontes de dados com diferentes tipos de coleção, portanto, você precisa equilibrar seus requisitos específicos com seus destinos de custo para cada um. Consulte a Otimização de custo no Azure Monitor para obter recomendações sobre como configurar a coleta para diferentes fontes de dados.
Analise regularmente os dados coletados para identificar tendências e anomalias. Use os insights do workspace do Log Analytics para examinar periodicamente a quantidade de dados coletados em seu workspace. Além de ajudar você a entender a quantidade de dados coletados por diferentes fontes, ele identificará anomalias e tendências ascendentes na coleta de dados que podem resultar em custo excessivo. Analise mais a coleta de dados usando os métodos descritos em Analisar o uso no workspace do Log Analytics para determinar se há outras configurações que podem diminuir ainda mais o uso. Isso é particularmente importante ao adicionar um novo conjunto de fontes de dados, como um novo conjunto de máquinas virtuais, ou integrar um novo serviço.
Criar um alerta para quando a coleta de dados for alta. Para evitar cobranças inesperadas, você deve receber notificações proativas sempre que ocorrer uso excessivo. Isso permite resolver quaisquer anomalias em potencial antes do final do período de cobrança.
Considere um limite diário como uma medida preventiva para garantir que você não exceda um orçamento especificado. Um limite diário desabilita a coleta de dados em um workspace do Log Analytics pelo resto do dia quando o limite configurado é atingido. Isso não deve ser usado como um método para reduzir os custos, conforme descrito em Quando usar um limite diário.

Se você definir um limite diário, além de criar um alerta quando o limite for atingido, certifique-se de também criar uma regra de alerta para receber notificação quando algum percentual for atingido (90% por exemplo). Isso oferece a oportunidade de investigar e abordar a causa dos dados aumentados antes que o limite desligue a coleta de dados.
Configure alertas nas recomendações de custo do Assistente do Azure para workspaces do Log Analytics. As recomendações do Assistente do Azure para workspaces do Log Analytics alertam você proativamente quando há uma oportunidade de otimizar seus custos. Crie alertas do Assistente do Azure para essas recomendações de custo:
  • Considere configurar o plano de logs básicos econômicos em tabelas selecionadas – identificamos a ingestão de mais de 1 GB por mês para tabelas qualificadas para o plano de dados de log Básico de baixo custo. O plano de logs Básico oferece recursos de pesquisa para depuração e solução de problemas a um custo mais baixo.
  • Considere alterar o tipo de preço– Com base no volume de uso atual, investigue a alteração da camada de preços (Compromisso) para receber um desconto e reduzir os custos.
  • Considere remover tabelas restauradas não utilizados – você tem uma ou mais tabelas com dados restaurados ativos em seu workspace. Se você não estiver mais usando dados restaurados, exclua a tabela para evitar cobranças desnecessárias.
  • Anomalia de ingestão de dados detectada – identificamos uma taxa de ingestão muito maior na última semana, com base na ingestão nas três semanas anteriores. Anote essa alteração e a alteração esperada em seus custos.
Você também pode exibir a recomendação gerada automaticamente selecionando Visão geral>Recomendações ou Recomendações do Assistente no menu de recursos do espaço de trabalho do Log Analytics.

Recursos do Azure

Lista de verificação de projeto

  • Colete apenas os dados críticos do log dos recursos do Azure.

Recomendações de configuração

Recomendação Benefício
Colete apenas os dados críticos do log dos recursos do Azure. Ao criar configurações de diagnóstico para enviar logs de recursos dos seus recursos do Azure para um banco de dados do Log Analytics, especifique apenas as categorias necessárias. Como as configurações de diagnóstico não permitem filtragem granular de logs de recursos, você pode usar uma transformação de workspace para filtrar dados desnecessários para os recursos que usam uma tabela com suporte. Confira Configurações de diagnóstico no Azure Monitor para obter detalhes sobre como definir as configurações de diagnóstico e usar as transformações para filtrar os dados.

Alertas

Lista de verificação de projeto

  • Os alertas de log de atividades, alertas de integridade do serviço e alertas de integridade de recursos são gratuitos.
  • Ao usar alertas de pesquisa de log, minimize a frequência de alertas de pesquisa de log.
  • Ao usar os alertas de métricas, minimize o número de recursos que estão sendo monitorados.

Recomendações de configuração

Recomendação Benefício
Lembre-se de que os alertas de log de atividades, alertas de integridade do serviço e alertas de integridade de recursos são gratuitos. Os alertas de atividade do Azure Monitor, alertas de integridade do serviço e alertas de integridade de recursos são gratuitos. Se o que você deseja monitorar pode ser alcançado com esses tipos de alerta, use-os.
Ao usar alertas de pesquisa de log, minimize a frequência de alertas de pesquisa de log. Ao configurar alertas de pesquisa de log, tenha em mente que quanto mais frequente a avaliação da regra, maior o custo. Configure suas regras adequadamente.
Ao usar os alertas de métricas, minimize o número de recursos que estão sendo monitorados. Alguns tipos de recursos dão suporte a regras de alerta de métrica que podem monitorar vários recursos do mesmo tipo. Para esses tipos de recursos, tenha em mente que a regra pode se tornar cara se estiver monitorando muitos recursos. Para reduzir custos, você pode reduzir o escopo da regra de alerta de métrica ou usar regras de alerta de pesquisa de log, que são mais baratas para monitorar um grande número de recursos.

Máquinas virtuais

Lista de verificação de projeto

  • Migre do agente do Log Analytics para o Agente do Azure Monitor para uma filtragem de dados granular.
  • Filtre os dados que você não precisa dos agentes.
  • Determine se você usará insights de VM e quais dados coletar.
  • Reduza a frequência de sondagem dos contadores de desempenho.
  • Verifique se as VMs não estão enviando dados duplicados.
  • Use os insights do workspace do Log Analytics para analisar os custos faturáveis e identificar oportunidades de economia de custos.
  • Migre seu ambiente SCOM para a Instância Gerenciada SCOM do Azure Monitor.

Recomendações de configuração

Recomendação Descrição
Migre do agente do Log Analytics para o Agente do Azure Monitor para uma filtragem de dados granular. Se você ainda tiver VMs com o agente do Log Analytics, migre-as para o agente do Azure Monitor a fim de aproveitar melhor a filtragem de dados e usar configurações exclusivas com diferentes conjuntos de VMs. A configuração para coleta de dados pelo agente do Log Analytics é feita no workspace, para que todos os agentes recebam a mesma configuração. As regras de coleta de dados usadas pelo agente do Azure Monitor podem ser ajustadas aos requisitos específicos de monitoramento de diferentes conjuntos de VMs. O agente do Azure Monitor também permite que você use transformações para filtrar os dados que estão sendo coletados.
Filtre os dados que você não precisa dos agentes. Reduza os custos de ingestão de dados filtrando dados que você não usa para alertas ou análises. Confira o tópico Monitorar máquinas virtuais com o Azure Monitor: Coletar dados para obter orientações sobre dados a serem coletados para diferentes cenários de monitoramento e Controlar custos para obter diretrizes específicas sobre como filtrar dados para redução de custos.
Determine quais dados coletar com os insights de VM. Os insights de VM são um ótimo recurso para começar a monitorar suas VMs rapidamente, além de fornecerem recursos avançados, como o Mapa e exibições de tendências de desempenho. Se você não usar o recurso Mapa ou os dados coletados por ele, desabilite a coleta de processos e dados de dependência em sua configuração de insights de VM para economizar nos custos de ingestão de dados.
Reduza a frequência de sondagem dos contadores de desempenho. Se você estiver usando uma regra de coleta de dados para enviar dados de desempenho para o seu workspace do Log Analytics, poderá reduzir a frequência de sondagem a fim de reduzir a quantidade de dados coletados.
Verifique se as VMs não estão enviando dados duplicados. Se você tiver agentes multi-home ou criar regras de coleta de dados semelhantes, certifique-se de que está enviando dados exclusivos para cada workspace. Confira Analisar o uso no workspace do Log Analytics para obter diretrizes sobre como analisar seus dados coletados a fim de garantir que você não esteja coletando dados duplicados. Se estiver migrando entre agentes, continue usando o agente do Log Analytics até migrar para o agente do Azure Monitor em vez de usar os dois ao mesmo tempo, a menos que você possa garantir que cada um esteja coletando dados exclusivos.
Use os insights do workspace do Log Analytics para analisar os custos faturáveis e identificar oportunidades de economia de custos. Os insights do workspace do Log Analytics mostram os dados faturáveis coletados em cada tabela e em cada VM. Use essas informações para identificar seus principais computadores e tabelas, pois eles representam sua melhor oportunidade para reduzir os custos filtrando dados. Use esse insight e consultas de log em Analisar o uso no workspace do Log Analytics para análise mais aprofundada dos efeitos das alterações de configuração.
Migre seu ambiente SCOM para a Instância Gerenciada SCOM do Azure Monitor. Migre seu ambiente SCOM existente para a Instância Gerenciada SCOM do Azure Monitor a fim de dar suporte a pacotes de gerenciamento que não podem ser substituídos pelo Azure Monitor. A instância gerenciada SCOM remove o requisito de manter servidores de gerenciamento locais e servidores de banco de dados, reduzindo o custo geral para manter sua infraestrutura SCOM.

Contêineres

Lista de verificação de projeto

  • Não habilite a coleção de métricas do Prometheus nos Insights de contêiner.
  • Configure a coleção de agentes para modificar a coleta de dados nos Insights do contêiner.
  • Modifique as configurações para coleta de dados de métrica pelos Insights do contêiner.
  • Desabilite a coleta de dados de métrica dos Insights do contêiner se você não usa a experiência de Insights do contêiner no portal do Azure.
  • Se você não consulta a tabela de logs de contêiner regularmente nem a usa para alertas, configure-a como logs básicos.
  • Limite a coleção de logs de recursos que você não precisa.
  • Use o log específico do recurso para logs de recursos do AKS e configure tabelas como logs básicos.
  • Use o OpenCost para coletar detalhes sobre os custos do Kubernetes.

Recomendações de configuração

Recomendação Benefício
Não habilite nos Insights do contêiner a coleção de métricas do Prometheus no workspace do Log Analytics se você tiver habilitado a extração de métricas com o Prometheus. Além de extrair as métricas do Prometheus do cluster usando o serviço gerenciado do Azure Monitor para Prometheus, você pode configurar os Insights do contêiner para coletar métricas do Prometheus em seu workspace do Log Analytics. Isso é redundante com os dados no Prometheus Gerenciado e resultará em custos adicionais.
Configure o agente para modificar a coleta de dados nos Insights do contêiner. Analise os dados coletados pelos Insights de contêiner, conforme descrito em Como controlar a ingestão para reduzir os custos, e ajuste a configuração para interromper a coleta de dados de que você não precisa.
Modifique as configurações para coleta de dados de métrica pelos Insights do contêiner. Consulte Habilitar configurações de otimização de custo para obter detalhes sobre como modificar a frequência em que os dados de métrica são coletados e os namespaces coletados pelos Insights do contêiner.
Desabilite a coleta de dados de métrica dos Insights do contêiner se você não usa a experiência de Insights do contêiner no portal do Azure. Os Insights do contêiner coletam muitos dos mesmos valores de métrica que o Prometheus Gerenciado. Você pode desabilitar a coleta dessas métricas configurando Insights do contêiner para coletar somente Logs e eventos, conforme descrito em Habilitar configurações de otimização de custo em Insights do contêiner. Essa configuração desabilita a experiência de Insights do contêiner no portal do Azure, mas você pode usar o Grafana para visualizar as métricas do Prometheus e o Log Analytics para analisar os dados de log coletados pelos Insights do contêiner.
Se você não consulta a tabela de logs de contêiner regularmente nem a usa para alertas, configure-a como logs básicos. Converta seu esquema dos Insights do contêiner em ContainerLogV2, que é compatível com os Logs Básicos e pode fornecer uma economia de custos significativa, conforme descrito em Controlar a ingestão para reduzir custos.
Limite a coleção de logs de recursos que você não precisa. Os logs do painel de controle para clusters do AKS são implementados como logs de recursos no Azure Monitor. Crie uma configuração de diagnóstico para enviar esses dados para um workspace do Log Analytics. Consulte Coletar logs do painel de controle para clusters do AKS para obter recomendações sobre quais categorias você deve coletar.
Use o log específico do recurso para logs de recursos do AKS e configure tabelas como logs básicos. O AKS dá suporte ao modo de diagnóstico do Azure ou ao modo específico do recurso para os logs de recursos. Especifique os logs de recursos para habilitar a opção de configurar as tabelas para logs básicos, que fornecem uma taxa de ingestão reduzida para logs que você só consulta ocasionalmente e não usa para alertas.
Use o OpenCost para coletar detalhes sobre os custos do Kubernetes. O OpenCost é um projeto de área restrita CNCF de software livre e neutro para entender os custos do Kubernetes e dar suporte à sua capacidade de visibilidade de custos do AKS. Ele exporta dados de custo detalhado além dos preços específicos do Azure para o armazenamento do Azure para ajudar o administrador do cluster a analisar e categorizar os custos.

Application Insights

Lista de verificação de projeto

  • Altere para Application Insights baseado em workspace.
  • Use a amostragem para ajustar o volume de dados coletados.
  • Limite o número de chamadas do AJAX.
  • Desabilite os módulos desnecessários.
  • Pré-agregar métricas de qualquer chamada para TrackMetric.
  • Limite o uso de métricas personalizadas sempre que possível.
  • Verifique o uso de SDKs (kits de desenvolvimento de software) atualizados.
  • Limite o rastreamento de host indesejado e o registro em log geral usando níveis de log.

Recomendações de configuração

Recomendação Benefício
Altere para Application Insights baseado em workspace. Verifique se os recursos do Application Insights são baseados em workspace. Os recursos do Application Insights baseados em workspace podem aplicar novas ferramentas de economia de custos, como Logs Básicos,Níveis de compromisso e retenção por tipo de dados e arquivo de dados.
Use a amostragem para ajustar o volume de dados coletados. A amostragem é a principal ferramenta a ser usada para ajustar o volume de dados coletados pelo Application Insights. Use a amostragem para reduzir a quantidade de telemetria enviada de seus aplicativos com distorção mínima de métricas.
Limite o número de chamadas do AJAX. Limite o número de chamadas Ajax que podem ser relatadas em cada exibição de página ou desabilite os relatórios do Ajax. Se você desabilitar chamadas do Ajax, também desabilite a correlação de JavaScript.
Desabilite os módulos desnecessários. Edite Applicationinsights para desativar os módulos de coleção desnecessários. Por exemplo, é possível decidir que os contadores de desempenho ou dados de dependência não são necessários.
Pré-agregar métricas de qualquer chamada para TrackMetric. Se tiver feito chamadas para o TrackMetric no seu aplicativo, você poderá reduzir o tráfego usando a sobrecarga que aceita o cálculo do desvio médio e padrão de um lote de medições. Como alternativa, você pode usar um pacote de pré-agregação.
Limite o uso de métricas personalizadas. A opção do Application Insights para Habilitar alertas sobre dimensões de métricas personalizadas pode aumentar os custos. Usar essa opção pode resultar na criação de mais métricas de pré-agregação.
Verifique o uso de SDKs (kits de desenvolvimento de software) atualizados. As versões anteriores do SDK do ASP.NET Core e do SDK do Serviço de Trabalho coletam um grande número de contadores por padrão, coletados como métricas personalizadas. Use versões posteriores para especificarsomente os contadores necessários.
Limite o registro em log de rastreamento indesejado. O Application Insights tem várias fontes de log possíveis. Os níveis de log podem ser usados para ajustar e reduzir a telemetria do log de rastreamento. O registro em log também pode ser aplicado ao host. Por exemplo, os clientes que usam o AKS (Serviço de Kubernetes do Azure) devem ajustar o plano de controle e logs de plano de dados. Da mesma forma, os clientes que usam funções do Azure devem adaptar níveis de log e escopo para otimizar o volume e os custos do log.

Próxima etapa