Аварийный сигнал AWS Cloudwatch Упрощенный аварийный сигнал для настройки всего кластера заданий по склеиванию

avatar
Jason Apinchapong
1 июля 2021 в 18:28
104
0
0

Я пытаюсь создать шаблон формирования облака, чтобы создать оповещение об облаке на основе показателей AWS Glue. На данный момент код очень длинный, потому что мне нужно добавить всех рабочих, используемых в задании склеивания, чтобы проверить ЦП задания.

CpuLoadAlarm:
      Type: AWS::CloudWatch::Alarm
      Properties:
        AlarmName: !Ref CampaignCpuLoadAlarmName
        ActionsEnabled: true
        AlarmActions:
          - !Ref AssistGlueJobsMonitoringSNSTopic
        EvaluationPeriods: !Ref AlarmEvaluationPeriod
        DatapointsToAlarm: !Ref AlarmDatapointsToAlarm
        Threshold: !Ref AlarmThreshold
        ComparisonOperator: GreaterThanOrEqualToThreshold
        TreatMissingData: missing
        Metrics:
          - Id: e1
            Label: Expression1
            ReturnData: true
            Expression: !Ref AlarmExpression
          - Id: m1
            ReturnData: false
            MetricStat:
              Metric:
                Namespace: Glue
                MetricName: glue.1.system.cpuSystemLoad
                Dimensions:
                  - Name: Type
                    Value: gauge
                  - Name: JobRunId
                    Value: ALL
                  - Name: JobName
                    Value: !Ref JobName
              Period: !Ref AlarmPeriod
              Stat: Average
          - Id: m2
            ReturnData: false
            MetricStat:
              Metric:
                Namespace: Glue
                MetricName: glue.2.system.cpuSystemLoad
                Dimensions:
                  - Name: Type
                    Value: gauge
                  - Name: JobRunId
                    Value: ALL
                  - Name: JobName
                    Value: !Ref JobName
              Period: !Ref AlarmPeriod
              Stat: Average
          - Id: m3
            ReturnData: false
            MetricStat:
              Metric:
                Namespace: Glue
                MetricName: glue.3.system.cpuSystemLoad
                Dimensions:
                  - Name: Type
                    Value: gauge
                  - Name: JobRunId
                    Value: ALL
                  - Name: JobName
                    Value: !Ref JobName
              Period: !Ref AlarmPeriod
              Stat: Average
          - Id: m4
            ReturnData: false
            MetricStat:
              Metric:
                Namespace: Glue
                MetricName: glue.4.system.cpuSystemLoad
                Dimensions:
                  - Name: Type
                    Value: gauge
                  - Name: JobRunId
                    Value: ALL
                  - Name: JobName
                    Value: !Ref JobName
              Period: !Ref AlarmPeriod
              Stat: Average
          - Id: m5
            ReturnData: false
            MetricStat:
              Metric:
                Namespace: Glue
                MetricName: glue.5.system.cpuSystemLoad
                Dimensions:
                  - Name: Type
                    Value: gauge
                  - Name: JobRunId
                    Value: ALL
                  - Name: JobName
                    Value: !Ref JobName
              Period: !Ref AlarmPeriod
              Stat: Average
          - Id: m6
            ReturnData: false
            MetricStat:
              Metric:
                Namespace: Glue
                MetricName: glue.6.system.cpuSystemLoad
                Dimensions:
                  - Name: Type
                    Value: gauge
                  - Name: JobRunId
                    Value: ALL
                  - Name: JobName
                    Value: !Ref JobName
              Period: !Ref AlarmPeriod
              Stat: Average
          - Id: m7
            ReturnData: false
            MetricStat:
              Metric:
                Namespace: Glue
                MetricName: glue.7.system.cpuSystemLoad
                Dimensions:
                  - Name: Type
                    Value: gauge
                  - Name: JobRunId
                    Value: ALL
                  - Name: JobName
                    Value: !Ref JobName
              Period: !Ref AlarmPeriod
              Stat: Average
          - Id: m8
            ReturnData: false
            MetricStat:
              Metric:
                Namespace: Glue
                MetricName: glue.8.system.cpuSystemLoad
                Dimensions:
                  - Name: Type
                    Value: gauge
                  - Name: JobRunId
                    Value: ALL
                  - Name: JobName
                    Value: !Ref JobName
              Period: !Ref AlarmPeriod
              Stat: Average
          - Id: m9
            ReturnData: false
            MetricStat:
              Metric:
                Namespace: Glue
                MetricName: glue.9.system.cpuSystemLoad
                Dimensions:
                  - Name: Type
                    Value: gauge
                  - Name: JobRunId
                    Value: ALL
                  - Name: JobName
                    Value: !Ref JobName
              Period: !Ref AlarmPeriod
              Stat: Average
          - Id: m10
            ReturnData: false
            MetricStat:
              Metric:
                Namespace: Glue
                MetricName: glue.driver.system.cpuSystemLoad
                Dimensions:
                  - Name: Type
                    Value: gauge
                  - Name: JobRunId
                    Value: ALL
                  - Name: JobName
                    Value: !Ref JobName
              Period: !Ref AlarmPeriod
              Stat: Average

Можно ли упростить его, чтобы мы могли использовать порог для всего кластера клеевых заданий, чтобы нам не нужно было указывать драйвер и каждого рабочего?

Источник

Ответы (0)