Я пытаюсь создать пользовательскую метри c, используя CloudFormation. Я следовал примеру из https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html. Моя существующая лямбда-запись в группу журналов CloudWatch, которая отображается в CloudWatch как /aws/lambda/my-function-name
. Вот мой CloudFormation YAML для metri c:
ErrorsLogMetric:
Type: AWS::Logs::MetricFilter
Properties:
LogGroupName: !Sub "/aws/lambda/${AWS::StackName}"
FilterPattern: "[ERROR]"
MetricTransformations:
- MetricValue: "1"
MetricNamespace: "LogMetrics"
MetricName: "MyCustomMetric"
$ {AWS :: StackName} преобразуется в «my-function-name» при запуске. Сценарий CloudFormation выполняется успешно и говорит, что metri c был создан, но когда я go в CloudWatch регистрирую группу для моей лямбды, он показывает ноль фильтров. Что мне нужно сделать по-другому, чтобы этот пользовательский метри c отображался в качестве фильтра для моей группы лямбда-журналов при ее создании через CloudFormation?
Если я жестко закодирую свойство как LogGroupName: "/aws/lambda/my-function-name"
, тогда оно работает. Но я не хочу жестко его кодировать, так как значение $ {AWS :: StackName} равно Dynami c в различных случаях использования.