Облачная платформаAdvanced

Импортирование текстовых логов ECS в LTS

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

ECS — это основные вычислительные ресурсы, на которых размещаются многочисленные сервисные приложения. Эти приложения генерируют текстовые данные журналов, включая журналы приложений и системы. Такие логи необходимы для мониторинга состояния системы, оптимизации производительности и устранения неполадок. Для более эффективного управления и анализа текстовых логов ECS их можно импортировать в LTS. Это централизует хранение логов, обеспечивая эффективный запрос логов, их анализ и формирование тревожных отчетов.

Выполните следующие шаги для завершения настройки импорта:

Step 1: Select a Log Stream: Храните различные типы логов в отдельных Log Stream для лучшей категоризации и управления.

Step 2: (Optional) Select Host Groups: Определите диапазон хостов для импорта логов. Host groups — это виртуальные группы хостов. Они помогают организовать и классифицировать хосты, упрощая настройку импорта логов для нескольких хостов одновременно. Вы можете добавить один или несколько хостов, логи которых собираются, в одну Host group и связать её с той же конфигурацией импорта.

Step 3: Configure the Collection: Настройте детали сбора логов, включая пути сбора и политики.

Step 4: Configure Indexing: Индекс — это структура хранения, используемая для запросов к данным логов. Настройка индексирования ускоряет и упрощает поиск и анализ логов.

Step 5: Complete the Ingestion Configuration: После создания конфигурации импорта логов управляйте ею в списке ingestion list.

Setting Multiple Ingestion Configurations in a Batch: Выберите этот режим для сбора логов из нескольких сценариев.

Ограничения

  • Если путь сбора хоста уже настроен в AOM, не настраивайте его повторно в LTS.
  • После того как LTS передаёт конфигурацию сбора, ICAgent собирает файлы согласно следующим правилам:
    • Новые файлы (собранные впервые): Если время последнего изменения файла более чем на 6 часов отстает от текущего времени, файл не собирается.
    • Старые файлы (не собранные впервые): Если время последнего изменения файла более чем на 3 минуты отстает от текущего времени, файл не собирается.

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

  • Созданы Log Group и Log Stream. Для получения подробной информации см. Managing Log Groups и Managing Log Streams.
  • Создан ECS (host) для сбора журналов. Если у вас уже есть доступный ECS, пропустите этот шаг.
  • ICAgent установлен на хосте. Для получения подробной информации см. Installing ICAgent (Intra-Region Hosts) или Installing ICAgent (Extra-Region Hosts) в зависимости от расположения вашего хоста.
  • Хост с установленным ICAgent добавлен в группу хостов. Для получения подробной информации см. Managing Host Groups.
  • Чтобы хост мог корректно передавать данные журналов и использовать метрики, его группа безопасности должна разрешать входящие порты 8149, 8102, 8923, 30200, 30201 и 80.

Шаг 1: Выберите Log Stream

  1. Войдите в консоль управления и выберите Management & Deployment > Log Tank Service.
  2. Выберите Log Ingestion > Ingestion Center в панели навигации и нажмите ECS (Elastic Cloud Server).

    Вы также можете выбрать Log Ingestion > Ingestion Management в панели навигации и нажать Create. На отображаемой странице нажмите ECS (Elastic Cloud Server).

  3. Выберите Log Group.
    • Чтобы использовать существующий Log Group: Выберите Log Group из выпадающего списка Log Group.
    • Чтобы использовать новый Log Group: Если нужный Log Group отсутствует, нажмите Create Log Group, чтобы создать его. Для получения подробной информации см. Managing Log Groups.
  4. Выберите Log Stream.
    • Чтобы использовать существующий Log Stream: Выберите Log Stream из выпадающего списка Log Stream.
    • Чтобы использовать новый Log Stream: Если нужный Log Stream отсутствует, нажмите Create Log Stream, чтобы создать его. Для получения подробной информации см. Managing Log Streams.
  5. нажмите Next: (Optional) Select Host Group.

Шаг 2: (Optional) Select Host Groups

