Monitorar problemas operacionais no workspace do Log Analytics do Azure Monitor

Para manter o desempenho e a disponibilidade do workspace do Log Analytics no Azure Monitor, você precisará conseguir detectar de maneira proativa todos os problemas que surgirem. Este artigo descreve como monitorar a integridade do workspace do Log Analytics usando dados na tabela de Operações. Essa tabela está incluída em cada workspace do Log Analytics. Ela contém mensagens de erro e avisos que ocorrem em seu workspace. Recomendamos que você crie alertas para problemas com o nível de Aviso e Erro.

Permissões necessárias

Você deve ter permissões Microsoft.OperationalInsights/workspaces/query/*/read para os workspaces do Log Analytics que você consulta, conforme fornecido pela função interna Leitor do Log Analytics, por exemplo.

Função _LogOperation

Os logs do Azure Monitor enviam informações sobre todos os problemas para a tabela Operações do workspace em que o problema ocorreu. A função do sistema _LogOperation é baseada na tabela Operações e fornece um conjunto simplificado de informações para análise e alertas.

Colunas

A função _LogOperation retorna as colunas da tabela a seguir.

Coluna Descrição
TimeGenerated Hora em que o incidente ocorreu em UTC.
Categoria Grupo de categorias da operação. Pode ser usado para filtrar tipos de operações e ajudar a criar alertas e auditoria de sistema mais precisos. Confira a seção a seguir para obter uma lista de categorias.
Operação Descrição do tipo de operação. A operação pode indicar que um dos limites de Log Analytics foi atingido, um problema relacionado ao processo de back-end ou qualquer outra mensagem de serviço.
Nível Nível de severidade do problema:
– Informações: não exige nenhuma atenção específica.
– Aviso: o processo não foi concluído conforme o esperado e exige atenção.
– Erro: o processo falhou e exige atenção.
Detalhe A descrição detalhada da operação incluirá uma mensagem de erro específica.
_ResourceId ID do recurso do Azure relacionado à operação.
Computador Nome do computador se a operação estiver relacionada a um agente do Azure Monitor.
CorrelationId Usado para agrupar operações relacionadas consecutivas.

Categorias

A tabela a seguir descreve as categorias da função_LogOperation.

Categoria Descrição
Ingestão Operações que fazem parte do processo de ingestão de dados.
Agente Indica um problema com a instalação do agente.
Coleta de dados Operações relacionadas a processos de coleta de dados.
Direcionamento de solução A operação do tipo ConfigurationScope foi processada.
Solução de avaliação Um processo de avaliação foi executado.

Ingestão

As operações de ingestão são problemas ocorridos durante a ingestão de dados e incluem notificações sobre quando se atinge os limites do workspace do Log Analytics. As condições de erro dessa categoria podem sugerir perda de dados e, portanto, é importante monitorá-las. Para limites de serviço para workspaces do Log Analytics, confira Limites de serviço do Azure Monitor.

Importante

Se você estiver solucionando problemas de coleta de dados para um cenário que usa uma DCR (regra de coleta de dados), como o agente do Azure Monitor ou a API de ingestão de logs, consulte Monitorar e solucionar problemas de coleta de dados DCR no Azure Monitor para obter informações adicionais de solução de problemas.

Operação: coleta de dados interrompida

"Coleta de dados interrompida devido a um limite diário de dados gratuitos atingido. Status de ingestão = OverQuota"

Nos últimos sete dias, a coleta de logs atingiu o limite diário configurado. O limite é definido como o workspace configurado como camada gratuita ou como o limite diário da coleta que foi configurado nesse workspace. Depois que a coleta de dados alcança o limite definido, ela é interrompida automaticamente durante o dia e retomada somente durante o próximo dia de coleta.

Ações recomendadas:

  • Marque a tabela _LogOperation para a coleta interrompida e os eventos retomados da coleta:
    _LogOperation | where TimeGenerated >= ago(7d) | where Category == "Ingestion" | where Detail has "Data collection"
  • Crie um alerta no evento de operação "Coleta de dados interrompida". Esse alerta notifica você quando o limite de coleta é atingido.
  • Os dados coletados após o limite diário de coleta serão perdidos. Use o painel Insights do workspace para examinar as taxas de uso de cada fonte. Outra opção é gerenciar seu volume máximo de dados diário ou alterar o tipo de preço para um que seja adequado ao padrão de taxas de coleta.
  • A taxa de coleta de dados é calculada por dia e redefinida no início do dia seguinte. Você também pode monitorar um evento de retomada de coleta criando um alerta no evento de operação "Coleta de dados retomada".

Operação: taxa de ingestão

"A taxa de volume de ingestão de dados ultrapassou o limite no seu workspace: {0:0,00} MB por minuto e os dados foram removidos."

Ações recomendadas:

  • Verifique a tabela _LogOperation para um evento de taxa de ingestão:
    _LogOperation | where TimeGenerated >= ago(7d) | where Category == "Ingestion" | where Operation has "Ingestion rate"
    um evento é enviado para a tabela Operação no workspace a cada seis horas enquanto o limite continua a ser excedido.
  • Crie um alerta no evento de operação "Coleta de dados interrompida". Esse alerta notifica você quando o limite é atingido.
  • Os dados coletados enquanto a taxa de ingestão atingiu 100% serão removidos e perdidos. Use o painel Insights do workspace para examinar seus padrões de uso e tentar reduzi-los.
    Para mais informações, confira:

Operação: contagem máxima de colunas da tabela

"Os dados do tipo <nome da tabela> foram descartados porque o número de campos que a <nova contagem de campos> conta está acima do limite de< campos atual limite de >campos personalizados por tipo de dados."

Ações recomendadas: em tabelas personalizadas, você pode movê-los para analisar os dados em consultas.

Operação: validação de conteúdo de campo

"Os seguintes campos de valores de <nome de campo> do tipo <nome de tabela> foram cortados para o tamanho máximo permitido, <bytes de limite de tamanho de campo>. Ajuste sua entrada de acordo."

Um campo maior que o tamanho limite foi processado pelos logs do Azure. O campo foi cortado para o limite de campo permitido. Não recomendamos enviar campos maiores que o limite permitido porque isso resulta em perda de dados.

Ações recomendadas:

Verifique a origem do tipo de dados afetado:

  • Se os dados estiverem sendo enviados por meio da API do Coletor de Dados HTTP, você precisará alterar o code\script para dividir os dados antes que eles sejam ingeridos.
  • Nos logs personalizados, coletados por um agente do Log Analytics, altere as configurações de registro em log do aplicativo ou ferramenta.
  • Para qualquer outro tipo de dados, gere um caso de suporte. Para saber mais, confira Limites de serviço do Azure Monitor.

Coleta de dados

A seção a seguir apresenta informações sobre a coleta de dados.

Operação: coleta do Log de Atividades do Azure

"O acesso à assinatura foi perdido. Verifique se a assinatura <ID da assinatura> está no locatário do Microsoft Entra <ID do locatário>. Se a assinatura for transferida para outro locatário, não haverá nenhum impacto para os serviços, mas as informações para o locatário poderão levar até uma hora para serem propagadas."

Em algumas situações, como mover uma assinatura para um locatário diferente, os logs de atividades do Azure podem parar de fluir para o workspace. Nessas situações, é preciso reconectar a assinatura seguindo o processo descrito neste artigo.

Ações recomendadas:

  • Se a assinatura mencionada na mensagem de aviso não existir mais, vá para o painel do Conector de log de atividades legado em Clássico. Selecione a assinatura relevante e então o botão Desconectar.
  • Se você não tiver mais acesso à assinatura mencionada na mensagem de aviso:
    • Siga a etapa anterior para desconectar a assinatura.
    • Para continuar coletando logs dessa assinatura, entre em contato com o proprietário da assinatura para consertar as permissões e reabilitar a coleta de log de atividades.
  • Crie uma configuração de diagnóstico para enviar o log de atividades para um workspace do Log Analytics.

Agente

A seção a seguir fornece informações sobre agentes.

Operação: Agente do Linux

"Dois aplicativos de configuração sucessivos de Configurações do OMS falharam."

As definições de configuração no portal foram alteradas.

Ação recomendada: esse problema é gerado quando há um problema para o agente recuperar as novas definições de configuração. Para resolver esse problema, reinstale o agente. Verifique a tabela _LogOperation do evento do agente:

_LogOperation | where TimeGenerated >= ago(6h) | where Category == "Agent" | where Operation == "Linux Agent" | distinct _ResourceId

A lista mostra as IDs de recurso nas quais o agente está com a configuração errada. Para resolver esse problema, reinstale os agentes listados.

Regras de alerta

Use alertas de pesquisa de log no Azure Monitor para ser notificado proativamente quando um problema for detectado em seu workspace do Log Analytics. Use uma estratégia que permita responder em tempo hábil aos problemas, minimizando os custos. Sua assinatura será cobrada por regra de alerta, conforme listado em Preço do Azure Monitor.

Uma estratégia recomendada é começar com duas regras de alerta baseado no nível do problema. Use uma frequência curta, como intervalos de cinco minutos para Erros, e uma frequência maior, como 24 horas para Avisos. Como os Erros indicam um potencial de perda de dados, o ideal é responder a eles rapidamente para minimizar qualquer perda. Normalmente, os avisos indicam um problema que não exige atenção imediata. Portanto, você pode examiná-los diariamente.

Use o processo em Criar, exibir e gerenciar alertas de pesquisa de log usando o Azure Monitor para criar as regras de alerta de pesquisa de log. As seções a seguir descrevem os detalhes de cada regra.

Consulta Valor limite Período Frequência
_LogOperation | where Level == "Error" 0 5 5
_LogOperation | where Level == "Warning" 0 1.440 1.440

Essas regras de alerta respondem da mesma forma a todas as operações com Erro ou Aviso. Ao se familiarizar mais com as operações que geram alertas, talvez você queira responder de maneira diferente a operações específicas. Por exemplo, talvez você deseje enviar notificações para pessoas diferentes em operações específicas.

Para criar uma regra de alerta para uma operação específica, use uma consulta que inclua as colunas Categoria e Operação.

O seguinte exemplo cria um alerta de aviso quando a taxa de volume de ingestão atinge 80% do limite:

  • Destino: selecione o workspace do Log Analytics
  • Critérios:
    • Nome do sinal: Pesquisa de logs personalizada
    • Consulta de pesquisa: _LogOperation | where Category == "Ingestion" | where Operation == "Ingestion rate" | where Level == "Warning"
    • Baseado em: Número de resultados
    • Condição: Maior que
    • Limite: 0
    • Período: 5 (minutos)
    • Frequência: 5 (minutos)
  • Nome da regra de alerta: Limite diário de dados atingido
  • Gravidade: Aviso (Sev 1)

O seguinte exemplo cria um alerta de aviso quando a coleta de dados atinge o limite diário:

  • Destino: selecione o workspace do Log Analytics
  • Critérios:
    • Nome do sinal: Pesquisa de logs personalizada
    • Consulta de pesquisa: _LogOperation | where Category == "Ingestion" | where Operation == "Data collection Status" | where Level == "Warning"
    • Baseado em: Número de resultados
    • Condição: Maior que
    • Limite: 0
    • Período: 5 (minutos)
    • Frequência: 5 (minutos)
  • Nome da regra de alerta: Limite diário de dados atingido
  • Gravidade: Aviso (Sev 1)

Próximas etapas