Добавить пользовательские логи
Автоматически логи собираются для балансировщика нагрузки и облачных баз данных, для которых включено логирование. Но вы можете добавить любые пользовательские логи в сервис Логи из своего хранилища.
Добавить логи можно с помощью:
- AWS CLI;
- или SDK-клиента.
Вы также можете настроить инструмент Fluent Bit или Vector и добавлять логи с их помощью.
Добавить логи можно в существующую группу логов и стрим событий или в новую группу логов и стрим. Подробнее о группах и стримах в подразделе Принцип работы инструкции Общая информация о сервисе Логи.
SDK-клиент
AWS CLI
Python
Go
-
Создайте или откройте файл скрипта клиента.
-
Если группы логов для доба вления событий нет, добавьте в скрипт код для создания новой группы:
response = client.create_log_group(logGroupName = <log_group_name>)Укажите
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb. -
Если стрима событий для добавления событий нет, добавьте в скрипт код для создания нового стрима:
response = client.create_log_stream(
logGroupName=<log_group_name>,
logStreamName=<log_stream_name>
)Укажите:
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb;<log_stream_name>— имя стрима событий, напримерhttp-b964dde5-7080-4169-8f9e-127bd59c89ca.
-
Добавьте в скрипт код для добавления событий:
messages = [<message>, <message>]
cur_time = int(time.time() * 1000)
log_events = []
for message in messages:
log_events.append({
'timestamp': cur_time,
'message': message
})
log_events = [
{
'timestamp': cur_time,
'message': message
}
]
kwargs = {
'logGroupName': <log_group_name>,
'logStreamName': <log_stream_name>,
'logEvents': log_events
}
response = self.client.put_log_events(**kwargs)Укажите:
<messages>— сообщения событий;<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb. В эту группу добавятся события. Список существующих групп логов можно посмотреть панели управления;<log_stream_name>— имя стрима событий, напримерhttp-b964dde5-7080-4169-8f9e-127bd59c89ca. В этот стрим добавятся события. Список существующих стримов событий можно посмотреть панели управления.
-
Запустите скрипт.
-
Создайте или откройте файл скрипта клиента.
-
Если группы логов для добавления событий нет, добавьте в скрипт код для создания новой группы:
resp, err := client.CreateLogGroup(ctx, &logs.CreateLogGroupInput{
LogGroupName: aws.String("<log_group_name>"),
})Укажите
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb. -
Если стрима событий для добавления событий нет, добавьте в скрипт код для создания нового стрима:
resp, err = client.CreateLogStream(context.TODO(), &cloudwatchlogs.CreateLogStreamInput{
LogGroupName: aws.String("<log_group_name>"),
LogStreamName: aws.String("<log_stream_name>"),
})Укажите:
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb;<log_stream_name>— имя стрима событий, напримерhttp-b964dde5-7080-4169-8f9e-127bd59c89ca.
-
Добавьте в скрипт код для добавления событий:
messages := []string{"<message>", "<message>"}
curTime := time.Now().UnixMilli()
var logEvents []cloudwatchlogs.InputLogEvent
for _, msg := range messages {
logEvents = append(logEvents, cloudwatchlogs.InputLogEvent{
Timestamp: aws.Int64(curTime),
Message: aws.String(msg),
})
}
input := &cloudwatchlogs.PutLogEventsInput{
LogGroupName: aws.String("<log_group_name>"),
LogStreamName: aws.String("<log_stream_name>"),
LogEvents: logEvents,
}
resp, err := client.PutLogEvents(context.TODO(), input)
if err != nil {
fmt.Printf("Ошибка при отправке логов: %v\n", err)
return
}
fmt.Printf("Логи успешно отправлены. NextSequenceToken: %s\n", *resp.NextSequenceToken)Укажите:
<messages>— сообщения событий;<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb. В эту группу добавятся события Список существующих групп логов можно посмотреть панели управления;<log_stream_name>— имя стрима событий, напримерhttp-b964dde5-7080-4169-8f9e-127bd59c89ca. В этот стрим добавятся события. Список существующих стримов событий можно посмотреть панели управления.
-
Запустите скрипт.
-
Если группы логов для добавления событий нет, создайте новую группу:
aws logs create-log-group --log-group-name <log_group_name>Укажите
<log_group_name>— имя группы логов, напримерs/lbaas/Bellatrix-lb. -
Если стрима событий для добавления событий нет, создайте новый стрим:
aws logs create-log-stream --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.
-
Добавьте события в стрим событий и группу логов:
aws logs put-log-events --log-group-name <log_group_name> --log-stream-name <log_stream_name> --log-events timestamp=<timestamp>,message="<message>"Укажите:
<log_group_name>— имя группы логов, в которую нужно добавить события, напримерs/lbaas/Bellatrix-lb. Список существующих групп логов можно посмотреть с помощью командыaws logs describe-log-groupsили в панели управления;<log_stream_name>— имя стрима событий, в который нужно добавить события, напримерhttp-b964dde5-7080-4169-8f9e-127bd59c89ca. Список стримов с обытий можно посмотреть с помощью командыaws logs describe-log-streams --log-group-name <log_group_name>или в панели управления;<timestamp>— время события в форматеtimestamp;<message>— сообщение события.