I am having issues with the cloudwatch API/CLI. Below I have included 3 API/CLI calls for "put-metric-alarm" (with describe-alarms to show values) with unit=Percent and unit=None and also no usage of unit. In the Wizard/Console, I don't select unit. Through the wizard, the alarm works, via API/CLI - all three ways, the alarm never passes "INSUFFICIENT_DATA" - "Unchecked: Initial alarm creation".
What is the issue and how can I fix it?
Thank you.
NOTE: "XXXXX" is used to obfuscate identifying items
aws cloudwatch put-metric-alarm --region us-west-2 --alarm-name "HighMemPercentUsedAlarm EC2 - API - unit:Percent" --alarm-description "Alarm when Memory Percent Usage exceeds 95 percent" --metric-name mem_used_percent --namespace CWAgent --datapoints-to-alarm 2 --statistic Average --period 900 --threshold 95.0 --comparison-operator GreaterThanThreshold --dimensions "Name=InstanceId,Value=i-XXXXX" --evaluation-periods 2 --alarm-actions arn:aws:sns:us-west-2:XXXXX:Default_CloudWatch_Alarms_Topic --treat-missing-data "missing" --unit Percent
aws cloudwatch describe-alarms --alarm-names "HighMemPercentUsedAlarm EC2 - API - unit:Percent"
aws cloudwatch describe-alarms --alarm-names "HighMemPercentUsedAlarm EC2 - API - unit:Percent"
{
"MetricAlarms": [
{
"Dimensions": [
{
"Name": "InstanceId",
"Value": "i-XXXXX"
}
],
"Namespace": "CWAgent",
"DatapointsToAlarm": 2,
"ActionsEnabled": true,
"MetricName": "mem_used_percent",
"EvaluationPeriods": 2,
"StateValue": "INSUFFICIENT_DATA",
"StateUpdatedTimestamp": "2020-06-05T16:44:16.620Z",
"AlarmConfigurationUpdatedTimestamp": "2020-06-05T16:44:16.620Z",
"AlarmActions": [
"arn:aws:sns:us-west-2:XXXXX:Default_CloudWatch_Alarms_Topic"
],
"InsufficientDataActions": [],
"AlarmArn": "arn:aws:cloudwatch:us-west-2:XXXXX:alarm:HighMemPercentUsedAlarm EC2 - API - unit:Percent",
"Threshold": 95.0,
"StateReason": "Unchecked: Initial alarm creation",
"OKActions": [],
"AlarmDescription": "Alarm when Memory Percent Usage exceeds 95 percent",
"Period": 900,
"ComparisonOperator": "GreaterThanThreshold",
"AlarmName": "HighMemPercentUsedAlarm EC2 - API - unit:Percent",
"Statistic": "Average",
"TreatMissingData": "missing",
"Unit": "Percent"
}
]
}
================================================================================================
aws cloudwatch put-metric-alarm --region us-west-2 --alarm-name "HighMemPercentUsedAlarm EC2 - API - unit:None" --alarm-description "Alarm when Memory Percent Usage exceeds 95 percent" --metric-name mem_used_percent --namespace CWAgent --datapoints-to-alarm 2 --statistic Average --period 900 --threshold 95.0 --comparison-operator GreaterThanThreshold --dimensions "Name=InstanceId,Value=i-XXXXX" --evaluation-periods 2 --alarm-actions arn:aws:sns:us-west-2:XXXXX:Default_CloudWatch_Alarms_Topic --treat-missing-data "missing" --unit None
aws cloudwatch describe-alarms --alarm-names "HighMemPercentUsedAlarm EC2 - API - unit:None"
aws cloudwatch describe-alarms --alarm-names "HighMemPercentUsedAlarm EC2 - API - unit:None"
{
"MetricAlarms": [
{
"Dimensions": [
{
"Name": "InstanceId",
"Value": "i-XXXXX"
}
],
"Namespace": "CWAgent",
"DatapointsToAlarm": 2,
"ActionsEnabled": true,
"MetricName": "mem_used_percent",
"EvaluationPeriods": 2,
"StateValue": "INSUFFICIENT_DATA",
"StateUpdatedTimestamp": "2020-06-05T16:44:27.434Z",
"AlarmConfigurationUpdatedTimestamp": "2020-06-05T16:44:27.434Z",
"AlarmActions": [
"arn:aws:sns:us-west-2:XXXXX:Default_CloudWatch_Alarms_Topic"
],
"InsufficientDataActions": [],
"AlarmArn": "arn:aws:cloudwatch:us-west-2:XXXXX:alarm:HighMemPercentUsedAlarm EC2 - API - unit:None",
"Threshold": 95.0,
"StateReason": "Unchecked: Initial alarm creation",
"OKActions": [],
"AlarmDescription": "Alarm when Memory Percent Usage exceeds 95 percent",
"Period": 900,
"ComparisonOperator": "GreaterThanThreshold",
"AlarmName": "HighMemPercentUsedAlarm EC2 - API - unit:None",
"Statistic": "Average",
"TreatMissingData": "missing",
"Unit": "None"
}
]
}
================================================================================================
aws cloudwatch put-metric-alarm --region us-west-2 --alarm-name "HighMemPercentUsedAlarm EC2 - API" --alarm-description "Alarm when Memory Percent Usage exceeds 95 percent" --metric-name mem_used_percent --namespace CWAgent --datapoints-to-alarm 2 --statistic Average --period 900 --threshold 95.0 --comparison-operator GreaterThanThreshold --dimensions "Name=InstanceId,Value=i-XXXXX" --evaluation-periods 2 --alarm-actions arn:aws:sns:us-west-2:XXXXX:Default_CloudWatch_Alarms_Topic --treat-missing-data "missing"
aws cloudwatch describe-alarms --alarm-names "HighMemPercentUsedAlarm EC2 - API"
{
"MetricAlarms": [
{
"EvaluationPeriods": 2,
"TreatMissingData": "missing",
"AlarmArn": "arn:aws:cloudwatch:us-west-2:XXXXX:alarm:HighMemPercentUsedAlarm EC2 - API",
"StateUpdatedTimestamp": "2020-06-05T16:44:34.574Z",
"AlarmConfigurationUpdatedTimestamp": "2020-06-05T16:44:34.574Z",
"ComparisonOperator": "GreaterThanThreshold",
"AlarmActions": [
"arn:aws:sns:us-west-2:XXXXX:Default_CloudWatch_Alarms_Topic"
],
"AlarmDescription": "Alarm when Memory Percent Usage exceeds 95 percent",
"Namespace": "CWAgent",
"Period": 900,
"StateValue": "INSUFFICIENT_DATA",
"Threshold": 95.0,
"AlarmName": "HighMemPercentUsedAlarm EC2 - API",
"Dimensions": [
{
"Name": "InstanceId",
"Value": "i-XXXXX"
}
],
"DatapointsToAlarm": 2,
"Statistic": "Average",
"StateReason": "Unchecked: Initial alarm creation",
"InsufficientDataActions": [],
"OKActions": [],
"ActionsEnabled": true,
"MetricName": "mem_used_percent"
}
]
}
================================================================================================
Same via the "Wizard/Console"
aws cloudwatch describe-alarms --alarm-names "HighMemPercentUsedAlarm EC2 - Wizard"
{
"MetricAlarms": [
{
"Dimensions": [
{
"Name": "InstanceId",
"Value": "i-XXXXX"
},
{
"Name": "ImageId",
"Value": "ami-XXXXX"
},
{
"Name": "InstanceType",
"Value": "m5.2xlarge"
}
],
"Namespace": "CWAgent",
"DatapointsToAlarm": 2,
"ActionsEnabled": true,
"MetricName": "mem_used_percent",
"EvaluationPeriods": 2,
"StateValue": "OK",
"StateUpdatedTimestamp": "2020-06-05T16:43:06.797Z",
"AlarmConfigurationUpdatedTimestamp": "2020-06-05T16:41:52.619Z",
"AlarmActions": [
"arn:aws:sns:us-west-2:XXXXX:Default_CloudWatch_Alarms_Topic"
],
"InsufficientDataActions": [],
"AlarmArn": "arn:aws:cloudwatch:us-west-2:XXXXX:alarm:HighMemPercentUsedAlarm EC2 - Wizard",
"StateReasonData": "{"version":"1.0","queryDate":"2020-06-05T16:43:06.795_0000","startDate":"2020-06-05T16:13:00.000_0000","statistic":"Average","period":900,"recentDatapoints":http://14.36740102848503,15.074661280217848,"threshold":95.0}",
"Threshold": 95.0,
"StateReason": "Threshold Crossed: 2 out of the last 2 datapoints 15.074661280217848 (05/06/20 16:28:00), 14.36740102848503 (05/06/20 16:13:00) were not greater than the threshold (95.0) (minimum 1 datapoint for ALARM -> OK transition).",
"OKActions": [],
"AlarmDescription": "Alarm when Memory Percent Usage exceeds 95 percent",
"Period": 900,
"ComparisonOperator": "GreaterThanThreshold",
"AlarmName": "HighMemPercentUsedAlarm EC2 - Wizard",
"Statistic": "Average",
"TreatMissingData": "missing"
}
]
}