如何将指标附加到现有Lambda日志组?

问题描述 投票:0回答:1

我正在尝试使用CloudFormation创建自定义指标。我遵循了https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-metricfilter.html中的示例。我现有的lambda日志记录到CloudWatch日志组,该组在CloudWatch中显示为/aws/lambda/my-function-name。这是我针对该指标的CloudFormation YAML:

  ErrorsLogMetric:
    Type: AWS::Logs::MetricFilter
    Properties:
      LogGroupName: !Sub "/aws/lambda/${AWS::StackName}"
      FilterPattern: "[ERROR]"
      MetricTransformations:
        - MetricValue: "1"
          MetricNamespace: "LogMetrics"
          MetricName: "MyCustomMetric"

$ {AWS :: StackName}”在运行时解析为“我的功能名称”。 CloudFormation脚本成功运行,并说该指标已创建,但是当我转到CloudWatch时,我的lambda的日志组显示零个过滤器。通过CloudFormation创建该自定义指标时,我需要做些什么来使此自定义指标显示为我的lambda日志组的过滤器?

如果我将该属性硬编码为LogGroupName: "/aws/lambda/my-function-name",那么它将起作用。但是我不想对其进行硬编码,因为$ {AWS :: StackName}的值在不同的用例中是动态的。

amazon-web-services aws-lambda amazon-cloudwatch
1个回答
0
投票

对我来说,解决方案似乎是要添加

DependsOn: LambdaLogGroup

其中LambdaLogGroup是我模板中先前定义的资源。这让我失望了,因为日志组已经存在了一段时间,并且我试图更新堆栈并添加指标。即使添加了Metric的日志组已经存在并且未被CloudFormation更新,该问题仍然需要依赖。

© www.soinside.com 2019 - 2024. All rights reserved.