Я пытаюсь создать шаблон формирования облака, чтобы создать оповещение об облаке на основе показателей 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
Можно ли упростить его, чтобы мы могли использовать порог для всего кластера клеевых заданий, чтобы нам не нужно было указывать драйвер и каждого рабочего?