Просмотр логов кластера 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— сообщение, которое выводит сервис.
-
Идентификатор кластера можно запросить со списком кластеров в каталоге.
-
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Команда не завершается после отправки. Новые логи отображаются в выводе команды в режиме реального времени.