Estoy tratando de configurar una alarma en Cloudwatch usando terraform. Mi alarma básicamente necesita verificar si hay más del 5% de errores 5xx en la puerta de enlace durante 2 períodos de 1 minuto.
He probado el siguiente código pero no funciona:
resource "aws_cloudwatch_metric_alarm" "gateway_error_rate" { alarm_name = "gateway-errors" comparison_operator = "GreaterThanOrEqualToThreshold" alarm_description = "Gateway error rate has exceeded 5%" treat_missing_data = "notBreaching" metric_name = "5XXError" namespace = "AWS/ApiGateway" period = 60 evaluation_periods = 2 threshold = 5 statistic = "Average" unit = "Percent" dimensions = { ApiName = "my-api" Stage = "dev" } }Aunque se despliega la alerta, los datos no se muestran. Al hacer algunas pruebas, noté que aparentemente la unidad "por ciento" no se acepta para esta alarma.
Alguien tiene un ejemplo en terraform o cloudformation de como configurar este tipo de alarmas?
Según la información proporcionada en los comentarios de Marcin , encontré esta información en la documentación de aws:
La estadística Promedio representa la tasa de error 5XXError, es decir, el recuento total de errores 5XXError dividido por el número total de solicitudes durante el período. El denominador corresponde a la métrica Count (abajo).
Mi alarma configurada en terraform tiene el siguiente aspecto:
resource "aws_cloudwatch_metric_alarm" "gateway_error_rate" { alarm_name = "gateway-errors" comparison_operator = "GreaterThanOrEqualToThreshold" alarm_description = "Gateway error rate has exceeded 5%" treat_missing_data = "notBreaching" metric_name = "5XXError" namespace = "AWS/ApiGateway" period = 60 evaluation_periods = 2 threshold = 0.05 statistic = "Average" unit = "Count" dimensions = { ApiName = "my-api" Stage = "dev" } }Estoy usando esto en CloudFormation y funciona bien, y uso SUM no "percent"
ApiGateway5XXErrorAlarm: Type: 'AWS::CloudWatch::Alarm' Properties: AlarmDescription: 'Api Gateway server-side errors captured' Namespace: 'AWS/ApiGateway' MetricName: 5XXError Dimensions: - Name: ApiName Value: !Ref ApiGateway - Name: Stage Value: dev Statistic: Sum Period: 60 EvaluationPeriods: 1 Threshold: 1 ComparisonOperator: GreaterThanOrEqualToThreshold AlarmActions: - !Ref Alerts TreatMissingData: notBreaching