Todos os produtos
Search
Central de documentação

CloudOps Orchestration Service:ACS-ECS-ConfigureCloudMonitorAgent

Última atualização: Jun 28, 2026

Nome do modelo

ACS-ECS-ConfigureCloudMonitorAgent - Instalação em lote do agente CloudMonitor

Executar agora

Descrição do modelo

Instala o agente CloudMonitor em várias instâncias do Elastic Compute Service (ECS) simultaneamente.

Tipo de modelo

Automatizado

Proprietário

Alibaba Cloud

Parâmetros de entrada

Parâmetro

Descrição

Tipo

Obrigatório

Valor padrão

Limite

action

Tipo de operação

String

Sim

targets

Instância de destino

Json

Sim

regionId

ID da região.

String

Não

{{ ACS::RegionId }}

rateControl

Concorrência de execução da tarefa

Json

Não

{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10}

OOSAssumeRole

Função RAM assumida pelo CloudOps Orchestration Service (OOS).

String

Não

""

Parâmetros de saída

Parâmetro

Descrição

Tipo

commandOutput

String

Política de permissões necessária para executar o modelo

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

Detalhes

Para obter mais informações, consulte ACS-ECS-ConfigureCloudMonitorAgent.yml no GitHub.

Conteúdo do modelo

FormatVersion: OOS-2019-06-01
Description:
  en: Use this template to install the CloudMonitor agent on ECS instances in batch.
  zh-cn: Use this template to install the CloudMonitor agent on ECS instances in batch.
  name-en: ACS-ECS-ConfigureCloudMonitorAgent
  name-zh-cn: BatchInstallCloudMonitorAgent
  categories:
    - run_command