Группа хостов представляет собой виртуальную группу хостов, позволяющую эффективно настраивать сбор журналов хостов. Убедитесь, что ICAgent has been installed на хостах, где будут собираться журналы, и the hosts have been added to a host group.

  1. Выберите одну или несколько групп хостов.
    • Чтобы выбрать существующие группы хостов: В списке групп хостов выберите одну или несколько групп хостов для сбора их журналов.
      Caution

      Вы можете пропустить этот шаг, не выбирая ни одну группу хостов и нажав Next: Configurations, а затем Skip в последующем диалоговом окне. Однако, если вы пропустите этот шаг, конфигурация сбора не вступит в силу. Рекомендуется выбирать группы хостов во время первоначальной ingestion configuration.

      Если вы изначально пропустили выбор группы хостов, вы можете связать группы хостов позже, используя любой из методов:

      • Выберите Host Management > Host Groups в панели навигации и свяжите группы хостов с нужной конфигурацией ingestion configuration.
      • После создания конфигурации ingestion configuration выберите Log Ingestion > Ingestion Management в панели навигации. Нажмите Modify в столбце Operation нужной конфигурации ingestion configuration и свяжите её с группами хостов.
    • Если нужных групп хостов нет, нажмите Create над списком групп хостов. На странице Create Host Group добавьте хосты в зависимости от их статуса установки ICAgent.
      • Если ICAgent уже установлен: Выберите хосты с установленным ICAgent в разделе Add Host. Подробности см. Managing Host Groups.
      • Если ICAgent еще не установлен: Нажмите Install ICAgent в разделе Add Host. Выберите Intra-region hosts или Extra-region hosts в зависимости от расположения хоста и продолжите установку ICAgent. Подробности см. Installing ICAgent (Intra-Region Hosts). После установки ICAgent на нужный хост вернитесь на страницу ECS log ingestion, нажмите Create над списком групп хостов снова. Нужный хост теперь будет отображаться под Add Host на странице Create Host Group.
  2. нажмите Next: Configurations.

Шаг 3: Configure the Collection

Элементы конфигурации сбора включают область сбора журналов, режим сбора и обработку формата. Настройте их следующим образом.

Warning

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

