Поделиться через


Руководство по пересылке данных системного журнала в рабочую область Log Analytics с помощью агента Azure Monitor

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

Примечание.

Служба Container Insights теперь поддерживает автоматическую коллекцию событий Системного журнала с узлов Linux в кластерах AKS. Чтобы узнать больше, см. Сбор данных системного журнала с помощью Container Insights.

Настройте устройство под управлением Linux для отправки данных на виртуальную машину Linux. Агент Azure Monitor на виртуальной машине перенаправит данные системного журнала в рабочую область Log Analytics. Затем используйте Microsoft Sentinel или Azure Monitor для мониторинга устройства из данных, хранящихся в рабочей области Log Analytics.

В этом руководстве описано следующее:

  • Создайте правило сбора данных.
  • Убедитесь, что агент Azure Monitor запущен.
  • Включите прием журналов через порт 514.
  • Убедитесь, что данные системного журнала пересылаются в рабочую область Log Analytics.

Предварительные условия

Чтобы выполнить действия, описанные в этом руководстве, необходимо иметь следующие ресурсы и роли:

Настройка источника данных системного журнала

Создайте DCR с помощью процесса сбора данных из клиента виртуальной машины с помощью Azure Monitor. На вкладке "Сбор и доставка " DCR выберите системный журнал Linux в раскрывающемся списке типа источника данных .

Выберите минимальный уровень журнала для каждого объекта или NONE , чтобы не собирать события для этого объекта. Чтобы настроить несколько объектов одновременно, установите флажок и выберите уровень журнала в разделе "Задать минимальный уровень журнала" для выбранных объектов.

Снимок экрана: страница для выбора типа источника данных и минимального уровня журнала.

Все логи с выбранным уровнем важности и выше собираются для объекта. Поддерживаемые уровни серьезности и их относительная серьезность приведены следующим образом:

  1. Отладка
  2. Информация
  3. Примечание.
  4. Предупреждение
  5. Ошибка
  6. Критически важно
  7. Предупреждение
  8. Аварийная ситуация

Добавить пункты назначения

Данные системного журнала можно отправлять только в рабочую область Log Analytics, где она хранится в таблице Системного журнала . Добавьте назначение типа журналы Azure Monitor и выберите рабочую область Log Analytics. Хотя вы можете добавить несколько рабочих областей, помните, что это приведет к отправке повторяющихся данных на каждый из них, что приведет к дополнительным затратам.

Снимок экрана, показывающий настройку назначения данных в журналах Azure Monitor для правила сбора данных.

Проверка сбора данных

Чтобы убедиться, что данные собираются, проверьте наличие записей в таблице Syslog . На виртуальной машине или в рабочей области Log Analytics на портале Azure выберите журналы и нажмите кнопку "Таблицы ". В категории "Виртуальные машины" нажмите кнопку "Выполнить рядом с системным журналом".

Снимок экрана: записи, возвращенные из таблицы Syslog.

Полную процедуру настройки сбора данных системного журнала см. в разделе "Сбор событий системного журнала" с помощью агента Azure Monitor.

Убедитесь, что агент Azure Monitor запущен

В Microsoft Sentinel или Azure Monitor убедитесь, что агент Azure Monitor запущен на виртуальной машине.

  1. На портале Microsoft Azure найдите и откройте Microsoft Sentinel или Azure Monitor.

  2. Если вы используете Microsoft Sentinel, выберите соответствующую рабочую область.

  3. В разделе Общие щелкните Журналы.

  4. Закройте страницу "Запросы", чтобы появилась вкладка "Новый запрос".

  5. Выполните следующий запрос, где замените значение компьютера именем виртуальной машины Linux.

    Heartbeat
    | where Computer == "vm-linux"
    | take 10
    

Включение приема журналов через порт 514

Убедитесь, что виртуальная машина, которая собирает данные журнала, разрешает прием через порт 514 TCP или UDP в зависимости от источника системного журнала. Затем настройте встроенный демон системного журнала Linux на виртуальной машине, чтобы прослушивать сообщения syslog с ваших устройств. После выполнения этих действий настройте устройство под управлением Linux для отправки журналов на виртуальную машину.

Примечание.

Если брандмауэр запущен, необходимо создать правило, чтобы разрешить удаленным системам доступ к прослушивателю системного журнала управляющей программы: systemctl status firewalld.service

  1. Добавление для tcp 514 (ваша зона или порт или протокол могут отличаться в зависимости от вашего сценария). firewall-cmd --zone=public --add-port=514/tcp --permanent
  2. Добавление для udp 514 (ваша зона или порт или протокол могут отличаться в зависимости от вашего сценария). firewall-cmd --zone=public --add-port=514/udp --permanent
  3. Перезапустите службу брандмауэра, чтобы убедиться, что новые правила вступили в силу systemctl restart firewalld.service

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

Разрешить входящий трафик Syslog на виртуальной машине

Если вы перенаправите данные системного журнала на виртуальную машину Azure, выполните следующие действия, чтобы разрешить прием через порт 514.

  1. На портале Azure найдите и выберите Виртуальные машины.

  2. Выберите виртуальную машину.

  3. В разделе Параметры выберите Сеть.

  4. Выберите Добавить правило входящего порта.

  5. Введите следующие значения.

    Поле значение
    Диапазоны портов назначения 514
    Протокол TCP или UDP в зависимости от источника системного журнала
    Действие Разрешить
    Имя. AllowSyslogInbound

    Для остальных полей используйте значения по умолчанию.

  6. Выберите Добавить.

Настройка управляющей программы системного журнала Linux

Подключитесь к виртуальной машине Linux и настройте демон системного журнала Linux. Например, выполните следующую команду, адаптируя команду по мере необходимости для сетевой среды:

sudo wget -O Forwarder_AMA_installer.py https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/DataConnectors/Syslog/Forwarder_AMA_installer.py&&sudo python3 Forwarder_AMA_installer.py

Этот скрипт может вносить изменения в файлы rsyslog.d и syslog-ng.

Примечание.

Чтобы избежать сценариев полного диска, в которых агент не может функционировать, необходимо задать syslog-ng или rsyslog конфигурацию, чтобы не хранить журналы, которые не нужны агенту. Сценарий заполненного диска нарушает работу установленного агента Azure Monitor. Дополнительные сведения о rsyslog или syslog-ng.

Убедитесь, что данные системного журнала Syslog пересылаются в рабочую область Log Analytics.

После настройки устройства под управлением Linux для отправки журналов на виртуальную машину убедитесь, что агент Azure Monitor перенаправит данные системного журнала в рабочую область.

  1. На портале Microsoft Azure найдите и откройте Microsoft Sentinel или Azure Monitor.

  2. Если вы используете Microsoft Sentinel, выберите соответствующую рабочую область.

  3. В разделе Общие щелкните Журналы.

  4. Закройте страницу "Запросы", чтобы появилась вкладка "Новый запрос".

  5. Выполните следующий запрос, где замените значение компьютера именем виртуальной машины Linux.

    Syslog
    | where Computer == "vm-linux"
    | summarize by HostName
    

Очистка ресурсов

Оцените, нужны ли ресурсы, такие как созданная виртуальная машина. Оставленные запущенными ресурсы могут стоить вам денег. Удалите ресурсы, которые вам не нужны по отдельности. Вы также можете удалить группу ресурсов, чтобы удалить все созданные ресурсы.