Parameters:
  regionId:
    Type: String
    Label:
      en: Region ID
      zh-cn: Region ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  action:
    Type: String
    Label:
      en: Action Type
      zh-cn: Action Type
    AllowedValues:
      - install
      - uninstall
  targets:
    Type: Json
    Label:
      en: Target Instance
      zh-cn: Target Instance
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: regionId
  rateControl:
    Label:
      en: Rate Control
      zh-cn: Rate Control
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOS Assume Role
      zh-cn: OOS Assume Role
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstance
    Description:
      en: Retrieves the specified ECS instances.
      zh-cn: Retrieves the specified ECS instances.
    Action: 'ACS::SelectTargets'
    Properties:
      ResourceType: 'ALIYUN::ECS::Instance'
      RegionId: '{{ regionId }}'
      Filters:
        - '{{ targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: 'Instances.Instance[].InstanceId'
      instanceInfos:
        Type: List
        ValueSelector: '.Instances.Instance[] | {"osType":.OSType, "instanceId":.InstanceId}'
  - Name: runCommand
    Action: 'ACS::ECS::RunCommand'
    Properties:
      commandContent:
        'Fn::If':
          - 'Fn::Equals':
              - 'Fn::Jq':
                  - First
                  - '.|map(select(.instanceId == "{{ ACS::TaskLoopItem }}").osType)[]'
                  - '{{ getInstance.instanceInfos }}'
              - linux
          - |-
            #!/bin/bash
            if [ "{{action}}" = "install" ]; then
               VERSION=2.1.56 /bin/bash -c "$(curl -s https://cms-agent-{{ACS::RegionId}}.oss-{{ACS::RegionId}}-internal.aliyuncs.com/cms-go-agent/cms_go_agent_install-1.4.sh)"
            elif [ "{{action}}" = "uninstall" ]; then
               if [ `uname -m` = "x86_64" ]; then
                   ARCH="amd64"
               else
                   ARCH="386"
               fi
               /usr/local/cloudmonitor/CmsGoAgent.linux-${ARCH} uninstall && rm -rf /usr/local/cloudmonitor && echo "cloud monitor uninstall success." >& 2
            else
               echo "command must be install or uninstall" >& 2
               exit 1;
            fi
          - |-
            $uname=Get-WmiObject Win32_OperatingSystem |Select-Object -ExpandProperty OSArchitecture
            if ($uname.contains("64"))
            {
              $ARCH="amd64"
            } else
            {
              $ARCH="386"
            }
            $pathExistOrNot = Test-Path -Path "C:\Program Files\Alibaba\cloudmonitor\CmsGoAgent.windows-$ARCH.exe"
            $dictoryExisOrNot = Test-Path -Path "C:\Program Files\Alibaba\cloudmonitor"
            if ($dictoryExisOrNot)
            {
              echo ""
            } else
            {
              mkdir "C:\Program Files\Alibaba\cloudmonitor"
              echo 'create dictory'
            }
            if ($pathExistOrNot)
            {
              cd "C:\Program Files\Alibaba\cloudmonitor"
            } else
            {
              cd "C:\Program Files\Alibaba\cloudmonitor"
              $client = new-object System.Net.WebClient
              $client.DownloadFile("http://cms-agent-{{ACS::RegionId}}.oss-{{ACS::RegionId}}-internal.aliyuncs.com/cms-go-agent/2.1.56/CmsGoAgent.windows-$ARCH.exe", "C:\Program Files\Alibaba\cloudmonitor\CmsGoAgent.windows-$ARCH.exe")
            }
            $action="{{ action }}"
            switch($action)
            {
                "install" {
                    if ($ARCH -eq "amd64")
                    {
                      .\CmsGoAgent.windows-amd64.exe install
                      .\CmsGoAgent.windows-amd64.exe start
                    } else
                    {
                      .\CmsGoAgent.windows-386.exe install
                      .\CmsGoAgent.windows-386.exe start
                    }
                    echo "install complete"
                }
                "uninstall" {
                   if ($ARCH -eq "amd64")
                   {
                      .\CmsGoAgent.windows-amd64.exe stop
                      .\CmsGoAgent.windows-amd64.exe uninstall
                   } else
                   {
                      .\CmsGoAgent.windows-386.exe stop
                      .\CmsGoAgent.windows-386.exe uninstall
                   }
                    echo "uninstall complete"
                }
            }

      instanceId: '{{ ACS::TaskLoopItem }}'
      regionId: '{{ regionId }}'
      commandType:
        'Fn::If':
          - 'Fn::Equals':
              - 'Fn::Jq':
                  - First
                  - '.|map(select(.instanceId == "{{ ACS::TaskLoopItem }}").osType)[]'
                  - '{{ getInstance.instanceInfos }}'
              - linux
          - RunShellScript
          - RunPowerShellScript
    Loop:
      Items: '{{ getInstance.instanceIds }}'
      RateControl: '{{ rateControl }}'
      Outputs:
        commandOutputs:
          AggregateType: 'Fn::ListJoin'
          AggregateField: commandOutput
    Outputs:
      commandOutput:
        Type: String
        ValueSelector: invocationOutput
Outputs:
  commandOutput:
    Type: String
    Value: '{{ runCommand.commandOutputs }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - action
        Label:
          default:
            zh-cn: Configure Parameters
            en: Configure Parameters
      - Parameters:
          - regionId
          - targets
        Label:
          default:
            zh-cn: Select ECS Instances
            en: Select ECS Instances
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            zh-cn: Advanced Options
            en: Advanced Options

Instruções

  1. Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado

  2. Escreva o português brasileiro DO ZERO — esqueça a estrutura das frases em inglês

  3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

  4. Tags xref (<a data-tag="xref" ...>texto</a>) — preserve a tag INTEIRA com todos os atributos na ordem e caixa originais, traduza APENAS o texto visível entre > e

  5. Aplique todas as regras específicas do idioma rigorosamente

  6. Aplique as regras de stopwords com tolerância zero

  7. Use o modo imperativo em passos numerados e listas de procedimentos

  8. Garanta a consistência terminológica — mesmo termo = mesma tradução em todo o documento

  9. Varie os inícios de frase em listas/tabelas — nenhum início repetido 3+ vezes

  10. Retorne APENAS o documento markdown em português brasileiro, sem explicações