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

Управление логами кластера Elasticsearch

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

CSS предоставляет запрос логов и резервное копирование логов, позволяя вам легко управлять и анализировать логи для эффективного обнаружения ошибок, оптимизации производительности и повышения безопасности системы.

  • Запрос логов: На странице управления логами консоли управления CSS, вы можете запросить последние записи логов по узлу, типу лога и другим критериям, чтобы быстро обнаружить или диагностировать проблемы.
  • Резервное копирование логов: Логи кластера периодически синхронизируются в бакеты OBS. Вы можете загружать их для углублённого анализа в любое время. Вы можете настроить пользовательские политики резервного копирования, указав графики резервного копирования и места хранения. Система резервирует все критические логи, включая журналы выполнения, журналы медленных запросов и журналы устаревших функций. Они предоставляют исчерпывающие данные для аудита и устранения неполадок.

Влияние на выставление счетов

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

Требования

Создан бакет OBS, используемый для хранения резервных копий логов. Бакет OBS должен соответствовать следующим требованиям:

  • Класс хранилища: Стандартный.
  • Регион: то же, что у кластера.

Запрос логов

  1. Войдите в консоль управления CSS.
  2. В навигационной панели слева выберите Кластеры > Elasticsearch.
  3. В списке кластеров щелкните название целевого кластера. Страница информации о кластере отображается.
  4. Выберите Логи > Поиск логов. Страница Поиск логов отображается.

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

    Когда лог‑файл достигает 128 MB или когда наступает 00:00 UTC, система автоматически сжимает и архивирует его. Только неархивированные логи отображаются на странице поиска логов, а архивированные логи остаются доступными через функцию бэкапа логов.

Бэкап логов

Логи кластера можно бэкапить в OBS бакет, где вы можете скачать их для глубокого анализа в любое время.

  1. Войдите в консоль управления CSS.
  2. В навигационной панели слева выберите Clusters > Elasticsearch.
  3. В списке кластеров нажмите имя целевого кластера. Отображается страница информации о кластере.
  4. Выберите Logs > Log Backup. The Log Backup страница отображается.
  5. Включить бэкап логов.
  6. Бэкап логов. Доступны два варианта: автоматический или ручной.
  7. Проверьте файлы резервных Логов.

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

    Таблица 3 перечисляет типы логов, где clustername указывает имя кластера.

    Таблица 3 Типы логов

    Имя Лога

    Описание

    clustername_deprecation.log

    Файл журнала устаревания

    clustername_index_indexing_slowlog.log

    Файл лога медленной индексации

    clustername_index_search_slowlog.log

    Файл журнала медленных запросов

    clustername.log

    Файл журнала выполнения

    clustername_access.log

    Файл журнала доступа

  8. Если функция резервного копирования журналов больше не требуется, вы можете отключить её.

    На Log Backup странице, нажмите Disable Backup. В отображаемом диалоговом окне, нажмите OK. Отключение резервного копирования журналов не удаляет автоматически существующие резервные копии журналов. Вместо этого вам необходимо вручную удалить их в консоли OBS.

Log Introduction

Таблица 4 Введение в различные типы журналов

Log Type

Описание

Назначение

Логи выполнения

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

Проверьте состояние и операции записи и запросов каждого узла кластера, включая межузловую связность, полную GC, создание или удаление индекса, а также ошибки запросов на уровне кластера.

Логи медленной индексации

Логи медленной индексации фиксируют операции индексации (такие как bulk, index, update и delete), которые заняли длительное время для завершения, помогая выявлять узкие места в производительности.

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

Логи медленных запросов

Логи медленных запросов фиксируют поисковые запросы, которые заняли длительное время для завершения. Они помогают мониторить и анализировать длительные поисковые запросы, чтобы выявлять узкие места в производительности, оптимизировать SQL‑запросы и улучшать общую производительность системы.

В случае низкой производительности запросов вы можете выполнить запрос к slow query logs, чтобы определить причину.

Deprecation логи

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

Проверьте APIs или функции, которые скоро истекут в будущих версиях.

Access логи

