Включить журналы Cloudwatch для Kinesis Firehose Cloudformation
Я пытаюсь поймать логи Cloudwatch для моего пожарного шланга, чтобы найти ошибки при отправке данных на S3
место назначения. Я создал шаблон облачной информации с подробностями регистрации
"CloudWatchLoggingOptions" : {
"Enabled" : "true",
"LogGroupName": "/aws/firehose/firehose-dev", -->firehose-dev is my firehosedeliverystream name
"LogStreamName" : "s3logs"
},
Я дал необходимое разрешение IAM на пожарный шланг для создания loggroupname
а также streamname
,
{
"Sid": "",
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:*:*:*"
]
}
Когда я запустил шаблон, я не нашел ни одного из имени группы журналов, а имя потока создается в логах cloudwatch.
Но когда мы даем те же разрешения IAM для AWS::Lambda
ресурс будет автоматически создавать имя группы журналов (т.е./aws/lambda/mylambdaname
) и отправьте журналы этой группе. Но почему этот сценарий не работает для пожарных?
В качестве обходного пути
Я создаю вручную AWS::Logs::LogGroup
ресурс с именем как /aws/firehose/firehose-dev
а также AWS::Logs::LogStream
ресурс с именем как s3logs
,
Кроме того, firehose автоматически создаст имя группы журналов и поток журналов, если мы настроим поток доставки пожарных шлангов с помощью консоли.
Не может ли firehose автоматически создавать имя группы журналов и имя потока журналов, как это делает aws lambda при настройке с помощью облачной информации?
Спасибо Любая помощь приветствуется
0 ответов
Его ресурс зависит. Некоторые ресурсы создают для вас группу журналов, некоторые нет. Иногда консоль создает их в фоновом режиме. При использовании CloudFormation обычно все приходится делать самому.
В случае с пожарным шлангом вы можете создать AWS::Logs::LogGroup
а также AWS::Logs::LogStream
ресурсы в CloudFormation. Например (ямл):
MyFirehoseLogGroup:
Type: AWS::Logs::LogGroup
Properties:
RetentionInDays: 1
MyFirehoseLogStream:
Type: AWS::Logs::LogStream
Properties:
LogGroupName: !Ref MyFirehoseLogGroup
Затем, когда вы определите свой AWS::KinesisFirehose::DeliveryStream
, вы можете ссылаться на них:
CloudWatchLoggingOptions:
Enabled: true
LogGroupName: !Ref MyFirehoseLogGroup
LogStreamName: !Ref MyFirehoseLogStream