AWS -CDK Пример CloudWatch Alarm с обнаружением аномалий - PullRequest
0 голосов
/ 05 марта 2020

Может ли кто-нибудь предоставить обобщенный c пример AWS Cloudwatch Alarm, основанный на обнаружении аномалий метри c, построенного с AWS CDK в Python3?

Я пробовал сопоставление aws пример облачной информации от до aws_cdk.aws_cloudwatch.Alarm и aws_cdk.aws_cloudwatch.CfnAlarm практически без удачи.

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

В конечном итоге удалось настроить обнаружение аномалий с помощью CfnAlarm

from aws_cdk import (
    aws_sns as sns,
    aws_cloudwatch as cw,
    core
)

anomaly_detector = cw.CfnAnomalyDetector(
    self, "AnomalyDetector",
    metric_name="my_metric",
    namespace="my_namespace",
    stat="Sum"
)

slack_topic = sns.Topic(self, "AnomalySns",
                        display_name="anomaly-sns",
                        topic_name="anomaly-sns"
                        )

anomaly_cfnalarm = cw.CfnAlarm(self, "AnomalyAlarm",
                               actions_enabled=True,
                               alarm_actions=[slack_topic.topic_arn],
                               alarm_description="<..>",
                               alarm_name="AnomalyAlarm",
                               comparison_operator="LessThanLowerOrGreaterThanUpperThreshold",
                               datapoints_to_alarm=1,
                               evaluation_periods=1,
                               insufficient_data_actions=[slack_topic.topic_arn],
                               metrics=[
                                   cw.CfnAlarm.MetricDataQueryProperty(
                                       expression="ANOMALY_DETECTION_BAND(m1, 2)",
                                       id="ad1"
                                   ),
                                   cw.CfnAlarm.MetricDataQueryProperty(
                                       id="m1",
                                       metric_stat=cw.CfnAlarm.MetricStatProperty(
                                           metric=cw.CfnAlarm.MetricProperty(
                                               metric_name=anomaly_detector.metric_name,
                                               namespace=anomaly_detector.namespace
                                           ),
                                           period=core.Duration.minutes(5).to_seconds(),
                                           stat="Sum"
                                       )
                                   )
                               ],
                               ok_actions=[slack_topic.topic_arn],
                               threshold_metric_id="ad1",
                               treat_missing_data="breaching"
                               )

Это частично основано на AWS Docs CloudFormation пример Cloudwatch Anomaly Alarm https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cw-alarm.html

0 голосов
/ 06 марта 2020

В текущем CDK нет конструктора высокого уровня для AbnormalDetector. (V1.27.0).

Pls напрямую использует класс низкого уровня CfnAnomalyDetector .

Существует пример использования AbnormalDetector с Alarm в CloudFormation do c. Используйте низкоуровневые классы CDK Cfn* для создания соответствующей конфигурации CFN.

...