Процедура

  1. Collection Configuration Name: Введите от 1 до 64 символов. Допускаются только буквы, цифры, дефисы (-), подчёркивания (_) и точки (.). Не начинайте с точки или подчёркивания и не заканчивайте точкой.
    • Если вы хотите повторно использовать существующие конфигурации сбора, нажмите Import Configuration рядом с полем ввода. На странице Import Configuration выберите конфигурацию и нажмите OK.
    • Import Old-Edition Configuration: Импортировать конфигурацию сбора данных хоста старой версии в сбор журналов новой версии.
      • Если LTS установлен впервые и Import Old-Edition Configuration не отображается, вы можете сразу создать конфигурацию без импорта старой.
      • Если LTS обновлён, Import Old-Edition Configuration отображается. Импортируйте старую конфигурацию или создайте новую по необходимости.
  2. Collection Paths: Укажите пути, из которых LTS будет собирать журналы. Правила задания путей сбора следующие:
    • Журналы могут собираться рекурсивно. Двойная звёздочка (**) может представлять до 5 уровней каталогов в пути.

      Например, /var/logs/**/a.log будет соответствовать следующим журналам:

      /var/logs/a.log
      /var/logs/1/a.log
      /var/logs/1/2/a.log
      /var/logs/1/2/3/a.log
      /var/logs/1/2/3/4/a.log
      /var/logs/1/2/3/4/5/a.log
      • /1/2/3/4/5/ указывает на 5 уровней каталогов, рекурсивно вложенных в каталог /var/logs. Все файлы a.log, найденные на всех этих уровнях каталогов, будут собраны.
      • В пути сбора может содержаться только одна двойная звёздочка (**). Например, /var/logs/**/a.log допустим, а /opt/test/**/log/** — нет.
      • Путь сбора не может начинаться с двойной звёздочки (**), например /**/test, чтобы избежать сбора системных файлов.
    • Можно использовать символ звёздочки (*) в качестве подстановочного знака для нечеткого совпадения. Подстановочный знак (*) может представлять один или более символов имени каталога или файла.

      Если путь сбора журналов похож на C:\windows\system32, но журналы не собираются, включите Web Application Firewall (WAF) и повторно настройте путь.

      • Пример 1: /var/logs/*/a.log будет соответствовать всем файлам a.log, найденным во всех каталогах под каталогом /var/logs/:
        /var/logs/1/a.log
        /var/logs/2/a.log
      • Пример 2: /var/logs/service-*/a.log будет соответствовать файлам следующим образом:
        /var/logs/service-1/a.log
        /var/logs/service-2/a.log
      • Пример 3: /var/logs/service/a*.log будет соответствовать файлам следующим образом:
        /var/logs/service/a1.log
        /var/logs/service/a2.log
    • Если путь сбора установлен в имя файла, собирается соответствующий файл. Собирать можно только текстовые файлы.
    • Add Custom Wrapping Rule: ICAgent определяет, обернут ли файл, на основе правила имени файла. Если ваше правило обёртывания не соответствует встроенным правилам, вы можете добавить пользовательское правило обёртывания, чтобы предотвратить потерю журналов при повторном сборе и обёртывании.

      Встроенные правила: {basename}{connector}{wrapping identifier}.{suffix} и {basename}.{suffix}{connector}{wrapping identifier}. В качестве соединителей могут использоваться дефисы (-), точки (.) или подчёркивания (_), идентификаторы обёртывания могут содержать только небуквенные символы, а суффикс может содержать только буквы.

      Пользовательское правило обёртывания состоит из {basename} и регулярного выражения, описывающего обёрнутый файл. Пример: если имя вашего файла журнала test.out.log, а имена после обёртывания test.2024-01-01.0.out.log и test.2024-01-01.1.out.log, задайте путь сбора /opt/*.log и добавьте пользовательское правило обёртывания: {basename}\.\d{4}-\d{2}-\d{2}\.\d{1}.out.log.

    • Вы можете проверить пути сбора, чтобы убедиться, что журналы могут быть корректно собраны. Нажмите use path verification, введите пути сбора и абсолютные пути файлов журналов, и нажмите OK. Можно добавить до 30 путей сбора. Если пути корректны, будет отображено сообщение об успехе.
    • Вы можете проверить правила обёртывания, чтобы убедиться, что журналы могут быть корректно собраны. Нажмите wrapping rule verification, введите имя собираемого файла, имя файла после обёртывания и правило обёртывания, и нажмите OK. Если правило обёртывания корректно, будет отображено сообщение об успехе.
  3. Allow Repeated File Collection (not available to Windows)

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

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

  4. Set Collection Filters: Каталоги или файлы, включённые в черный список, не будут собираться.

    Фильтры черного списка могут быть точными совпадениями или совпадениями по шаблону с подстановочными знаками. Подробности см. в Collection Paths.

    • Если вы включите файл или каталог в черный список, который был задан как путь сбора на предыдущем этапе, настройки черного списка будут применены, и файл или файлы в каталоге будут отфильтрованы.
    • Если журнал был добавлен в blacklist, его нельзя собрать, даже если вы создаёте задачу сбора журналов. Сбор возможен снова только после удаления пути сбора из blacklist.
    • Если указать каталог, все файлы в каталоге фильтруются, но журнальные файлы в подпапках каталога не могут быть отфильтрованы.
    • Фильтры сбора нельзя задать для Windows‑хостов.
  5. Collect Windows Event Logs: Чтобы собирать журналы с Windows‑хостов, включите эту опцию. До 500 журналов событий Windows может собираться в минуту. Настройте параметры, обратившись к Table 1.
    Table 1 Параметры сбора журналов событий Windows

    Parameter

    Description

    Log Type

    Вы можете выбрать из следующих типов журналов:

    • System: записывает события, генерируемые компонентами Windows OS, включая драйверы, системные службы и аппаратные сбои.
    • Application: записывает события, генерируемые пользовательскими приложениями или сторонним программным обеспечением.
    • Security: записывает события, связанные с безопасностью системы, такие как попытки входа, изменения прав и срабатывания политик аудита.
    • Startup: записывает события, происходящие во время загрузки Windows OS.

    First Collection Time Offset

    Если установить этот параметр в 7, будут собраны журналы, сгенерированные за семь дней до времени начала сбора. Это смещение действует только для первого сбора, чтобы обеспечить отсутствие повторного сбора журналов. Максимальное значение — семь дней.

    Event Level

    Вы можете фильтровать и собирать события Windows в зависимости от их уровня тяжести (information, warning, error, critical и verbose). Эта функция доступна только в Windows Vista и более новых версиях.

  6. Structuring Parsing:

    LTS предлагает различные правила парсинга журналов, включая Single-Line - Full-Text Log, Multi-Line - Full-Text Log, JSON, Delimiter, Single-Line - Completely Regular, Multi-Line - Completely Regular и Combined Parsing. Выберите правило парсинга, соответствующее содержимому вашего журнала. После сбора структурированные журналы отправляются в указанный поток журналов, что позволяет выполнять поиск по полям.

    • Если вы включите Structuring Parsing, настройте его, обратившись к Configuring ICAgent Structuring Parsing.
    • Если вы отключите Structuring Parsing, данные журналов не будут структурированы. Необработанные журналы будут отправлены в указанный поток журналов, позволяя выполнять только поиск по ключевым словам.
  7. Other: После настройки путей сбора вы также можете задать разбиение журналов, сбор двоичных файлов и пользовательские метаданные.
    Table 2 Другие конфигурации

    Parameter

    Description

    Example Value

    Max Directory Depth

    Укажите количество уровней каталогов, которые могут быть пройдены при использовании двойных звездочек (**) для нечеткого сопоставления путей сбора журналов. LTS поддерживает максимум 20 уровней каталогов.

    Например, чтобы собрать журналы из /var/logs/department/app/a.log, задайте путь сбора как /var/logs/**/a.log и установите Max Directory Depth в значение 5.

    5

    Split Logs

    Чтобы предотвратить слишком большой размер отдельных журналов или их усечение и удаление, вы можете разделять журналы по размеру файла.

    • Если Split Logs включено, журналы, превышающие указанный размер, будут разделены на несколько журналов для сбора. Укажите размер в диапазоне от 500 KB до 1 024 KB. Например, если задать размер 500 KB, журнал размером 600 KB будет разделён на журнал 500 KB и журнал 100 KB. Это ограничение применяется только к однострочным журналам, а не к многострочным журналам.
    • Если Split Logs отключено, любой журнал, превышающий 500 KB, будет усечён, а избыточное содержимое удалено.

    Enable

    Collect Binary Files

    Укажите, следует ли собирать данные журналов, хранящиеся в бинарном формате. Вы можете выполнить следующую команду для проверки типа файла. Журнальные файлы, содержащие charset=binary, являются бинарными файлами.

    file -i File name

    • Если эта опция включена, бинарные журнальные файлы, соответствующие правилу поглощения, будут собраны, но поддерживаются только строки UTF-8 и GBK. Другие строки будут отображаться как нечитаемые символы в консоли LTS.
    • Если эта опция отключена, бинарные журнальные файлы собраны не будут.

    Enable

    Log File Code

    Выберите формат хранения символов в журнальных файлах. Вы можете выбрать кодировку UTF-8 или GBK. Правильно задайте формат кодировки, чтобы содержимое журнала корректно читалось и разбиралось, предотвращая искажение символов или повреждение данных.

    • Кодировка UTF-8 — это режим переменной длины и представляет наборы символов Unicode.
    • GBK, аббревиатура от Chinese Internal Code Extension Specification, является стандартом кодировки китайских символов, расширяющим как системы кодировки ASCII, так и GB2312.

    UTF-8

    Collection Policy

    Установите, будет ли ICAgent читать файл с конца или с начала при сборе новых файлов журналов.

    • Incremental: При сборе нового файла ICAgent читает файл с конца.
    • All: При сборе нового файла ICAgent читает файл с начала.

    Incremental

    Custom Metadata

    • Если эта опция отключена, используются поля по умолчанию системы ICAgent для отправки журналов в LTS. Вам не нужно и нельзя настраивать поля.
    • Если эта опция включена, ICAgent будет отправлять журналы на основе выбранных встроенных полей и полей, созданных с помощью пользовательских пар ключ‑значение.

      Built-in Fields: Выберите встроенные поля по необходимости.

      Custom Key-Value Pairs: нажмите Add и задайте ключ и значение.

    Enable

  8. Настройте формат журнала и время, обратившись к Table 3. Параметры в разделе Unrecommended Configurations более не рекомендуется использовать из‑за ограничений дизайна. LTS предоставляет функцию структурного парсинга ICAgent в качестве замены. Если Structuring Parsing включён, эти параметры недоступны.
    Table 3 Log collection settings

    Parameter

    Description

    Log Format

    • Single-line: Каждая строка журнала отображается как отдельное событие журнала.
    • Multi-line: Несколько строк журналов исключений могут отображаться как одно событие журнала, а каждая строка обычных журналов отображается как событие журнала. Это полезно при проверке журналов для поиска проблем.

    Log Time

    System time: время сбора журнала по умолчанию. Оно отображается в начале каждого события журнала.

    • Время сбора журнала — это время, когда журналы собираются и отправляются ICAgent в LTS.
    • Время печати журнала — это время, когда журналы выводятся. ICAgent собирает и отправляет журналы в LTS каждую секунду.
    • Ограничение на время сбора журнала: Журналы собираются в течение 24 часов до и после system time.

    Time wildcard: Вы можете задать шаблон времени, чтобы ICAgent искал время печати журнала как начало события журнала.

    • Если формат времени в событии журнала имеет вид 2019-01-01 23:59:59.011, шаблон времени следует задать как YYYY-MM-DD hh:mm:ss.SSS.
    • Если формат времени в событии журнала имеет вид 19-1-1 23:59:59.011, шаблон времени следует задать как YY-M-D hh:mm:ss.SSS.

      Если событие журнала не содержит информации о годе, ICAgent считает, что оно напечатано в текущем году.

    Пример:

    YY - year (19)
    YYYY - year (2019)
    M - month (1)
    MM - month (01)
    D - day (1)
    DD - day (01)
    hh - hours (23)
    mm - minutes (59)
    ss - seconds (59)
    SSS - millisecond (999)
    hpm - hours (03PM)
    h:mmpm - hours:minutes (03:04PM)
    h:mm:sspm - hours:minutes:seconds (03:04:05PM)
    hh:mm:ss ZZZZ (16:05:06 +0100)
    hh:mm:ss ZZZ (16:05:06 CET)
    hh:mm:ss ZZ (16:05:06 +01:00)

    Log Segmentation

    Этот параметр необходимо указать, если Log Format установлен в Multi-line. By generation time указывает, что для определения границ журнала используется шаблон времени, тогда как By regular expression указывает, что используется регулярное выражение.

    By regular expression

    Вы можете задать регулярное выражение для поиска определённого шаблона, указывающего начало события журнала. Этот параметр необходимо указать, когда вы выбираете Multi-line для Log Format и By regular expression для Log Segmentation.

    Подстановочный символ времени и регулярное выражение будут искать указанный шаблон сразу с начала каждой строки журнала. Если совпадение не найдено, используется системное время, которое может отличаться от времени в событии журнала. Как правило, рекомендуется выбрать Single-line для Log Format и System time для Log Time.

    ICAgent поддерживает только регулярные выражения RE2. Подробности см. в Syntax.

  9. Нажмите Next: Index Settings.

