すべてのプロダクト
Search
ドキュメントセンター

CloudOps Orchestration Service:ディスク使用率制限超過時のコマンド実行 (ACS-ECS)

最終更新日:Jan 17, 2025

テンプレート名

ACS-ECS-RunCommandWhenDiskUsageLimitExceeded

今すぐ実行

テンプレートの説明

Elastic Compute Service ( ECS ) インスタンスのディスク使用率が特定のしきい値を超えた場合にコマンドを実行します。

テンプレートの種類

自動化

所有者

Alibaba Cloud

入力パラメーター

パラメーター

説明

種類

必須

デフォルト値

制限

instanceId

ディスク使用率を監視する ECS インスタンス。

String

はい

threshold

ディスク使用率のしきい値。

String

はい

diskPartition

使用率を監視するディスクパーティションの名前。

String

はい

commandType

クラウドアシスタントによって実行される O&M スクリプトの言語。

String

はい

commandToRun

ディスク使用率がしきい値を超えた場合に実行されるコマンド。

String

はい

tags

ECS インスタンスのタグ。

Json

いいえ

[]

silenceTime

ディスク使用率が繰り返ししきい値を超えた場合に、アラート通知が 1 回だけ送信されるサイレント期間。単位:秒。

Number

いいえ

300

OOSAssumeRole

CloudOps Orchestration Service ( OOS ) によってアシュームされる RAM ロール。

String

いいえ

""

出力パラメーター

パラメーター

説明

種類

instanceId

String

commandOutput

String

テンプレートの実行に必要な権限ポリシー

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

参照

詳細については、GitHub の ACS-ECS-RunCommandWhenDiskUsageLimitExceeded.yml をご参照ください。

テンプレートの内容

FormatVersion: OOS-2019-06-01
Description:
  en: Run command when disk usage limit is exceeded
  zh-cn: 当某磁盘使用率过高时执行某命令
  name-en: ACS-ECS-RunCommandWhenDiskUsageLimitExceeded
  name-zh-cn: 当某磁盘使用率超过阈值时执行命令
  categories:
    - alarm-trigger
Parameters:
  instanceId:
    Type: String
    Label:
      en: InstanceId
      zh-cn: 将要监控的实例
    AssociationProperty: ALIYUN::ECS::Instance::InstanceId
    AssociationPropertyMetadata:
      RegionId: '{{ ACS::RegionId }}'
  threshold:
    Type: String
    Description:
      en: e.g. 80 means 80%
      zh-cn: 例如80,则意味着80%的磁盘使用率
    Label:
      en: Threshold
      zh-cn: 磁盘使用率阈值
  diskPartition:
    Type: String
    Description:
      en: e.g."/dev/vda1"or"C:\\"
      zh-cn: 如/dev/vda1或者C:\\
    Label:
      en: DiskPartition
      zh-cn: 要监控的磁盘分区名称
  commandType:
    Label:
      en: CommandType
      zh-cn: 云助手执行的运维脚本的语言类型
    Type: String
    AllowedValues:
      - RunShellScript
      - RunBatScript
      - RunPowerShellScript
  tags:
    Type: Json
    Label:
      en: Tags
      zh-cn: 实例的标签
    AssociationProperty: Tags
    Default: []
  commandToRun:
    Type: String
    Label:
      en: CommandToRun
      zh-cn: 当磁盘使用量超过阈值时执行的命令
  silenceTime:
    Type: Number
    Description:
      en: When the monitoring data continues to exceed the alarm rule threshold, only one alarm notification will be sent in each silent period
      zh-cn: 当监控数据持续超过报警规则阈值时,每个沉默周期内只发送1次报警通知
    Label:
      en: CilenceTime
      zh-cn: 告警通道沉默周期(秒)
    Default: 300
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole
      zh-cn: OOS扮演的RAM角色
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: alarmTrigger
    Action: 'ACS::AlarmTrigger'
    Description:
      en: Set the diskusage_utilization alarm for specified disk partition
      zh-cn: 设置对某磁盘分区的使用率进行监控
    Properties:
        Namespace: 'acs_ecs_dashboard'
        MetricName: 'diskusage_utilization'
        Statistics: 'Maximum'
        ComparisonOperator: 'GreaterThanThreshold'
        Threshold: '{{threshold}}'
        Resources: '[{"instanceId":"{{ instanceId }}","device":"{{ diskPartition }}"}]'
        Times: 1
        SilenceTime: '{{silenceTime}}'
        Tags: '{{ tags }}'
    Outputs:
      instanceId:
        Type: String
        ValueSelector: .instanceId
  - Name: runCommand
    Action: ACS::ECS::RunCommand
    Description:
      en: Run cloud assistant command on ECS instance
      zh-cn: 在实例中运行云助手命令
    Properties:
      commandContent: '{{ commandToRun }}'
      commandType: '{{ commandType }}'
      instanceId: '{{ instanceId }}'
    Outputs:
      commandOutput:
        Type: String
        ValueSelector: invocationOutput
Outputs:
  instanceId:
    Value: '{{ alarmTrigger.instanceId }}'
    Type: String
  commandOutput:
    Type: String
    Value: '{{ runCommand.commandOutput }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - instanceId
        Label:
          default:
            zh-cn: 实例选择
            en: Select ECS Instance
      - Parameters:
          - threshold
          - diskPartition
          - silenceTime
          - tags
        Label:
          default:
            zh-cn: 告警配置
            en: Alarm Configure
      - Parameters:
          - commandType
          - commandToRun
        Label:
          default:
            zh-cn: 执行命令选型
            en: Run Command Options
      - Parameters:
          - OOSAssumeRole
        Label:
          default:
            zh-cn: 高级选项
            en: Control Options