Упражнение. Создание простейших запросов к журналам Azure Monitor для извлечения сведений

Завершено

В настоящее время у группы операций нет достаточной информации о его системе поведения для эффективной диагностики и устранения проблем. Для решения этой проблемы группа настроила рабочую область Azure Monitor для служб Azure организации. Он запускает запросы Kusto, чтобы получить состояние системы и пытается определить причины любых проблем, которые могут возникнуть.

В частности, группе требуется наблюдать за событиями безопасности, чтобы выявлять возможные попытки проникновения в систему. Злоумышленник может попытаться получить контроль над приложениями, работающими в системе, поэтому также необходимо собирать данные приложений для дальнейшего анализа. Кроме того, злоумышленник может попытаться остановить работу компьютеров, входящих в состав системы, поэтому группе необходимо знать, как и когда выключаются и перезапускаются компьютеры.

В этом упражнении вы потренируетесь выполнять запросы к журналам Azure в демонстрационном проекте, содержащем образцы данных в таблицах, журналах и запросах.

Создание простейших запросов к журналам Azure Monitor для извлечения сведений

Давайте попрактикуемся в написании запросов на демоверсии панели журналов в Azure. Демонстрационная рабочая область проекта предварительно заполнена примерами данных. Azure предлагает оптимизированные SQL-подобные запросы с параметрами визуализации данных на языке с именем KQL (Kusto Query Language).

  1. Откройте демонстрационную среду журналов. В левом верхнем углу в разделе "Новый запрос 1" вы найдете демонстрацию, которая определяет рабочую область запроса (или область). Левая часть этой области содержит несколько вкладок: таблицы, запросы и функции. В правой части имеется электронный блокнот для создания или редактирования запросов.

  2. На вкладке Новый запрос 1 введите простой запрос в первой строке блокнота. Этот запрос извлекает сведения о последних 10 событиях безопасности.

    SecurityEvent
        | take 10
    
  3. В командной строке нажмите кнопку Выполнить, чтобы выполнить запрос и просмотреть результаты. Вы можете развернуть любую строку в области результатов, чтобы получить подробные сведения.

  4. Отсортируйте данные по времени, добавив фильтр в запрос:

    SecurityEvent
        | top 10 by TimeGenerated
    
  5. Добавьте предложение фильтра и диапазон времени. Выполните этот запрос, чтобы получить записи, которые старше 30 минут и имеют уровень 10 или более:

    SecurityEvent
        | where TimeGenerated < ago(30m)
        | where toint(Level) >= 10
    
  6. Выполните следующий запрос, чтобы найти таблицу AppEvents для записей вызываемого Clicked Schedule Button события за последние 24 часа:

    AppEvents 
        | where TimeGenerated > ago(24h)
        | where Name == "Clicked Schedule Button"
    
  7. Выполните следующий запрос, чтобы отобразить количество компьютеров, которые создавали события пульса каждую неделю, за последние три недели. Результаты отображаются в виде линейчатой диаграммы:

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

Использование предопределенных запросов к журналам Azure для извлечения сведений из журналов

Помимо написания запросов с нуля, команда операций также может воспользоваться предопределенными запросами в журналах Azure, которые отвечают на распространенные вопросы о работоспособности, доступности, использовании и производительности ресурсов.

  1. Используйте параметр Диапазон времени в командной строке, чтобы указать настраиваемый диапазон. Выберите месяц, год и день в диапазоне с января по сегодняшний день. Можно задать и применить пользовательское время к любому запросу.

  2. На панели инструментов слева выберите "Запросы". В раскрывающемся списке в меню слева можно просмотреть список примеров запросов, сгруппированных по категориям, типу запроса, типу ресурса, решению или разделу.

    Снимок экрана: параметры раскрывающегося списка групп по вкладке

  3. Выберите категорию в раскрывающемся списке, а затем выберите ИТ и средства управления.

  4. В поле поиска введите Явно отсутствующие обновления на всех компьютерах. Дважды щелкните запрос в левой области, а затем нажмите кнопку "Выполнить". Снова появится панель Журналы с результатами запроса, содержащими список отсутствующих обновлений Windows с виртуальных машин, отправляющих журналы в рабочую область.

    Примечание.

    Этот же запрос можно выполнить и на панели Журналы. В области слева выберите вкладку Запросы, а затем выберите элемент Категория в раскрывающемся списке Группировать по. Теперь прокрутите список вниз, разверните ит-отдел и средства управления и дважды щелкните "Отдельные отсутствующие обновления" на нескольких компьютерах. Щелкните Запуск, чтобы выполнить запрос. При выборе предопределенного запроса в левой области код запроса добавляется к запросу в блокноте. Не забудьте очистить электронный блокнот перед открытием или добавлением нового запроса для запуска.

  5. В левой области снимите поле поиска. Выберите запросы, а затем выберите категорию в группе по раскрывающемся списку. Разверните Azure Monitor и дважды щелкните доступность компьютеров сегодня. Выберите Выполнить. Этот запрос создает диаграмму временных рядов с количеством уникальных IP-адресов, отправляющих журналы в рабочую область каждый час за последний день.

  6. Выберите раздел в раскрывающемся списке группы , прокрутите вниз, чтобы развернуть приложение-функцию, а затем дважды щелкните "Показать журналы приложений из приложений-функций". Выберите Выполнить. Этот запрос возвращает список журналов приложений, отсортированных по времени, где журналы, созданные последними, отображаются первыми.

Вы заметите, что из запросов Kusto, которые вы использовали здесь, легко настроить запрос к определенному окну времени, уровню событий или типу журнала событий. Группа безопасности может легко проверить пакеты пульса, чтобы определить, когда серверы были недоступны, что может указывать на атаку типа "отказ в обслуживании". Определив время, когда сервер был недоступен, группа может запросить из журнала безопасности события, которые происходили в это время, чтобы установить, был ли перерыв в работе вызван атакой. Кроме того, предопределенные запросы также могут оценивать доступность виртуальных машин, выявлять отсутствующие обновления Windows и просматривать журналы брандмауэра для просмотра запрещенных сетевых потоков, предназначенных для виртуальных машин, интересующих вас.