Шаг 4: Настройка индексации

Индекс — это структура хранения, используемая для запросов к данным журнала. Настройка индексации ускоряет и упрощает поиск и анализ журналов. Разные настройки индекса генерируют разные результаты запросов и анализа. Настройте параметры индексации в соответствии с требованиями вашего сервиса.

  • Если вы не хотите выполнять запросы или анализировать журналы с использованием определённых полей, вы можете пропустить настройку индексации при настройке log ingestion. Это не повлияет на сбор журналов. Вы также можете настроить индексацию после создания конфигурации log ingestion. Однако параметры индекса будут применяться только к вновь ingest‑журналам. Если вы решите пропустить этот шаг, оставьте значения по умолчанию на странице Index Settings и нажмите Skip and Submit. Появится сообщение "Logs ingested".
  • Чтобы выполнять запросы или анализировать журналы с использованием определённых полей, настройте индексацию на странице Index Settings при создании конфигурации ingestion.

    На этой странице нажмите Auto Configure, чтобы LTS сгенерировал поля индекса на основе первого события журнала за последние 15 минут или общих зарезервированных системных полей (например, hostIP, hostName и pathFile). Вы также можете вручную добавить структурированные поля. После завершения настройки нажмите Submit. Появится сообщение "Logs ingested". Вы также можете изменить параметры индекса после создания конфигурации ingestion. Однако изменения будут влиять только на новые ingest‑журналы.

