{
"variables": [
{
"type": "property",
"property": "ClusterName",
"inputType": "input",
"id": "ClusterName",
"label": "[ECS] ClusterName",
"defaultValue": "",
"visible": true
}
],
"widgets": [
{
"height": 6,
"width": 6,
"y": 8,
"x": 0,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{ECS/ContainerInsights,ClusterName,ServiceName,TaskId} ClusterName=\"project-cluster\" MetricName=\"TaskCpuUtilization\"', 'p99', 60)", "id": "e1", "period": 60, "region": "ap-northeast-2", "label": "${PROP('Dim.ServiceName')}-${PROP('Dim.TaskId')}" } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"title": "TaskCPU (1m)",
"yAxis": {
"left": {
"showUnits": false,
"label": "CPU Utilization (%)",
"min": 0,
"max": 100
}
},
"liveData": true,
"legend": {
"position": "hidden"
}
}
},
{
"height": 6,
"width": 6,
"y": 8,
"x": 6,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{ECS/ContainerInsights,ClusterName,ServiceName,TaskId} ClusterName=\"project-cluster\" MetricName=\"TaskMemoryUtilization\"', 'p99', 60)", "id": "e1", "period": 60, "region": "ap-northeast-2", "label": "${PROP('Dim.ServiceName')}-${PROP('Dim.TaskId')}" } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"title": "TaskMemory (1m)",
"yAxis": {
"left": {
"showUnits": false,
"label": "Memory Utilization (%)",
"min": 0,
"max": 100
}
},
"liveData": true,
"legend": {
"position": "hidden"
},
"annotations": {
"horizontal": [
{
"label": "100%",
"value": 100
}
]
}
}
},
{
"height": 6,
"width": 6,
"y": 8,
"x": 12,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/ECS/ManagedScaling,CapacityProviderName,ClusterName} ClusterName=\"project-cluster\" MetricName=\"CapacityProviderReservation\"', 'Maximum', 60)", "id": "e1", "period": 60, "region": "ap-northeast-2" } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"title": "CapacityProviderReservation (1m)",
"yAxis": {
"left": {
"showUnits": false,
"label": "Current/Needs (%)",
"min": 0,
"max": 200
}
},
"liveData": true,
"legend": {
"position": "hidden"
},
"annotations": {
"horizontal": [
{
"label": "100%",
"value": 100
}
]
}
}
},
{
"height": 6,
"width": 6,
"y": 14,
"x": 0,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/ApplicationELB,LoadBalancer,TargetGroup} MetricName=\"RequestCount\"', 'Sum', 60)", "id": "e1", "region": "ap-northeast-2", "period": 60 } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"title": "ALbRequest (1m)",
"yAxis": {
"left": {
"min": 0,
"label": "Request Count",
"showUnits": false
}
},
"liveData": true,
"legend": {
"position": "hidden"
}
}
},
{
"height": 6,
"width": 6,
"y": 14,
"x": 6,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SUM(SEARCH('{AWS/ApplicationELB,LoadBalancer,TargetGroup} MetricName=\"UnHealthyHostCount\"', 'Maximum', 60))", "label": "UnHealthyHostCount", "id": "e1", "period": 300, "color": "#d62728", "region": "ap-northeast-2" } ],
[ { "expression": "SUM(SEARCH('{AWS/ApplicationELB,LoadBalancer,TargetGroup} MetricName=\"HealthyHostCount\"', 'Maximum', 60))", "label": "HealthyHostCount", "id": "e2", "period": 300, "color": "#2ca02c", "region": "ap-northeast-2" } ]
],
"view": "timeSeries",
"stacked": true,
"region": "ap-northeast-2",
"stat": "Average",
"period": 300,
"title": "ALBHostStatus (1m)",
"liveData": true,
"yAxis": {
"left": {
"min": 0
}
}
}
},
{
"height": 6,
"width": 6,
"y": 14,
"x": 12,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/ApplicationELB,LoadBalancer,TargetGroup} MetricName=\"TargetResponseTime\"', 'Average', 60)*1000", "id": "e2", "region": "ap-northeast-2", "label": "Average", "period": 60 } ],
[ { "expression": "SEARCH('{AWS/ApplicationELB,LoadBalancer,TargetGroup} MetricName=\"TargetResponseTime\"', 'p99', 60)*1000", "id": "e3", "region": "ap-northeast-2", "label": "99 Percentile", "period": 60 } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"title": "LbLatency (1m)",
"yAxis": {
"left": {
"min": 0,
"label": "Latency (ms)",
"showUnits": false
}
},
"liveData": true,
"legend": {
"position": "hidden"
}
}
},
{
"height": 6,
"width": 6,
"y": 14,
"x": 18,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/ApplicationELB,LoadBalancer,TargetGroup} MetricName=\"HTTPCode_ELB_5XX_Count\"', 'Sum', 60)", "label": "5XX", "id": "e1", "period": 60, "region": "ap-northeast-2" } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"liveData": true,
"legend": {
"position": "hidden"
},
"yAxis": {
"left": {
"label": "Request Count",
"showUnits": false,
"min": 0
}
},
"title": "LbFront5xxStatus (1m)"
}
},
{
"height": 6,
"width": 6,
"y": 20,
"x": 0,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/ApplicationELB,LoadBalancer,TargetGroup} MetricName=\"HTTPCode_Target_4XX_Count\"', 'Sum', 60)", "label": "4XX", "id": "e1", "period": 60, "region": "ap-northeast-2" } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"liveData": true,
"legend": {
"position": "hidden"
},
"yAxis": {
"left": {
"label": "Request Count",
"showUnits": false,
"min": 0
}
},
"title": "LbTarget4xxStatus (1m)"
}
},
{
"height": 6,
"width": 6,
"y": 8,
"x": 18,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/ApplicationELB,LoadBalancer,TargetGroup} MetricName=\"HTTPCode_Target_5XX_Count\"', 'Sum', 60)", "label": "5XX", "id": "e1", "period": 60, "region": "ap-northeast-2" } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"liveData": true,
"legend": {
"position": "hidden"
},
"yAxis": {
"left": {
"label": "Request Count",
"showUnits": false,
"min": 0
}
},
"title": "LbTarget5xxStatus (1m)"
}
},
{
"height": 6,
"width": 6,
"y": 20,
"x": 18,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/CloudFront,DistributionId,Region} MetricName=\"Requests\"', 'Sum', 60)", "id": "e1", "region": "us-east-1", "period": 60 } ]
],
"view": "timeSeries",
"stacked": false,
"region": "us-east-1",
"title": "CfRequest (1m)",
"stat": "Average",
"period": 60,
"yAxis": {
"left": {
"label": "Request Count",
"min": 0,
"showUnits": false
}
},
"liveData": true,
"legend": {
"position": "hidden"
}
}
},
{
"height": 6,
"width": 6,
"y": 26,
"x": 0,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/CloudFront,DistributionId,Region} MetricName=\"4xxErrorRate\"', 'p99', 60)", "id": "e1", "region": "us-east-1", "period": 60 } ]
],
"view": "timeSeries",
"stacked": false,
"region": "us-east-1",
"title": "Cf4xxStatus (1m)",
"stat": "Average",
"period": 60,
"yAxis": {
"left": {
"label": "Status Percent (%)",
"min": 0,
"showUnits": false,
"max": 100
}
},
"liveData": true,
"legend": {
"position": "hidden"
}
}
},
{
"height": 6,
"width": 6,
"y": 26,
"x": 6,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/CloudFront,DistributionId,Region} MetricName=\"5xxErrorRate\"', 'p99', 60)", "id": "e1", "region": "us-east-1", "period": 60 } ]
],
"view": "timeSeries",
"stacked": false,
"region": "us-east-1",
"title": "Cf5xxStatus (1m)",
"stat": "Average",
"period": 60,
"yAxis": {
"left": {
"label": "Status Percent (%)",
"min": 0,
"showUnits": false,
"max": 100
}
},
"liveData": true,
"legend": {
"position": "hidden"
}
}
},
{
"height": 6,
"width": 6,
"y": 32,
"x": 0,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/RDS,DBInstanceIdentifier} MetricName=\"DatabaseConnections\"', 'Maximum', 60)", "id": "e1", "period": 60, "region": "ap-northeast-2" } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"title": "RDSConnection (1m)",
"yAxis": {
"left": {
"showUnits": false,
"label": "Connection Count",
"min": 0
}
}
}
},
{
"height": 6,
"width": 6,
"y": 26,
"x": 12,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"', 'Maximum', 60)", "label": "", "id": "e2", "period": 60, "region": "ap-northeast-2" } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"title": "EC2CPU (1m)",
"yAxis": {
"left": {
"showUnits": false,
"label": "CPU Utilization (%)",
"min": 0,
"max": 100
}
},
"legend": {
"position": "hidden"
}
}
},
{
"height": 6,
"width": 6,
"y": 26,
"x": 18,
"type": "metric",
"properties": {
"metrics": [
[ { "expression": "SEARCH('{AWS/RDS,DBInstanceIdentifier} MetricName=\"Queries\"', 'Sum', 60)", "id": "e1", "period": 60 } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"title": "RDSQuery (1m)",
"yAxis": {
"left": {
"showUnits": false,
"label": "Query Count",
"min": 0
}
},
"liveData": true
}
},
{
"height": 12,
"width": 24,
"y": 38,
"x": 0,
"type": "log",
"properties": {
"query": "SOURCE logGroups(namePrefix: [\"/aws/ecs/\"], class: \"STANDARD\") |\nfields @entity.KeyAttributes.Name, @message\n| sort @timestamp desc\n| filter @log not like /containerinsights/\n| limit 100",
"queryBy": "logGroupPrefix",
"logGroupPrefixes": {
"accountIds": [
"All"
],
"logGroupPrefix": [
"/aws/ecs/"
],
"logClass": "STANDARD"
},
"region": "ap-northeast-2",
"stacked": false,
"title": "[ECS] Brief Container Logs (Last 100)",
"view": "table"
}
},
{
"type": "metric",
"x": 6,
"y": 32,
"width": 6,
"height": 6,
"properties": {
"metrics": [
[ { "expression": "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupInServiceInstances\"', 'Average', 60))", "label": "InService", "id": "e1", "period": 300, "color": "#2ca02c", "region": "ap-northeast-2" } ],
[ { "expression": "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupTerminatingCapacity\"', 'Average', 60))", "label": "Terminating", "id": "e2", "period": 60, "color": "#d62728", "region": "ap-northeast-2" } ],
[ { "expression": "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupPendingCapacity\"', 'Average', 60))", "label": "Pending", "id": "e3", "period": 60, "color": "#c7c7c7", "region": "ap-northeast-2" } ]
],
"view": "timeSeries",
"stacked": true,
"region": "ap-northeast-2",
"stat": "Average",
"period": 60,
"legend": {
"position": "hidden"
},
"liveData": true,
"yAxis": {
"left": {
"showUnits": false
}
},
"title": "ASGInstanceStatus"
}
},
{
"type": "metric",
"x": 12,
"y": 32,
"width": 6,
"height": 6,
"properties": {
"metrics": [
[ { "expression": "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupTotalCapacity\"', 'Maximum', 60))", "label": "Current", "id": "e1", "period": 60, "color": "#2ca02c", "stat": "Maximum", "region": "ap-northeast-2" } ],
[ { "expression": "SUM(SEARCH('{AWS/AutoScaling,AutoScalingGroupName} MetricName=\"GroupDesiredCapacity\"', 'Maximum', 60))", "label": "Desired", "id": "e2", "period": 60, "color": "#d62728", "stat": "Maximum", "region": "ap-northeast-2" } ]
],
"view": "timeSeries",
"stacked": false,
"region": "ap-northeast-2",
"stat": "Maximum",
"period": 60,
"title": "ASGDesiredFollowing",
"yAxis": {
"left": {
"min": 0,
"showUnits": false
}
}
}
},
{
"height": 2,
"width": 24,
"y": 0,
"x": 0,
"type": "text",
"properties": {
"markdown": "[]()\\\n[]()\n\n---",
"background": "transparent"
}
}
]
}
JSON
복사
