[英]How to create cloudwatch event using cloudformation template?
[英]How to create cloudwatch dash board for step function using cloudformation templates
我正在尝试使用云形成模板为状态机步骤函数创建一个云监视仪表板。 由于错误“The field DashboardBody must be a valid JSON object”,堆栈创建失败。 知道如何传递取自模板参数部分的日志组名称吗?
下面是我的云形成模板:
AWSTemplateFormatVersion: 2010-09-09
Description: >-
CloudFormation template to create a dashboard for state functions
Parameters:
DashboardName:
Description: Name of the dashboard to create
Type: String
Default: Test-board
LambdaFunction:
Description: The Lambda function name.
Type: String
Default: test-lambda
StepFunction:
Description: The state function name.
Type: String
Default: MyStateMachine
Resources:
MetricsDashboard:
Type: 'AWS::CloudWatch::Dashboard'
Properties:
DashboardName: !Ref DashboardName
DashboardBody: !Join
- ''
- - >-
{ "widgets": [
{ "type": "log", "x": 6, "y": 6, "width": 18, "height": 3,
"properties": {
"query": "
- !Join
- ""
- "SOURCE '/aws/states/"
- ""
- !Ref StepFunction
- ""
- "' | fields @message\r\n| filter @message like /ERROR/| filter @message like /Exception/ "
- >-
",
"region": "eu-west-1", "stacked": false, "title": "{ Ref:StepFunction},
Step Function Error Logs", "view": "table" } },
{
"type": "metric",
"x": 0,
"y": 0,
"width": 5,
"height": 5,
"properties": {
"view": "singleValue",
"metrics": [
[ "AWS/States", "ExecutionsFailed", "StateMachineArn", "',{ Ref: StepFunction },'" ],
[ ".", "ExecutionsSucceeded", ".", ".", { "color": "#2ca02c" } ],
[ ".", "ExecutionsAborted", ".", ".", { "visible": false, "color": "#ff9896" } ]
],
"stat": "Sum",
"setPeriodToTimeRange": true,
"region": "', { Ref: AWS::Region }, '",
"title": "', "State-Function-", { Ref: StepFunction }," Counts", '",
"period": 300
}
}
]
}
提前致谢,
删除连接,它们最终会成为最终仪表板的 json 的一部分。
看看这是否适合你:
AWSTemplateFormatVersion: 2010-09-09
Description: >-
CloudFormation template to create a dashboard for state functions
Parameters:
DashboardName:
Description: Name of the dashboard to create
Type: String
Default: Test-board
LambdaFunction:
Description: The Lambda function name.
Type: String
Default: test-lambda
StepFunction:
Description: The state function name.
Type: String
Default: MyStateMachine
Resources:
MetricsDashboard:
Type: 'AWS::CloudWatch::Dashboard'
Properties:
DashboardName: !Ref DashboardName
DashboardBody: !Sub |
{
"widgets": [
{
"type": "log",
"x": 6,
"y": 6,
"width": 18,
"height": 3,
"properties": {
"query": "SOURCE '/aws/states/${StepFunction}' | fields @message\r\n| filter @message like /ERROR/| filter @message like /Exception/ ",
"region": "eu-west-1",
"stacked": false,
"title": "${StepFunction} Step Function Error Logs",
"view": "table"
}
},
{
"type": "metric",
"x": 0,
"y": 0,
"width": 5,
"height": 5,
"properties": {
"view": "singleValue",
"metrics": [
[
"AWS/States",
"ExecutionsFailed",
"StateMachineArn",
"${StepFunction}"
],
[
".",
"ExecutionsSucceeded",
".",
".",
{
"color": "#2ca02c"
}
],
[
".",
"ExecutionsAborted",
".",
".",
{
"visible": false,
"color": "#ff9896"
}
]
],
"stat": "Sum",
"setPeriodToTimeRange": true,
"region": "${AWS::Region}",
"title": "State Function ${StepFunction} Counts",
"period": 300
}
}
]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.