Просмотр логов кластера OpenSearch
Managed Service for OpenSearch позволяет получить фрагмент логов кластера за выбранный период и просматривать логи в реальном времени.
Получить лог кластера
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Воспользуйтесь методом Cluster.ListLogs и выполните запрос, например, с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-opensearch/v1/clusters/<идентификатор_кластера>:logs' \ --url-query serviceType=<тип_группы_хостов> \ --url-query columnFilter=<список_колонок> \ --url-query fromTime=<левая_граница_временного_диапазона> \ --url-query toTime=<правая_граница_временного_диапазона>
Где:
-
serviceType
— тип хостов, для которых нужно получить записи:OPENSEARCH
илиDASHBOARDS
. -
columnFilter
— список колонок для вывода информации. Список выводимых колонок зависит от выбранного типа хостовserviceType
:-
Для хостов
OpenSearch
:component
— компонент кластера, к которому относится запись в логах;hostname
— имя хоста;level
— уровень логирования;message
— сообщение, которое выводит сервис.
-
Для хостов
Dashboards
:hostname
— имя хоста;message
— сообщение, которое выводит сервис.
-
-
fromTime
— левая граница временного диапазона в формате RFC-3339 . Пример:2024-09-18T15:04:05Z
. -
toTime
— правая граница временного диапазона, формат аналогиченfromTime
.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
Далее предполагается, что содержимое репозитория находится в директории
~/cloudapi/
. -
Воспользуйтесь вызовом ClusterService.ListLogs и выполните запрос, например, с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/opensearch/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "service_type": "<тип_группы_хостов>", "column_filter": [ "<колонка_1>", "<колонка_2>", ..., "<колонка_N>" ], "from_time": "<левая_граница_временного_диапазона>", "to_time": "<правая_граница_временного_диапазона>" }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.opensearch.v1.ClusterService.ListLogs
Где:
-
service_type
— тип хостов, для которых нужно получить записи:OPENSEARCH
илиDASHBOARDS
. -
column_filter
— список колонок для вывода информации. Список выводимых колонок зависит от выбранного типа хостовservice_type
:-
Для хостов
OpenSearch
:component
— компонент кластера, к которому относится запись в логах;hostname
— имя хоста;level
— уровень логирования;message
— сообщение, которое выводит сервис.
-
Для хостов
Dashboards
:hostname
— имя хоста;message
— сообщение, которое выводит сервис.
-
-
from_time
— левая граница временного диапазона в формате RFC-3339 . Пример:2024-09-18T15:04:05Z
. -
to_time
— правая граница временного диапазона, формат аналогиченfrom_time
.
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Получить поток логов кластера
Этот способ позволяет получать логи кластера в реальном времени.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Воспользуйтесь методом Cluster.StreamLogs и выполните запрос, например, с помощью cURL
:curl \ --request GET \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://mdb.api.cloud.yandex.net/managed-opensearch/v1/clusters/<идентификатор_кластера>:stream_logs' \ --url-query serviceType=<тип_группы_хостов> \ --url-query columnFilter=<список_колонок>
Где:
-
serviceType
— тип хостов, для которых нужно получить записи:OPENSEARCH
илиDASHBOARDS
. -
columnFilter
— список колонок для вывода информации. Список выводимых колонок зависит от выбранного типа хостовserviceType
:-
Для хостов
OpenSearch
:component
— компонент кластера, к которому относится запись в логах;hostname
— имя хоста;level
— уровень логирования;message
— сообщение, которое выводит сервис.
-
Для хостов
Dashboards
:hostname
— имя хоста;message
— сообщение, которое выводит сервис.
-
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Команда не завершается после отправки. Новые логи отображаются в выводе команды в режиме реального времени.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapi
Далее предполагается, что содержимое репозитория находится в директории
~/cloudapi/
. -
Воспользуйтесь вызовом ClusterService.StreamLogs и выполните запрос, например, с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/mdb/opensearch/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d '{ "cluster_id": "<идентификатор_кластера>", "service_type": "<тип_группы_хостов>", "column_filter": [ "<колонка_1>", "<колонка_2>", ..., "<колонка_N>" ] }' \ mdb.api.cloud.yandex.net:443 \ yandex.cloud.mdb.opensearch.v1.ClusterService.StreamLogs
Где:
-
service_type
— тип хостов, для которых нужно получить записи:OPENSEARCH
илиDASHBOARDS
. -
column_filter
— список колонок для вывода информации. Список выводимых колонок зависит от выбранного типа хостовservice_type
:-
Для хостов
OpenSearch
:component
— компонент кластера, к которому относится запись в логах;hostname
— имя хоста;level
— уровень логирования;message
— сообщение, которое выводит сервис.
-
Для хостов
Dashboards
:hostname
— имя хоста;message
— сообщение, которое выводит сервис.
-
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Команда не завершается после отправки. Новые логи отображаются в выводе команды в режиме реального времени.