Шаг 5: Complete the Ingestion Configuration

Созданная конфигурация ingestion будет отображена.

  • Нажмите его имя, чтобы просмотреть детали.
  • Нажмите Modify в столбце Operation, чтобы изменить конфигурацию ingestion.
  • Нажмите More > Configure Tag в столбце Operation, чтобы добавить тег.
  • Нажмите More > Copy в столбце Operation, чтобы скопировать конфигурацию ingestion.
  • нажмите Delete в столбце Operation, чтобы удалить конфигурацию сбора.
    Warning

    Удаление конфигурации сбора может привести к сбоям сбора журналов, потенциально вызывая исключения сервиса, связанные с журналами пользователей. Кроме того, удалённую конфигурацию сбора нельзя восстановить. Будьте осторожны при выполнении этой операции.

  • Чтобы остановить сбор журналов конфигурации сбора, выключите переключатель в столбце Ingestion Configuration, чтобы отключить конфигурацию. Чтобы возобновить сбор журналов, включите переключатель в столбце Ingestion Configuration.
    Warning

    Отключение конфигурации сбора может привести к сбоям сбора журналов, потенциально вызывая исключения сервиса, связанные с журналами пользователей. Будьте осторожны при выполнении этой операции.

Настройка нескольких конфигураций сбора в пакетном режиме

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

  1. На странице Ingestion Management нажмите Batch Create, чтобы перейти на страницу деталей конфигурации.

    1. Ingestion Type: выберите ECS (Elastic Cloud Server).
    2. Rule List:
      • Введите количество конфигураций сбора в текстовое поле и нажмите Add.
      • Введите имя правила в разделе Configuration Items справа. Вы также можете дважды щёлкнуть имя конфигурации сбора слева, чтобы заменить его пользовательским именем после настройки элементов конфигурации. Имя правила может содержать от 1 до 64 символов, включая только буквы, цифры, дефисы (-), подчёркивания (_) и точки (.). Оно не может начинаться с точки или подчёркивания и не может заканчиваться точкой.
      • Чтобы скопировать конфигурацию сбора, наведите курсор на неё и нажмите .
      • Чтобы удалить конфигурацию сбора, наведите курсор на неё и нажмите . В отображаемом диалоговом окне нажмите OK.
    3. Configuration Items:
      • Конфигурации сбора отображаются слева. Вы можете добавить до 99 дополнительных конфигураций.
      • Элементы конфигурации ingest отображаются справа. Установите их, ссылаясь на Step 3: Configure the Collection.
      • После завершения конфигурации ingest вы можете нажать Apply to Other Configurations, чтобы скопировать её настройки в другие конфигурации.

  2. Нажмите Check Parameters. После успешной проверки нажмите Submit.

    Добавленные конфигурации ingest будут отображаться на странице Ingestion Management после успешного пакетного создания.

  3. (Optional) Выполните следующие операции с конфигурациями ingest:

    • Выберите несколько существующих конфигураций ingest и нажмите Edit. На отображённой странице выберите тип ingest для изменения соответствующих конфигураций ingest.
    • Выберите несколько отключённых конфигураций ingest, нажмите Enable/Disable Ingestion Configuration и выберите Enable, чтобы включить их пакетно.
    • Выберите несколько включённых конфигураций ingest, нажмите Enable/Disable Ingestion Configuration и выберите Disable. Для отключённых конфигураций ingest журналы не собираются. Будьте осторожны при отключении этих конфигураций.
    • Выберите несколько существующих конфигураций ingest и нажмите Delete.