全部产品
Search
文档中心

CloudOps Orchestration Service:ACS-ECS-AlarmAccountResourceUsage

更新时间:Jun 28, 2025

Nama Template

ACS-ECS-AlarmAccountResourceUsage

Eksekusi Sekarang

Deskripsi Template

Memantau penggunaan sumber daya dalam akun Alibaba Cloud Anda dan mengirimkan notifikasi peringatan jika penggunaan melebihi ambang batas yang ditentukan.

Tipe Template

Otomatis

Pemilik

Alibaba Cloud

Parameter Input

Parameter

Deskripsi

Tipe

Diperlukan

Nilai Default

Batas

webHookUrl

URL webhook tempat notifikasi peringatan dikirim.

String

Ya

regionId

ID wilayah.

String

Tidak

{{ ACS::RegionId }}

threshold

Ambang batas penggunaan sumber daya berdasarkan mana peringatan dipicu.

Angka

Tidak

80

OOSAssumeRole

Peran Resource Access Management (RAM) yang diasumsikan oleh CloudOps Orchestration Service (OOS).

String

Tidak

OOSServiceRole

Parameter Output

Tidak ada

Kebijakan izin yang diperlukan untuk mengeksekusi template

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ecs:DescribeAccountAttributes"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Referensi

Untuk informasi lebih lanjut, lihat ACS-ECS-AlarmAccountResourceUsage.yml di GitHub.

Konten Template

FormatVersion: OOS-2019-06-01
Description:
  en: Notifikasi peringatan saat penggunaan sumber daya melebihi ambang batas
  zh-cn: deskripsi dalam bahasa Cina
  name-en: ACS-ECS-AlarmAccountResourceUsage
  name-zh-cn: deskripsi dalam bahasa Cina
