Exercício – criar consultas básicas de registos do Azure Monitor para extrair informações de dados de registo

Concluído

Atualmente, a equipe de operações não tem informações suficientes sobre o comportamento do sistema para diagnosticar e resolver problemas de forma eficaz. Para resolver este problema, a equipa configurou uma área de trabalho do Azure Monitor com os serviços do Azure da empresa. Ele executa consultas Kusto para obter o status do sistema e tenta identificar as causas de quaisquer problemas que possam ocorrer.

Em particular, a equipa está interessada em monitorizar eventos de segurança para verificar a existência de possíveis tentativas de entrada no sistema. Um atacante poderá tentar manipular as aplicações em execução no sistema, pelo que a equipa também quer recolher dados de aplicações para análise adicional. Um atacante também poderá tentar desativar os computadores que compõem o sistema, pelo que a equipa pretende analisar como e quando é que os computadores são desativados e reiniciados.

Neste exercício, você praticará a execução de consultas de log do Azure em um projeto de demonstração que contém dados de exemplo em tabelas, logs e consultas.

Criar consultas básicas de registos do Azure Monitor para extrair informações de dados de registo

Vamos usar o painel Logs de Demonstração do Azure para praticar a escrita de consultas. O espaço de trabalho do projeto de demonstração é pré-preenchido com dados de exemplo. O Azure oferece uma consulta otimizada semelhante a SQL com opções de visualização de seus dados em uma linguagem chamada KQL (Kusto Query Language).

  1. Abra o ambiente de demonstração Logs. No canto superior esquerdo, em Nova Consulta 1, você encontrará Demonstração, que identifica o espaço de trabalho ou o escopo da consulta. O lado esquerdo deste painel contém vários separadores: Tabelas, Consultas e Funções. O lado direito tem um scratchpad para criar ou editar consultas.

  2. Na guia Nova Consulta 1, insira uma consulta básica na primeira linha do bloco de rascunho. Esta consulta recupera os detalhes dos 10 eventos de segurança mais recentes.

    SecurityEvent
        | take 10
    
  3. Na barra de comandos, selecione Executar para executar a consulta e exibir os resultados. Você pode expandir cada linha no painel de resultados para obter mais informações.

  4. Ordene os dados por tempo adicionando um filtro à sua consulta:

    SecurityEvent
        | top 10 by TimeGenerated
    
  5. Adicione uma cláusula de filtro e um intervalo de tempo. Execute esta consulta para buscar registros com mais de 30 minutos e que tenham um nível de 10 ou mais:

    SecurityEvent
        | where TimeGenerated < ago(30m)
        | where toint(Level) >= 10
    
  6. Execute a seguinte consulta para procurar AppEvents na tabela registros do evento que está sendo invocado Clicked Schedule Button nas últimas 24 horas:

    AppEvents 
        | where TimeGenerated > ago(24h)
        | where Name == "Clicked Schedule Button"
    
  7. Execute a consulta a seguir para exibir o número de computadores diferentes que geraram eventos de pulsação a cada semana nas últimas três semanas. Os resultados aparecem como um gráfico de barras:

    Heartbeat
        | where TimeGenerated >= startofweek(ago(21d))
        | summarize dcount(Computer) by endofweek(TimeGenerated) | render barchart kind=default
    

Usar consultas de log predefinidas do Azure para extrair informações de dados de log

Além de escrever consultas do zero, a equipe de operações também pode aproveitar consultas predefinidas nos Logs do Azure que respondem a perguntas comuns relacionadas à integridade, disponibilidade, uso e desempenho de seus recursos.

  1. Use o parâmetro Time Range na barra de comandos para definir um intervalo personalizado. Selecione o mês, ano e dia para um intervalo de janeiro até hoje. Você pode definir e aplicar um horário personalizado a qualquer consulta.

  2. Na barra de ferramentas, selecione Consultas. O painel Consultas é exibido. Aqui, na lista suspensa no menu à esquerda, você pode exibir uma lista das consultas de exemplo agrupadas por Categoria, Tipo de consulta, Tipo de recurso, Solução ou Tópico.

  3. Selecione Categoria na lista suspensa e, em seguida, selecione Ferramentas de Gerenciamento de TI e Gerenciamento.

  4. Na caixa de pesquisa, introduza Atualizações distintas em falta entre computadores. Selecione a consulta no painel esquerdo e, em seguida, selecione Executar. O painel Logs reaparece, com a consulta retornando uma lista de atualizações do Windows ausentes de máquinas virtuais que estão enviando logs para o espaço de trabalho.

    Nota

    Você também pode executar essa mesma consulta no painel Logs . No painel esquerdo, selecione o separador Consultas e, em seguida, selecione Categoria na lista pendente Agrupar por . Agora role a lista para baixo, expanda Ferramentas de Gerenciamento de TI e clique duas vezes em Atualizações distintas ausentes entre computadores. Selecione Executar para executar a consulta. Quando você seleciona uma consulta predefinida no painel esquerdo, o código de consulta é acrescentado a qualquer consulta existente no bloco de rascunho. Lembre-se de limpar o bloco de rascunho antes de abrir ou adicionar uma nova consulta para executar.

  5. No painel esquerdo, desmarque a caixa de pesquisa. Selecione Consultas e, em seguida, selecione Categoria na lista suspensa Agrupar por . Expanda Azure Monitor e clique duas vezes em Disponibilidade de computadores hoje. Selecione Executar. Essa consulta cria um gráfico de série temporal com o número de endereços IP exclusivos enviando logs para o espaço de trabalho a cada hora no último dia.

  6. Selecione Tópico na lista suspensa Agrupar por, role para baixo até expandir Aplicativo de Função e clique duas vezes em Mostrar logs de aplicativos de Aplicativos de Função. Selecione Executar. Essa consulta retorna uma lista de logs de aplicativos, classificados por tempo com os logs mais recentes mostrados primeiro.

Você notará que, nas consultas Kusto usadas aqui, é fácil direcionar uma consulta para uma janela de tempo, nível de evento ou tipo de log de eventos específico. A equipa de segurança pode analisar facilmente heartbeats para identificar quando é que os servidores estão indisponíveis, o que poderá indicar um ataque denial-of-service. Se a equipa identificar a hora a que um servidor estava indisponível, pode consultar eventos no registo de segurança dessa altura para diagnosticar se um ataque causou a interrupção. Além disso, as consultas predefinidas também podem avaliar a disponibilidade da VM, identificar atualizações ausentes do Windows e revisar os logs do firewall para exibir fluxos de rede negados destinados às VMs de interesse.