aws-cloudformation - 如何在 Cloudwatch 仪表板小部件模板中引用特定的 AWS::StateMachine?

标签 aws-cloudformation amazon-cloudwatch

我的 Cloudformation 模板中有一个可运行的 Cloudwatch 仪表板小部件,用于 Lambda 函数,例如,

---
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Resources:
  MyLambda:
    Type: AWS::Serverless::Function
    ...

  MyStateMachine:
    Type: "AWS::StepFunctions::StateMachine"
    ...

  MyDashboard:
    Type: AWS::CloudWatch::Dashboard
    Properties:
      DashboardName: MyDashboard
      DashboardBody:
        Fn::Sub: '{
          "widgets": [
              {
                  "type": "metric",
                  "x": 0,
                  "y": 3,
                  "width": 24,
                  "height": 3,
                  "properties": {
                      "view": "singleValue",
                      "metrics": [
                          [ "AWS/Lambda", "Invocations", "FunctionName", "${MyLambda}", { "stat": "Sum", "period": 86400 } ],
                          [ ".", "Duration", ".", ".", { "stat": "Average", "period": 86400, "color": "#2ca02c" } ],
                          [ ".", "Errors", ".", ".", { "stat": "Sum", "period": 86400, "color": "#d62728" } ],
                          [ ".", "Throttles", ".", ".", { "stat": "Sum", "period": 86400, "color": "#ff7f0e" } ]
                      ],
                      "region": "us-west-2",
                      "title": "MyLambda", 
                      "stacked": true
                  }
              }
          ]
      }'

我想向此仪表板添加 MyStateMachine 小部件,但我不知道如何编写相当于的状态机,

[ "AWS/Lambda", "Invocations", "FunctionName", "${MyLambda}", { "stat": "Sum", "period": 86400 } ]

我发现调用了 AWS/Lambda 并且 AWS Namespace等效的一个是 AWS/States 我发现 all the options我可以使用Invokings,但我不知道如何替换FunctionNameThis建议我可以使用 InstanceId,但除此之外的文档有限。

如何为我的状态机创建 AWS Cloudwatch 仪表板小组件?

最佳答案

我通过在 AWS Web 控制台中制作小部件,然后查看它生成的源代码来解决这个问题。以下内容对我有用。

                      "title": "MyLambda",
                    "stacked": true
                  }
+              },
+              {
+                  "type": "metric",
+                  "x": 0,
+                  "y": 9,
+                  "width": 24,
+                  "height": 3,
+                  "properties": {
+                      "view": "timeSeries",
+                      "metrics": [
+                          [ "AWS/States", "ActivitiesStarted", "ActivityArn", "${MyStateMachine}", { "stat": "Sum", "period": 86400 } ]
+                      ],
+                      "region": "us-west-2",
+                      "title": "State Machine Metrics",
+                      "period": 300
+                  }
               }
           ]
       }'

关于aws-cloudformation - 如何在 Cloudwatch 仪表板小部件模板中引用特定的 AWS::StateMachine?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47639542/

相关文章:

amazon-web-services - CloudWatch代理: batch size equal to "1" - is it a bad idea?

amazon-web-services - AWS CodePipeline 可以使用 aws-cli 等标签进行部署吗?

amazon-web-services - 是否可以在 cloudformation 模板中创建具有多个电子邮件收件人的 SNS 主题?

python-3.x - 尝试使用 boto3 时,AWS cloudwatch 日志 getQueryResults 返回空

amazon-web-services - AWS CloudWatch 代理使用 IMDSv2 监控内存

amazon-web-services - Cloudwatch VPC 接口(interface)端点超时

bash - 如何在CloudFormation中传入UserData作为参数

amazon-web-services - 将 AWS CLI YAML 输出输出到控制台

python - 无法使用 AWS SAM 构建 python 应用程序

python - 使用 Boto3 批量删除 Cloudwatch 日志组 - delete_log_group