Parameters:
  regionId:
    Type: String
    Label:
      en: RegionId
      zh-cn: deskripsi dalam bahasa Cina
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  threshold:
    Label:
      en: Threshold
      zh-cn: deskripsi dalam bahasa Cina
    Description:
      en: contoh:10 adalah 10%,50 adalah 50%
      zh-cn: deskripsi dalam bahasa Cina
    Type: Number
    Default: 80
    MinValue: 20
    MaxValue: 99
  webHookUrl:
    Description:
      en: 'contoh:https://oapi.dingtalk.com/robot/send?access_token=1234zxcvaksdq31414
      zh-cn: deskripsi dalam bahasa Cina '
    Label:
      en: WebHookUrl
      zh-cn: deskripsi dalam bahasa Cina
    Type: String
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
      zh-cn: deskripsi dalam bahasa Cina
    Type: String
    Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: timerTrigger
    Action: 'ACS::TimerTrigger'
    Description:
      en: Memicu tugas sesuai jadwal dengan menentukan ekspresi Cron
      zh-cn: deskripsi dalam bahasa Cina
    Properties:
      Type: rate
      Expression: 30 menit
      EndDate: '2099-12-01T00:00:00Z'
  - Name: getAccountAttributes
    Action: 'ACS::ExecuteApi'
    Description:
      en: Meminta kuota sumber daya ECS yang dapat Anda buat di suatu wilayah
      zh-cn: deskripsi dalam bahasa Cina
    Properties:
      Service: ECS
      API: DescribeAccountAttributes
      Parameters:
        RegionId: '{{ regionId }}'
    Outputs:
      usedPostpaidInstanceVcpuCount:
        ValueSelector: '.AccountAttributeItems.AccountAttributeItem[13].AttributeValues.ValueItem[].Value | tonumber'
        Type: Number
      usedSpotInstanceVcpuCount:
        ValueSelector: '.AccountAttributeItems.AccountAttributeItem[14].AttributeValues.ValueItem[].Value | tonumber'
        Type: Number
      usedPostpaidYundiskCapacityCloudEfficiency:
        ValueSelector: '.AccountAttributeItems.AccountAttributeItem[16].AttributeValues.ValueItem[0].Value | tonumber'
        Type: Number
      usedPostpaidYundiskCapacityCloudSsd:
        ValueSelector: '.AccountAttributeItems.AccountAttributeItem[16].AttributeValues.ValueItem[1].Value | tonumber'
        Type: Number
      usedPostpaidYundiskCapacityCloudEssd:
        ValueSelector: '.AccountAttributeItems.AccountAttributeItem[16].AttributeValues.ValueItem[2].Value | tonumber'
        Type: Number
      maxPostpaidInstanceVcpuCount:
        ValueSelector: '.AccountAttributeItems.AccountAttributeItem[6].AttributeValues.ValueItem[].Value | tonumber'
        Type: Number
      maxSpotInstanceVcpuCount:
        ValueSelector: '.AccountAttributeItems.AccountAttributeItem[7].AttributeValues.ValueItem[].Value | tonumber'
        Type: Number
      maxPostpaidYundiskCapacityCloudEfficiency:
        ValueSelector: '.AccountAttributeItems.AccountAttributeItem[15].AttributeValues.ValueItem[0].Value | tonumber'
        Type: Number
      maxPostpaidYundiskCapacityCloudSsd:
        ValueSelector: '.AccountAttributeItems.AccountAttributeItem[15].AttributeValues.ValueItem[1].Value | tonumber'
        Type: Number
      maxPostpaidYundiskCapacityCloudEssd:
        ValueSelector: '.AccountAttributeItems.AccountAttributeItem[15].AttributeValues.ValueItem[2].Value | tonumber'
        Type: Number
  - Name: checkResourceUsage
    Action: 'ACS::Choice'
    Description:
      en: Pilih tugas notifikasi berdasarkan penggunaan
      zh-cn: deskripsi dalam bahasa Cina
    Properties:
      DefaultTask: 'ACS::END'
      Choices:
        - When:
            'Fn::Equals':
              - true
              - 'Fn::Jq':
                  - First
                  - '({{getAccountAttributes.usedPostpaidInstanceVcpuCount}} / {{getAccountAttributes.maxPostpaidInstanceVcpuCount}}) >= {{ threshold }}/100'
                  - '{"": ""}'
          NextTask: alarmNotify
        - When:
            'Fn::Equals':
              - true
              - 'Fn::Jq':
                  - First
                  - '({{getAccountAttributes.usedSpotInstanceVcpuCount}} / {{getAccountAttributes.maxSpotInstanceVcpuCount}}) >= {{ threshold }}/100'
                  - '{"": ""}'
          NextTask: alarmNotify
        - When:
            'Fn::Equals':
              - true
              - 'Fn::Jq':
                  - First
                  - '({{getAccountAttributes.usedPostpaidYundiskCapacityCloudEfficiency}} / {{getAccountAttributes.maxPostpaidYundiskCapacityCloudEfficiency}}) >= {{ threshold }}/100'
                  - '{"": ""}'
          NextTask: alarmNotify
        - When:
            'Fn::Equals':
              - true
              - 'Fn::Jq':
                  - First
                  - '({{getAccountAttributes.usedPostpaidYundiskCapacityCloudSsd}} / {{getAccountAttributes.maxPostpaidYundiskCapacityCloudSsd}}) >= {{ threshold }}/100'
                  - '{"": ""}'
          NextTask: alarmNotify
        - When:
            'Fn::Equals':
              - true
              - 'Fn::Jq':
                  - First
                  - '({{getAccountAttributes.usedPostpaidYundiskCapacityCloudEssd}} / {{getAccountAttributes.maxPostpaidYundiskCapacityCloudEssd}}) >= {{ threshold }}/100'
                  - '{"": ""}'
          NextTask: alarmNotify
  - Name: alarmNotify
    Action: 'ACS::Notify'
    OnSuccess: 'ACS::END'
    Description:
      en: Notifikasi peringatan saat penggunaan sumber daya melebihi ambang batas
      zh-cn: deskripsi dalam bahasa Cina
    Properties:
      NotifyType: WebHook
      WebHook:
        URI: '{{ webHookUrl }}'
        Headers:
          Content-Type: application/json
        Content:
          msgtype: text
          text:
            content:
              'Fn::Join':
                - '|-|-|'
                - - 'Fn::If':
                      - 'Fn::Equals':
                          - true
                          - 'Fn::Jq':
                              - First
                              - '({{getAccountAttributes.usedPostpaidInstanceVcpuCount}} / {{getAccountAttributes.maxPostpaidInstanceVcpuCount}}) >= {{ threshold }}/100'
                              - '{"": ""}'
                      - '(Penggunaan PostpaidInstanceVcpuCount di bawah akun Anda melebihi {{ threshold }}%. Penggunaan vCPU dari instance pay-as-you-go di akun Anda telah melebihi {{threshold}}%. )'
                      - ''
                  - 'Fn::If':
                      - 'Fn::Equals':
                          - true
                          - 'Fn::Jq':
                              - First
                              - '({{getAccountAttributes.usedSpotInstanceVcpuCount}} / {{getAccountAttributes.maxSpotInstanceVcpuCount}}) >= {{ threshold }}/100'
                              - '{"": ""}'
                      - '(Penggunaan SpotInstanceVcpuCount di bawah akun Anda melebihi {{ threshold }}%. Penggunaan vCPU dari instance preemptible di akun Anda telah melebihi {{threshold}}%. )'
                      - ''
                  - 'Fn::If':
                      - 'Fn::Equals':
                          - true
                          - 'Fn::Jq':
                              - First
                              - '({{getAccountAttributes.usedPostpaidYundiskCapacityCloudEfficiency}} / {{getAccountAttributes.maxPostpaidYundiskCapacityCloudEfficiency}}) >= {{ threshold }}/100'
                              - '{"": ""}'
                      - '(Penggunaan PostpaidYundiskCapacityCloudEfficiency di bawah akun Anda melebihi {{ threshold }}%. Penggunaan ultra disk pay-as-you-go yang digunakan sebagai disk data di akun Anda telah melebihi {{threshold}}%. )'
                      - ''
                  - 'Fn::If':
                      - 'Fn::Equals':
                          - true
                          - 'Fn::Jq':
                              - First
                              - '({{getAccountAttributes.usedPostpaidYundiskCapacityCloudSsd}} / {{getAccountAttributes.maxPostpaidYundiskCapacityCloudSsd}}) >= {{ threshold }}/100'
                              - '{"": ""}'
                      - '(Penggunaan PostpaidYundiskCapacityCloudSsd di bawah akun Anda melebihi {{ threshold }}%. Penggunaan SSD pay-as-you-go yang digunakan sebagai disk data di akun Anda telah melebihi {{threshold}}%. )'
                      - ''
                  - 'Fn::If':
                      - 'Fn::Equals':
                          - true
                          - 'Fn::Jq':
                              - First
                              - '({{getAccountAttributes.usedPostpaidYundiskCapacityCloudEssd}} / {{getAccountAttributes.maxPostpaidYundiskCapacityCloudEssd}}) >= {{ threshold }}/100'
                              - '{"": ""}'
                      - '(Penggunaan PostpaidYundiskCapacityCloudEssd di bawah akun Anda melebihi {{ threshold }}%. Penggunaan Enterprise SSD (ESSD) pay-as-you-go yang digunakan sebagai disk data di akun Anda telah melebihi {{threshold}}%. )'
                      - ''
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - regionId
          - threshold
          - webHookUrl
        Label:
          default:
            zh-cn: deskripsi dalam bahasa Cina
            en: Konfigurasi Parameter
      - Parameters:
          - OOSAssumeRole
        Label:
          default:
            zh-cn: deskripsi dalam bahasa Cina
            en: Opsi Kontrol