Получить логи
Получить логи можно только для балансировщиков и кластеров облачных баз данных, для которых включено логирование.
Вы можете:
Получать логи можно с помощью:
- панели управления;
- интерфейса AWS CLI, который позволяет использовать методы Amazon CloudWatch API, подробнее в статьях (DescribeLogGroups, DescribeLogStreams, GetLogEvents) и FilterLogEvents документации AWS. Для начала работы настройте AWS CLI;
- SDK-клиента. Для начала работы настройте SDK-клиент;
- плагина Fluent Bit. Для начала работы настройте Fluent Bit;
- агента Grafana Alloy. Для начала работы настройте Grafana Alloy.
Адрес (URL) можно посмотреть в списке URL.
Получить список групп логов
В сервисе не поддерживаются параметры logGroupClass, includeLinkedAccounts, accountIdentifiers и logGroupIdentifiers для получения списка групп логов. Подробнее о параметрах группы логов в статье DescribeLogGroups официальной документации AWS.
Панель управления
SDK-клиент
AWS CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Логи.
-
Перейдите в раздел Логи.
Python
Go
-
Откройте существующий файл скрипта или создайте новый.
-
Скопируйте скрипт в файл:
response = client.describe_log_groups(
# logGroupNamePrefix='<log_group_name_prefix>',
# logGroupNamePattern='<log_group_name_pattern>',
# nextToken='<next_token>',
limit=<log_groups_number>,
)
print(response['logGroups'])
print(response.get('nextToken'))Укажите:
-
опционально:
<log_group_name_preffix>— префикс группы логов, напримерs/lbaas/; Не указывайте параметрlogGroupNamePrefix, если вы передали параметрlogGroupNamePattern; -
опционально:
<log_group_name_pattern>— шаблон имени группы логов для фильтрации. Параметр чувствителен к регистру. В ответе будут отображаться группы логов, имена которых совпадают с указанным значением. Например, если указатьlbaas, в ответе будут отображаться группы логов с именамиlbaas,s/lbaas. Не указывайте параметрlogGroupNamePattern, если вы передали параметрlogGroupNamePrefix; -
опционально:
<next_token>— токен для следующего набора возвращаемых групп; -
<log_groups_number>— максимальное количество групп в ответе, например10. Если значение не указано, по умолчанию будет возвращаться 50 групп. Если группы не найдены, вы получите пустой список. Пример ответа:
-
-
Запустите скрипт. В ответе вы получите:
-
пустой список, если группы логов нет. Пример ответа:
{"logGroups":[]} -
список группы логов. Пример ответа:
{
"logGroups": [
{
"logGroupName": "s/lbaas/Bellatrix-lb",
"creationTime": 1742663023757
},
{
"logGroupName": "group-name",
"creationTime": 1738779717218
},
{
"logGroupName": "s/lbaas/test-lb-for-logs",
"creationTime": 1743073180613
}
]
} -
список группы логов и
nextToken, если есть еще группы. Вы можете указать токен в запросе для получения следующей страницы результатов. Пример ответа:{
"logGroups": [...],
"nextToken": 'string'
}
-
-
Откройте существующий файл скрипта или создайте новый.
-
Скопируйте скрипт в файл:
input := &cloudwatchlogs.DescribeLogGroupsInput{
// LogGroupNamePrefix: aws.String("<log_group_name_prefix>"),
// LogGroupNamePattern: aws.String("<log_group_name_pattern>"),
// NextToken: aws.String("<next_token>"),
Limit: aws.Int32(log_<groups_number>),
}
resp, err := client.DescribeLogGroups(context.TODO(), input)
if err != nil {
log.Fatalf("Ошибка DescribeLogGroups: %v", err)
}
fmt.Printf("Response: %+v\n", resp)Укажите:
-
опционально:
<log_group_name_preffix>— префикс группы логов, напримерs/lbaas/; Не указывайте параметрlogGroupNamePrefix, если вы передали параметрlogGroupNamePattern; -
опционально:
<log_group_name_pattern>— шаблон имени группы логов для фильтрации. Параметр чувствителен к регистру. В ответе будут отображаться группы логов, имена которых совпадают с указанным значением. Например, если указатьlbaas, в ответе будут отображаться группы логов с именамиlbaas,s/lbaas. Не указывайте параметрlogGroupNamePattern, если вы передали параметрlogGroupNamePrefix; -
опционально:
<next_token>— токен для следующего набора возвращаемых групп; -
<log_groups_number>— максимальное количество групп в ответе, например10. Если значение не указано, по умолчанию будет возвращаться 50 групп.
-
-
Запустите скрипт. В ответе вы получите:
-
пустой список, если группы логов нет. Пример ответа:
{"logGroups":[]} -
список группы логов. Пример ответа:
{
"logGroups": [
{
"logGroupName": "s/lbaas/Bellatrix-lb",
"creationTime": 1742663023757
},
{
"logGroupName": "group-name",
"creationTime": 1738779717218
},
{
"logGroupName": "s/lbaas/test-lb-for-logs",
"creationTime": 1743073180613
}
]
} -
список группы логов и
nextToken, если есть еще группы. Вы можете указать токен в запросе для получения следующей страницы результатов. Пример ответа:{
"logGroups": [...],
"nextToken": 'string'
}
-
Выполните команду:
aws logs describe-log-groups
Получить список стримов событий
В сервисе не поддерживаются параметры logGroupIdentifier, descending и orderBy для получения списка стримов событий.
Подробнее о параметрах стримов событий в статье DescribeLogStreams официальной документации AWS.
Панель управления
SDK-клиент
AWS CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Логи.
-
Перейдите в раздел Логи.
-
Опционально: выберите продукт группы логов.
-
Откройте страницу группы логов.
Python
Go
-
Откройте существующий файл скрипта или создайте новый.
-
Скопируйте скрипт в файл:
response = client.describe_log_streams(
logGroupName='<log_group_name>',
# nextToken='<next_token>',
limit=<streams_number>,
)
print(response['logGroups'])
print(response.get('nextToken'))Укажите:
-
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb; -
опционально:
<next_token>— токен для следующего набора возвращаемых стримов; -
<streams_number>— максимальное количество стримов в ответе, например10. Если значение не указано, по умолчанию будет возвращаться 50 стримов.
-
-
Запустите скрипт. В ответе вы получите:
-
пустой список, если стримов в группе логов нет. Пример ответа:
{"logStreamName":[]} -
список стримов в группе логов. Пример ответа:
{
"logStreamName": [
{
"logStreamName": "pgbouncer.log-2a682d5d-dea9-48bc-8850-0c332c574f4e",
"creationTime": 1755619440620
},
{
"logGroupName": "stream-name",
"creationTime": 1755619440634
}
]
} -
список стримов и
nextToken, если есть еще стримы. Вы можете указать токен в запросе для получения следующей страницы результатов. Пример ответа:{
"logStreamName": [...],
"nextToken": "string"
}
-
-
Откройте существующий файл скрипта или создайте новый.
-
Скопируйте скрипт в файл:
input := &cloudwatchlogs.DescribeLogStreamsInput{
LogGroupName: aws.String("<log_group_name>"),
// NextToken: aws.String("<next_token>"),
Limit: aws.Int32(<streams_number>),
}
resp, err := client.DescribeLogStreams(context.TODO(), input)
if err != nil {
log.Fatalf("Ошибка DescribeLogStreams: %v", err)
}
fmt.Printf("Response: %+v\n", resp)Укажите:
-
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb; -
опционально:
<next_token>— токен для следующего набора возвращаемых стримов; -
<streams_number>— максимальное количество стримов в ответе, например10. Если значение не указано, по умолчанию будет возвращаться 50 стримов.
-
-
Запустите скрипт. В ответе вы получите:
-
пустой сп исок, если стримов в группе логов нет. Пример ответа:
{"logStreamName":[]} -
список стримов в группе логов. Пример ответа:
{
"logStreamName": [
{
"logStreamName": "pgbouncer.log-2a682d5d-dea9-48bc-8850-0c332c574f4e",
"creationTime": 1755619440620
},
{
"logGroupName": "stream-name",
"creationTime": 1755619440634
}
]
} -
список стримов и
nextToken, если есть еще стримы. Вы можете указать токен в запросе для получения следующей страницы результатов. Пример ответа:{
"logStreamName": [...],
"nextToken": "string"
}
-
Выполните команду:
aws logs describe-log-streams --log-group-name <log_group_name>
Укажите <log_group_name> — имя группы логов, например s/lbaas/Bellatrix-lb.
Получить события
В сервисе не поддерживаются параметры logGroupIdentifier и unmask для получения событий.
Подробнее о параметрах событий в статье GetLogEvents официальной документации AWS.
Панель управления
SDK-клиент
AWS CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Логи.
-
Перейдите в раздел Логи.
-
Опционально: выберите продукт группы логов.
-
Откройте страницу группы логов.
-
Выберите стрим.
-
Опционально: отфильтруйте события.
Python
Go
-
Откройте существующий файл скрипта или создайте новый.
-
Скопируйте скрипт в файл:
response = client.get_log_events(
logGroupName='<log_group_name>',
logStreamName='<stream_name>',
# nextBackwardToken='<back_token>',
# nextForwardToken='<next_token>',
limit=<events_number>
)
print(response)Укажите:
-
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb; -
<log_stream_name>— имя стрима событий, напримерhttp-b964dde5-7080-4169-8f9e-127bd59c89ca; -
опционально:
<back_token>— токен для предыдущего набора возвращаемых событий; -
опционально:
<next_token>— токен для следующего набора возвращаемых событий; -
<events_number>— максимальное количество событий логов в ответе. Минимальное значение событий в ответе — 1, максимальное значение — 10000. Если ограничение не указано, в ответе по умолчанию отображается количество событий размером 1 МБ (до 10 000 событий).
-
-
Запустите скрипт. В ответе вы получите:
-
пустой список, если событий в стриме нет. Пример ответа:
{"events":[]} -
список событий стрима. Пример ответа:
{
"events": [
{
"id": "6b050a98-8810-4832-b0fe-aee56e34b682",
"ingestion": 1742920694862,
"message": "{\"loadbalancer_id\":\"b964dde5-7080-4169-8f9e-127bd59c89ca\",\"client\":\"10.10.10.10:61076\",\"server_queue\":\"0\",\"backend\":\"0c7498bf-e053-43a8-ba19-4550c9d9904d:3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"bytes_out\":\"354\",\"backend_connections\":\"0\",\"destination\":\"192.168.0.18:80\",\"bytest_in\":\"991\",\"termination_state\":\"--\",\"server\":\"ac64ca54-952f-4881-8a54-6ff77baa1e91\",\"frontend_connections\":\"1\",\"backend_queue\":\"0\",\"elapsed\":\"4\",\"frontend\":\"3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"server_connections\":\"0\"}",
"timestamp": 1742920687071
},
{
"id": "687feab8-6eb9-4ef1-95ed-92259b6bce4a",
"ingestion": 1742920697233,
"message": "{\"loadbalancer_id\":\"b964dde5-7080-4169-8f9e-127bd59c89ca\",\"client\":\"10.10.10.10:61076\",\"server_queue\":\"0\",\"backend\":\"0c7498bf-e053-43a8-ba19-4550c9d9904d:3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"bytes_out\":\"413\",\"backend_connections\":\"0\",\"destination\":\"192.168.0.18:80\",\"bytest_in\":\"1039\",\"termination_state\":\"--\",\"server\":\"ac64ca54-952f-4881-8a54-6ff77baa1e91\",\"frontend_connections\":\"1\",\"backend_queue\":\"0\",\"elapsed\":\"9\",\"frontend\":\"3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"server_connections\":\"0\"}",
"timestamp": 1742920687061
}
]
} -
список событий,
nextBackwardTokenилиnextForwardToken, если есть еще события. Вы можете указать токен в запросе для получения предыдущей или следующей страницы результатов. Пример ответа:{
"events": [...],
"nextBackwardToken": "string",
"nextForwardToken": "string"
}
-
-
Откройте существующий файл скрипта или создайте новый.
-
Скопируйте скрипт в файл:
input := &cloudwatchlogs.GetLogEventsInput{
LogGroupName: aws.String("<log_group_name>"),
LogStreamName: aws.String("<log_stream_name>"),
// NextBackwardToken: aws.String("<back_token>"),
// NextForwardToken: aws.String("<next_token>"),
Limit: aws.Int32(<events_number>),
}
resp, err := client.GetLogEvents(context.TODO(), input)
if err != nil {
log.Fatalf("Ошибка GetLogEvents: %v", err)
}
fmt.Printf("Response: %+v\n", resp)Укажите:
-
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb; -
<log_stream_name>— имя стрима событий, напримерhttp-b964dde5-7080-4169-8f9e-127bd59c89ca; -
опционально:
<back_token>— токен для предыдущего набора возвращаемых событий; -
опционально:
<next_token>— токен для следующего набора возвращаемых событий; -
<events_number>— максимальное количество возвращаемых событий логов, например10. Минимальное значение событий в ответе — 1, максимальное значение — 10000. Если ограничение не указано, в ответе по умолчанию отображается количество событий размером 1 МБ (до 10 000 событий).
-
-
Запустите скрипт. В ответе вы получите:
-
пустой список, если событий в стриме нет. Пример ответа:
{"events":[]} -
список событий стрима. Пример ответа:
{
"events": [
{
"id": "6b050a98-8810-4832-b0fe-aee56e34b682",
"ingestion": 1742920694862,
"message": "{\"loadbalancer_id\":\"b964dde5-7080-4169-8f9e-127bd59c89ca\",\"client\":\"10.10.10.10:61076\",\"server_queue\":\"0\",\"backend\":\"0c7498bf-e053-43a8-ba19-4550c9d9904d:3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"bytes_out\":\"354\",\"backend_connections\":\"0\",\"destination\":\"192.168.0.18:80\",\"bytest_in\":\"991\",\"termination_state\":\"--\",\"server\":\"ac64ca54-952f-4881-8a54-6ff77baa1e91\",\"frontend_connections\":\"1\",\"backend_queue\":\"0\",\"elapsed\":\"4\",\"frontend\":\"3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"server_connections\":\"0\"}",
"timestamp": 1742920687071
},
{
"id": "687feab8-6eb9-4ef1-95ed-92259b6bce4a",
"ingestion": 1742920697233,
"message": "{\"loadbalancer_id\":\"b964dde5-7080-4169-8f9e-127bd59c89ca\",\"client\":\"10.10.10.10:61076\",\"server_queue\":\"0\",\"backend\":\"0c7498bf-e053-43a8-ba19-4550c9d9904d:3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"bytes_out\":\"413\",\"backend_connections\":\"0\",\"destination\":\"192.168.0.18:80\",\"bytest_in\":\"1039\",\"termination_state\":\"--\",\"server\":\"ac64ca54-952f-4881-8a54-6ff77baa1e91\",\"frontend_connections\":\"1\",\"backend_queue\":\"0\",\"elapsed\":\"9\",\"frontend\":\"3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"server_connections\":\"0\"}",
"timestamp": 1742920687061
}
]
} -
список событий,
nextBackwardTokenилиnextForwardToken, если есть еще события. Вы можете указать токен в запросе для получения предыдущей или следующей страницы результатов. Пример ответа:{
"events": [...],
"nextBackwardToken": "string",
"nextForwardToken": "string"
}
-
Выполните команду:
aws logs get-log-events --log-group-name <log_group_name> --log-stream-name <log_stream_name>
Укажите:
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb;<log_stream_name>— имя стрима событий, напримерhttp-b964dde5-7080-4169-8f9e-127bd59c89ca.
Отфильтровать события
В сервисе не поддерживаются параметры interleaved, logGroupIdentifier и unmask для фильтрации событий.
Подробнее о параметрах фильтрации событий в статье FilterLogEvents официальной документации AWS.
Панель управления
SDK-клиент
AWS CLI
-
В панели управления в верхнем меню нажмите Продукты и выберите Логи.
-
Перейдите в раздел Логи.
-
Опционально: выберите продукт группы логов.
-
Откройте страницу группы логов.
-
Выберите стрим.
-
В поисковую строку введите значение, которое содержат события. Вы можете испо льзовать шаблон фильтров для неструктурированных логов. Подробнее в статье Using filter patterns to match terms in unstructured log events документации AWS.
Примеры значений в поисковой строке и результаты поиска по шаблону фильтра:
error— выведутся события, которые содержатerror;error timeout— выведутся события, которые содержатerrorиtimeout;?500 ?404— выведутся события, которые содержат500или404;error -timeout— выведутся события, которые содержатerror, но не содержатtimeout;"internal server error"— выведутся события с точным совпадением значения.
-
Опционально: выберите Время UTC или Локальное время для отображаемого времени событий.
-
Укажите период времени, чтобы отфильтровать события.
Python
Go
-
Откройте существующий файл скрипта или создайте новый.
-
Скопируйте скрипт в файл:
response = client.filter_log_events(
logGroupName='<log_group_name>',
# endTime=<timestamp>,
# nextToken='<next_token>',
limit=<events_number>
)
print(response['events'])
print(response.get('nextToken'))Укажите:
-
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb; -
опционально:
<timestamp>— конец временного диапазона в форматеtimestamp; -
<events_number>— максимальное количество возвращаемых событий логов, например10. Минимальное значение событий в ответе — 1, максимальное значение — 10000. Если ограничение не указано, в ответе по умолчанию отображается количество событий размером 1 МБ (до 10 000 событий); -
опционально:
<next_token>— токен для следующего набора возвращаемых событий.
-
-
Запустите скрипт. В ответе вы получите:
-
пустой список, если событий в стриме нет. Пример ответа:
{"events":[]} -
список собыйти. Пример ответа:
{
"events": [
{
"id": "6b050a98-8810-4832-b0fe-aee56e34b682",
"ingestion": 1742920694862,
"message": "{\"loadbalancer_id\":\"b964dde5-7080-4169-8f9e-127bd59c89ca\",\"client\":\"10.10.10.10:61076\",\"server_queue\":\"0\",\"backend\":\"0c7498bf-e053-43a8-ba19-4550c9d9904d:3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"bytes_out\":\"354\",\"backend_connections\":\"0\",\"destination\":\"192.168.0.18:80\",\"bytest_in\":\"991\",\"termination_state\":\"--\",\"server\":\"ac64ca54-952f-4881-8a54-6ff77baa1e91\",\"frontend_connections\":\"1\",\"backend_queue\":\"0\",\"elapsed\":\"4\",\"frontend\":\"3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"server_connections\":\"0\"}",
"timestamp": 1742920687071
},
{
"id": "687feab8-6eb9-4ef1-95ed-92259b6bce4a",
"ingestion": 1742920697233,
"message": "{\"loadbalancer_id\":\"b964dde5-7080-4169-8f9e-127bd59c89ca\",\"client\":\"10.10.10.10:61076\",\"server_queue\":\"0\",\"backend\":\"0c7498bf-e053-43a8-ba19-4550c9d9904d:3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"bytes_out\":\"413\",\"backend_connections\":\"0\",\"destination\":\"192.168.0.18:80\",\"bytest_in\":\"1039\",\"termination_state\":\"--\",\"server\":\"ac64ca54-952f-4881-8a54-6ff77baa1e91\",\"frontend_connections\":\"1\",\"backend_queue\":\"0\",\"elapsed\":\"9\",\"frontend\":\"3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"server_connections\":\"0\"}",
"timestamp": 1742920687061
}
]
} -
список событий и
nextToken, если есть еще события. Вы можете указать токен в запросе для получения следующей страницы результатов. Пример ответа:{
"events": [...],
"nextToken": "string"
}
-
-
Откройте существующий файл скрипта или создайте новый.
-
Скопируйте скрипт в файл:
input := &cloudwatchlogs.GetLogEventsInput{
LogGroupName=aws.String("stging"),
// EndTime=aws.Int64(<timestamp>),
// NextToken: aws.String("<next_token>"),
Limit=aws.Int32(10),
)
resp, err := client.FilterLogEvents(context.TODO(), input)
if err != nil {
log.Fatalf("Ошибка FilterLogEvents: %v", err)
}
fmt.Printf("Response: %+v\n", resp)Укажите:
-
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb; -
опционально:
<timestamp>— конец временного диапазона в форматеtimestamp; -
<events_number>— максимальное количество возвращаемых событий логов, например10. Минимальное значение событий в ответе — 1, максимальное значение — 10000. Если ограничение не указано, в ответе по умолчанию отображается количество событий размером 1 МБ (до 10 000 событий); -
опционально:
<next_token>— токен для следующего набора возвращаемых событий.
-
-
Запустите скрипт. В ответе вы получите:
-
пустой список, если событий в стриме нет. Пример ответа:
{"events":[]} -
список собыйти. Пример ответа:
{
"events": [
{
"id": "6b050a98-8810-4832-b0fe-aee56e34b682",
"ingestion": 1742920694862,
"message": "{\"loadbalancer_id\":\"b964dde5-7080-4169-8f9e-127bd59c89ca\",\"client\":\"10.10.10.10:61076\",\"server_queue\":\"0\",\"backend\":\"0c7498bf-e053-43a8-ba19-4550c9d9904d:3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"bytes_out\":\"354\",\"backend_connections\":\"0\",\"destination\":\"192.168.0.18:80\",\"bytest_in\":\"991\",\"termination_state\":\"--\",\"server\":\"ac64ca54-952f-4881-8a54-6ff77baa1e91\",\"frontend_connections\":\"1\",\"backend_queue\":\"0\",\"elapsed\":\"4\",\"frontend\":\"3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"server_connections\":\"0\"}",
"timestamp": 1742920687071
},
{
"id": "687feab8-6eb9-4ef1-95ed-92259b6bce4a",
"ingestion": 1742920697233,
"message": "{\"loadbalancer_id\":\"b964dde5-7080-4169-8f9e-127bd59c89ca\",\"client\":\"10.10.10.10:61076\",\"server_queue\":\"0\",\"backend\":\"0c7498bf-e053-43a8-ba19-4550c9d9904d:3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"bytes_out\":\"413\",\"backend_connections\":\"0\",\"destination\":\"192.168.0.18:80\",\"bytest_in\":\"1039\",\"termination_state\":\"--\",\"server\":\"ac64ca54-952f-4881-8a54-6ff77baa1e91\",\"frontend_connections\":\"1\",\"backend_queue\":\"0\",\"elapsed\":\"9\",\"frontend\":\"3ae8b472-d305-4ef0-8093-d43c87bc3646\",\"server_connections\":\"0\"}",
"timestamp": 1742920687061
}
]
} -
список событий и
nextToken, если есть еще события. Вы можете указать токен в запросе для получения следующей страницы результатов. Пример ответа:{
"events": [...],
"nextToken": "string"
}
-
Выполните команду:
aws logs filter-log-events --log-group-name <log_group_name> --log-stream-name <log_stream_name> --filter-pattern <filter>
Укажите:
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb;<log_stream_name>— имя стрима событий, напримерhttp-b964dde5-7080-4169-8f9e-127bd59c89ca;<filter>— значение, которое содержат события, напримерtimeout.