全部产品
Search
文档中心

CloudOps Orchestration Service:ACS-LOG-BulkyInstallLogtail

更新时间:Jun 28, 2025

Nama template

ACS-LOG-BulkyInstallLogtail

Jalankan Sekarang

Deskripsi template

Memasang Logtail pada beberapa instance Elastic Compute Service (ECS) secara bersamaan.

Tipe template

Otomatis

Pemilik

Alibaba Cloud

Parameter input

Parameter

Deskripsi

Tipe data

Diperlukan

Nilai default

Batasan

targets

Instance tujuan.

Json

Ya

regionId

ID wilayah.

String

Tidak

{{ ACS::RegionId }}

action

Tipe operasi.

String

Tidak

install

overwrite

Menentukan apakah akan menimpa konfigurasi Logtail jika Logtail sudah terpasang pada instance ECS Anda.

String

Tidak

false

rateControl

Pengaturan kontrol laju.

Json

Tidak

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

OOSAssumeRole

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

String

Tidak

""

Parameter output

Parameter

Deskripsi

Tipe data

commandOutput

String

Kebijakan izin yang diperlukan untuk menjalankan template

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

Referensi

ACS-LOG-BulkyInstallLogtail

Isi Template

FormatVersion: OOS-2019-06-01
Description:
  en: Gunakan template ini untuk memasang sls logtail pada ecs  
  name-en: ACS-LOG-BulkyInstallLogtail  
  categories:
    - run_command
Parameters:
  regionId:
    Type: String
    Label:
      en: RegionId       
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  action:
    Type: String
    Label:
      en: Action      
    AllowedValues:
      - install
      - upgrade
      - uninstall
    Default: install
  overwrite:
    Description:
      en: Jika Logtail ada di instance, pilih apakah akan menimpa Logtail(Default tidak).   
    Label:
      en: Overwrite      
    Type: String
    AllowedValues:
      - 'true'
      - 'false'
    Default: 'false'
  targets:
    Type: Json
    Label:
      en: TargetInstance
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: ALIYUN::ECS::Instance
      RegionId: regionId
  rateControl:
    Label:
      en: RateControl      
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole       
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: getInstance
    Description:
      en: Melihat instance ECS       
    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: invokeCommand
    Action: ACS::ECS::InvokeCommand
    Properties:
      instanceId: '{{ ACS::TaskLoopItem }}'
      regionId: '{{ regionId }}'
      parameters:
        regionid: '{{ regionId }}'
        action: '{{ action }}'
        overwrite: '{{ overwrite }}'
      commandId:
        Fn::If:
          - Fn::Equals:
              - Fn::Jq:
                  - First
                  - .|map(select(.instanceId == "{{ ACS::TaskLoopItem }}").osType)[]
                  - '{{ getInstance.instanceInfos }}'
              - linux
          - cmd-ACS-LOG-InstallLogtail-for-linux.sh
          - cmd-ACS-LOG-InstallLogtail-for-windows.ps1
    Loop:
      Items: '{{ getInstance.instanceIds }}'
      RateControl: '{{ rateControl }}'
      Outputs:
        commandOutputs:
          AggregateType: 'Fn::ListJoin'
          AggregateField: commandOutput
    Outputs:
      commandOutput:
        Type: String
        ValueSelector: invocationOutput
Outputs:
  commandOutput:
    Type: String
    Value: '{{ invokeCommand.commandOutputs }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - action
          - overwrite
        Label:
          default:             
            en: Konfigurasi Parameter
      - Parameters:
          - regionId
          - targets
        Label:
          default:             
            en: Pilih Instance Ecs
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:            
            en: Opsi Kontrol