Чтение записей
Время в журнале указано по UTC
- В консоли управления
перейдите в каталог, в котором находится лог-группа. - Выберите сервис Cloud Logging.
- Нажмите на строку с лог-группой, записи в которой хотите посмотреть.
- На открывшейся странице отобразятся записи.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
При просмотре журнала вы можете указать конкретный временной интервал с помощью флагов --since
и --until
. Если временной интервал не был указан, отображается информация за последний час.
Использование флагов:
--since
— момент времени N и позже (флаг--since
можно опустить и указать сразу время).--until
— момент времени N и раньше.
Если был указан только один флаг, отображается информация за один час до или после момента времени N в зависимости от указанного флага.
Допустимые форматы указания времени:
ЧЧ:ММ:СС
. Например,15:04:05
.- RFC-3339
. Например:2006-01-02T15:04:05Z
,2h
,3h30m ago
.
Для обращения к лог-группе используйте ее имя или уникальный идентификатор. Чтобы узнать их, получите список лог-групп в каталоге. Если имя или идентификатор не указаны, выводятся записи из лог-группы по умолчанию текущего каталога. Флаги --group-name
и --group-id
можно опустить и указать сразу имя или идентификатор группы.
Ограничить количество выводимых записей можно с помощью флага --limit
. Допустимые значения — от 1 до 1000.
Чтобы посмотреть записи в формате JSON, выполните команду:
yc logging read --group-name=default --format=json
Результат:
[
{
"uid": "488ece3c-75b8-4d35-95ac-2b49********",
"resource": {},
"timestamp": "2023-06-22T02:10:40Z",
"ingested_at": "2023-06-22T08:49:15.716Z",
"saved_at": "2023-06-22T08:49:16.176097Z",
"level": "INFO",
"message": "My message",
"json_payload": {
"request_id": "1234"
}
}
]
Чтобы читать записи по мере их поступления, используйте флаг --follow
:
yc logging read --group-name=default --follow
Такая команда выведет записи за последний час и продолжит выводить новые до тех пор, пока вы не прервете ее, нажав Ctrl + C. Флаг --follow
не совместим с флагами --since
и --until
.
Чтобы посмотреть записи в лог-группе, воспользуйтесь вызовом gRPC API LogReadingService/Read.
Читать записи в Cloud Logging можно с помощью Yandex Cloud SDK, реализованного для различных языков. Ниже приведены примеры использования Python SDK.
Локально
import os
import yandexcloud
import pprint
from yandex.cloud.logging.v1.log_reading_service_pb2 import ReadRequest
from yandex.cloud.logging.v1.log_reading_service_pb2 import Criteria
from yandex.cloud.logging.v1.log_reading_service_pb2_grpc import LogReadingServiceStub
def handler():
cloud_logging_service = yandexcloud.SDK(iam_token=os.environ['iam']).client(LogReadingServiceStub)
logs = {}
criteria = Criteria(log_group_id='<id_log_группы>', resource_ids=['<id_ресурса>'])
read_request = ReadRequest(criteria=criteria)
logs = cloud_logging_service.Read(read_request)
return logs
pprint.pprint(handler())
Где:
log_group_id
— идентификатор лог-группы.resource_ids
— идентификатор ресурса, например кластера Managed Service for Kubernetes.
Yandex Cloud Functions
import yandexcloud
from yandex.cloud.logging.v1.log_reading_service_pb2 import ReadRequest
from yandex.cloud.logging.v1.log_reading_service_pb2 import Criteria
from yandex.cloud.logging.v1.log_reading_service_pb2_grpc import LogReadingServiceStub
def handler(event, context):
cloud_logging_service = yandexcloud.SDK().client(LogReadingServiceStub)
logs = {}
criteria = Criteria(log_group_id='<id_log_группы>', resource_ids=['<id_ресурса>'])
read_request = ReadRequest(criteria=criteria)
logs = cloud_logging_service.Read(read_request)
return logs
Где:
log_group_id
— идентификатор лог-группы.resource_ids
— идентификатор ресурса, например кластера Managed Service for Kubernetes.
Параметры функции:
- Среда выполнения:
python38
. - Точка входа:
index.handler
. - Таймаут, c:
3
. - Память:
128 МБ
.