Access логи записывают запросы доступа к кластеру, такие как путь запроса и исходный адрес.

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

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

  • Run Log описание

    Run логи записывают статус кластера и ключевую информацию о операциях записи и запросов. Например, запись Log ниже указывает, что индекс с именем test был создан, а затем статус кластера изменился из YELLOW в GREEN.

    Рисунок 1 Пример журналов выполнения


    Содержание Лога:

    • 1. Время генерации Лога
    • 2. Уровень Лога, который может быть DEBUG, INFO, WARN, или ERROR
    • 3. Модуль, генерирующий Лог
    • 4. Имя узла, генерирующего Лог
    • 5. Содержание Лога

  • Описание журнала медленной индексации

    Журналы медленной индексации фиксируют операции индексации, которые заняли длительное время. Например, запись журнала ниже показывает запрос индексации, который длился дольше установленного порога. Журнал содержит название индекса, продолжительность и содержание запроса.

    Рисунок 2 Пример журналов медленной индексации


    Содержание лога:

    • 1. Время генерации лога

    • 2. Уровень лога, который может быть DEBUG, INFO, WARN или ERROR
    • 3. Модуль генерации лога
    • 4. Имя узла, генерирующего лог
    • 5. Имя индекса и ID
    • 6. Содержание лога. В этом примере лог записал продолжительность выполнения запроса, тип индекса и тело запроса индекса.

  • Описание лога медленных запросов

    Логи медленных запросов фиксируют поисковые запросы, которые занимали длительное время для выполнения. Например, запись лога ниже показывает поисковый запрос, который продолжался дольше установленного порога. Лог содержит имя индекса, продолжительность и содержимое запроса.

    Рисунок 3 Пример логов медленных запросов


    Содержание лога:

    • 1. Время генерации лога
    • 2. Уровень лога, который может быть DEBUG, INFO, WARN или ERROR
    • 3. Модуль генерации лога
    • 4. Имя узла, генерирующего лог
    • 5. Имя индекса и ID шарда
    • 6. Содержание лога. В этом примере журнал записал длительность запроса, количество совпадений и тело запроса.

  • Описание лога устаревания

    Логи устаревания записывают предупреждения об устаревании. Например, запись журнала ниже указывает, что GET /_cat/master устарел и должен быть заменён на GET /_cat/cluster_manager.

    Рисунок 4 Пример журналов устаревания


    Содержание лога:

    • 1. Время генерации лога
    • 2. Уровень лога, который может быть только DEPRECATION.
    • 3. Модуль генерации лога
    • 4. Имя узла, генерирующего лог
    • 5. Содержание лога

  • Описание журнала доступа

    Логи доступа фиксируют запросы доступа к кластеру и исходные адреса. Например, запись лога ниже содержит информацию об источнике для операции /_snapshot/my_backup/my_snapshot/_restore?pretty=true.

    Рисунок 5 Пример логов доступа


    Содержание лога:

    • 1. Время создания лога
    • 2. Имя узла, генерирующего лог
    • 3. Имя потока, генерирующего лог
    • 4. Уровень лога, который может быть DEBUG, INFO, WARN или ERROR.
    • 5. Метод запроса лога
    • 6. Путь запроса
    • 7. Исходные и целевые адреса запроса

FAQ: Как изменить уровни лога?

Log4j2 используется как компонент логирования в кластерах Elasticsearch. Поддерживается несколько уровней лога (ERROR, WARN, INFO, DEBUG и TRACE). Уровень лога по умолчанию — INFO. Для упрощения устранения проблем и отладки вы можете динамически менять уровни лога.

  • INFO — уровень журнала по умолчанию. Уровни, в порядке увеличения детализации, следующие: ERROR, WARN, INFO, DEBUG и TRACE. Когда установлен INFO, вы будете видеть логи для него самого и всех уровней более высокой серьёзности (ERROR и WARN), тогда как более подробные уровни (DEBUG и TRACE) исключены.
  • Вы можете изменить уровень журнала указанного модуля в реальном времени через API Elasticsearch.

Пример

  1. Войдите в Kibana и перейдите на страницу выполнения команд. Кластеры Elasticsearch поддерживают несколько методов доступа. Эта тема использует Kibana как пример для описания процедур эксплуатации.
    1. Войдите в консоль управления CSS.
    2. В навигационной панели слева выберите Кластеры > Elasticsearch.
    3. В списке кластеров найдите целевой кластер и щёлкните Kibana в Операция столбце для входа в консоль Kibana.
    4. В левой навигационной панели выберите Инструменты разработки.

      Левая часть консоли — это поле ввода команды, а треугольный значок в её правом верхнем углу — кнопка выполнения. Правая часть отображает результат выполнения.

  2. Выполните следующую команду, чтобы изменить уровень Лога модуля действия на DEBUG:
    PUT _cluster/settings
    {
    "persistent": {
    "logger": {
    "org.elasticsearch.action": "DEBUG"
    }
    }
    }
  3. Выполните следующую команду, чтобы восстановить уровень Лога по умолчанию INFO:
    PUT _cluster/settings
    {
    "persistent": {
    "logger": {
    "org.elasticsearch.action": null
    }
    }
    }

FAQ: Как включить трассировку журналов?

Для облегчения устранения неполадок, отладки и анализа производительности вы можете включить трассировку журналов для модуля HTTP/Transport и просмотреть подробные трассировочные журналы.

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

Руководство

  1. Войдите в Kibana и перейдите на страницу выполнения команд. Кластеры Elasticsearch поддерживают несколько методов доступа. В данном разделе Kibana используется в качестве примера для описания операционных процедур.
    1. Войдите в консоль управления CSS.
    2. В навигационной панели слева выберите Кластеры > Elasticsearch.
    3. В списке кластеров найдите целевой кластер и нажмите Kibana в Операция столбце, чтобы войти в консоль Kibana.
    4. В левой навигационной панели выберите Dev Tools.

      Левая часть консоли — это поле ввода команды, а треугольный значок в её верхнем правом углу является кнопкой выполнения. Правая часть отображает результат выполнения.

  2. Выполните следующую команду, чтобы включить трассировку журналов:
    PUT _cluster/settings
    {
    "transient": {
    "logger.org.elasticsearch.transport.TransportService.tracer": "trace",
    "transport.tracer.include": "",
    "http.tracer.include": "",
    "logger.org.elasticsearch.http.HttpTracer": "trace"
    }
    }
  3. Перейдите на страницу деталей журнала, чтобы просмотреть трассировочные журналы.
    1. В списке кластеров щелкните название целевого кластера. Отобразится страница информации о кластере.
    2. Выберите Логи > Поиск Лога. Эта Лог Поиск страница отображается.
    3. Выберите все уровни логов (обязательно) и просмотрите трассировочные логи.

Связанные документы