Во время рутинного O&M, когда кластер OpenSearch становится медленным, возвращает ошибку при запросе или показывает желтый статус, команде O&M необходимо сразу получать соответствующую информацию. CSS предоставляет функцию запроса логов, которая агрегирует базовые серверные логи в консоль, где их можно запросить по узлу и уровню лога за секунды. Анализируя журналы выполнения, журналы медленных запросов и журналы устаревания, вы быстро находите коренные причины сбоев и проблем. Кроме того, вы можете динамически изменять уровни логов и включать трассировочное логирование для отладки, получая самые подробные записи логов без перезапуска кластера.
Запрос недавно сгенерированных логов, которые ещё не архивированы.
Вы можете искать записи по типу лога, узлу, уровню лога или ключевому слову. Подробное описание каждого типа логов см. в Log Types.
Когда размер файла лога достигает 128 МБ или наступает 00:00 UTC, система автоматически сжимает и архивирует его. На странице поиска логов отображаются только неархивированные логи, тогда как архивированные логи остаются доступными через функцию резервного копирования логов. Подробнее см. в Backing Up Logs to OBS.
В кластерах OpenSearch в качестве компонента логов используется Log4j2. Поддерживается несколько уровней логов (ERROR, WARN, INFO, DEBUG и TRACE). Уровень логов по умолчанию — INFO. Для упрощения устранения неполадок и отладки вы можете динамически изменять уровни логов.
Левая часть консоли — это поле ввода команды, а треугольный значок в её правом верхнем углу является кнопкой выполнения. Правая часть отображает результат выполнения.
PUT _cluster/settings{"persistent": {"logger": {"org.opensearch.action": "DEBUG"}}}
PUT _cluster/settings{"persistent": {"logger": {"org.opensearch.action": null}}}
Для анализа деталей коммуникации на уровне HTTP или транспортного уровня можно включить трассировочное журналирование для модуля HTTP или Transport, чтобы получить подробные записи журналов.
Левая часть console — это command input box, а triangle icon в её правом верхнем углу является execution button. Правая часть отображает execution result.
PUT _cluster/settings{"transient": {"logger.org.opensearch.transport.TransportService.tracer": "trace","transport.tracer.include": "","http.tracer.include": "","logger.org.opensearch.http.HttpTracer": "trace"}}
Включение trace logging является непостоянной конфигурацией и будет отключено после перезапуска кластера. Обычно его используют для экстренного захвата пакетов и их анализа при устранении неполадок.
Log Type | Description | Purpose |
|---|---|---|
Run logs | Run logs, или main logs, фиксируют состояние кластера и ключевую информацию о операциях записи и запросов. Например, write logs фиксируют операции, такие как index creation, index mapping update и write queue exhaustion; а query logs фиксируют query queue status и query exceptions. | Проверьте состояние и операции записи и запросов каждого узла кластера, включая inter-node connectivity, full GC, создание или удаление индекса и ошибки запросов на уровне кластера. |
Slow indexing logs | Slow indexing logs фиксируют операции индексации (например bulk, index, update и delete), которые заняли длительное время, помогая вам выявлять узкие места в производительности. | В случае медленной записи вы можете выполнить запрос к Slow indexing logs, чтобы определить причину. |
Slow query logs | Slow query logs фиксируют запросы поиска, которые заняли длительное время. Они помогают вам мониторить и анализировать ресурсоёмкие запросы поиска, чтобы вы могли выявлять узкие места в производительности, оптимизировать SQL queries и повышать общую производительность системы. | В случае медленной производительности запросов вы можете выполнить запрос к Slow query logs, чтобы определить причину. |
Deprecation logs | Deprecation logs фиксируют предупреждения об устаревании. Предупреждения об устаревании записываются в этот журнал, когда вы используете API, конфигурации или функции, помеченные для удаления в будущих версиях. | Проверьте API или функции, которые скоро будут устаревать в будущих версиях. |
Access logs | Access logs фиксируют запросы доступа к кластеру, такие как путь запроса и исходный адрес. Вы не можете просматривать Access logs в консоли. Чтобы просмотреть их, необходимо сначала создать резервную копию в OBS bucket или перенести их в целевой кластер. | Если наблюдается всплеск запросов к сервису, вы можете проанализировать источники запросов и пути, проверив Access logs. |
Run logs фиксируют статус кластера и ключевую информацию о операциях записи и запросов. Например, запись журнала ниже показывает, что индекс с именем test был создан, а затем статус кластера изменился с YELLOW на GREEN.
Рисунок 1 Пример журнала выполнения

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

Содержимое журнала: 1. Время создания журнала
Журналы медленных запросов фиксируют поисковые запросы, выполнение которых заняло длительное время. Например, запись журнала ниже показывает поисковый запрос, который длился дольше установленного порога. Журнал содержит имя индекса, продолжительность и содержание запроса.
Рисунок 3 Пример журнала медленных запросов

Содержание журнала:
Журналы устаревания фиксируют предупреждения об устаревании. Например, запись журнала ниже указывает, что GET /_cat/master устарел и его следует заменить на GET /_cat/cluster_manager.
Рисунок 4 Пример журнала устаревания

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

Содержимое журнала: