ACS-ECS-ScheduleToExecuteDiagnosticReports.md
Permalink para o blame do arquivo
Modificar
Nome do modelo
ACS-ECS-ScheduleToExecuteDiagnosticReports Executa diagnósticos de integridade agendados no ECS
Descrição do modelo
Cria relatórios de diagnóstico agendados para instâncias do Elastic Compute Service (ECS).
Tipo de modelo
Automatizado
Proprietário
Alibaba Cloud
Parâmetros de entrada
|
Nome do parâmetro |
Descrição |
Tipo |
Obrigatório |
Valor padrão |
Limite |
|
targets |
Instâncias de destino. |
Json |
Sim |
||
|
timerTrigger |
Configuração de agendamento da tarefa. |
Json |
Não |
{'expression': '0 0 1 ? ', 'endDate': '2099-12-01T00:00:00Z', 'type': 'cron', 'timeZone': 'Asia/Shanghai'} |
|
|
regionId |
ID da região. |
String |
Não |
{{ ACS::RegionId }} |
|
|
whetherNotify |
Define se o sistema deve enviar notificações ao detectar exceções. |
Boolean |
Não |
False |
|
|
notifyURI |
Endpoint de notificação. |
String |
Não |
"" |
|
|
notifyAt |
@Menções. |
String |
Não |
"" |
|
|
rateControl |
Configurações de concorrência para execução da tarefa. |
Json |
Não |
{'Mode': 'Concurrency,', 'MaxErrors': '0,', 'Concurrency': 10} |
|
|
OOSAssumeRole |
Função do RAM que o CloudOps Orchestration Service (OOS) assume. |
String |
Não |
"" |
Parâmetros de saída
|
Parâmetro |
Descrição |
Tipo |
|
metricResults |
Json |
Política de permissões necessária para executar o modelo
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:CreateDiagnosticReport",
"ecs:DescribeDiagnosticReportAttributes",
"ecs:DescribeInstances"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"oos:GetApplicationGroup"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
Detalhes
Detalhes do ACS-ECS-ScheduleToExecuteDiagnosticReports
Conteúdo do modelo
FormatVersion: OOS-2019-06-01
Description:
en: Schedules to execute ECS diagnostic reports in bulk
zh-cn: Schedules health diagnostics for ECS instances
name-en: ACS-ECS-ScheduleToExecuteDiagnosticReports
name-zh-cn: Schedule health diagnostics for ECS instances
categories:
- time_trigger
Parameters:
timerTrigger:
Type: Json
Label:
en: TimerTrigger
zh-cn: Schedule type
AssociationProperty: ALIYUN::OOS::Component::TimerTrigger
AssociationPropertyMetadata:
MinuteInterval: 30
Default:
expression: 0 0 1 ? * *
endDate: '2099-12-01T00:00:00Z'
type: cron
timeZone: Asia/Shanghai
regionId:
Type: String
Label:
en: RegionId
zh-cn: Region ID
AssociationProperty: RegionId
Default: '{{ ACS::RegionId }}'
targets:
Label:
en: TargetInstance
zh-cn: Target instance
Type: Json
Description: The ECS instances.
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: ALIYUN::ECS::Instance
RegionId: regionId
whetherNotify:
Type: Boolean
Description: Specifies whether to send notifications.
Default: false
Label:
en: whether notify
zh-cn: Notify on abnormal results
notifyURI:
Type: String
Description: Notification webhook
AssociationProperty: TextArea
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Equals:
- ${whetherNotify}
- true
Label:
en: notify uri
zh-cn: Notification address
Default: ''
notifyAt:
Type: String
Description: The users to notify with an at sign (@).
AssociationProperty: TextArea
AssociationPropertyMetadata:
Visible:
Condition:
Fn::Equals:
- ${whetherNotify}
- true
Label:
en: notify@
zh-cn: Notify @
Default: ''
rateControl:
Label:
en: RateControl
zh-cn: Task execution concurrency
Description: The concurrency rate for task execution.
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency,
MaxErrors: 0,
Concurrency: 10
OOSAssumeRole:
Label:
en: OOSAssumeRole
zh-cn: The RAM role assumed by OOS
Type: String
Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: timerTrigger
Action: ACS::TimerTrigger
Description:
en: Triggers a task as scheduled by specifying type and expression
zh-cn: Triggers a task on a schedule based on the specified type and expression.
Properties:
Type:
Fn::Select:
- type
- '{{timerTrigger}}'
Expression:
Fn::Select:
- expression
- '{{timerTrigger}}'
StartDate:
Fn::Select:
- startDate
- '{{ timerTrigger }}'
EndDate:
Fn::Select:
- endDate
- '{{ timerTrigger }}'
TimeZone: Asia/Shanghai
Outputs: {}
- Name: getInstances
Description:
en: Views the ECS instances
zh-cn: Gets the ECS instances.
Action: ACS::SelectTargets
Properties:
ResourceType: ALIYUN::ECS::Instance
RegionId: '{{ regionId }}'
Filters:
- '{{ targets }}'
Outputs:
instanceIds:
Type: List
ValueSelector: Instances.Instance[].InstanceId
- Name: createDiagnosticReports
Action: ACS::ECS::CreateDiagnoseReport
Description:
en: Create diagnostic report for ECS instance
zh-cn: Creates a diagnostic report for the ECS instance.
Properties:
regionId: '{{ regionId }}'
resourceId: '{{ ACS::TaskLoopItem }}'
metricSetId: dms-instancedefault
Loop:
Items: '{{ getInstances.instanceIds }}'
Outputs:
metricResults:
AggregateType: Fn::ListJoin
AggregateField: metricResult
RateControl:
MaxErrors: 0
Mode: Concurrency
Concurrency: 1
Outputs:
metricResult:
Type: Json
ValueSelector: .metricResults | .MetricResult = (.MetricResult[] | select(.Issues.Issue | length > 0))
- Name: whetherNotify
Action: ACS::Choice
Description:
en: whether notify
zh-cn: Notification choice
Properties:
DefaultTask: notify
Choices:
- When:
Fn::Equals:
- false
- '{{ whetherNotify }}'
NextTask: ACS::END
- Name: notify
Action: ACS::Notify
Description: Sends a notification with a link to the diagnostic report if it contains abnormal issues.
Properties:
NotifyType: WebHook
WebHook:
URI: '{{ notifyURI }}'
Headers:
Content-Type: application/json
Content:
msgtype: text
text:
type: Json
content: '{{ createDiagnosticReports.metricResults }}'
At: '{{ notifyAt }}'
Outputs: {}
Outputs:
metricResults:
Type: Json
Value: '{{ createDiagnosticReports.metricResults }}'
Metadata:
ALIYUN::OOS::Interface:
ParameterGroups:
- Parameters:
- timerTrigger
Label:
default:
zh-cn: Set schedule parameters (Required)
en: Configure Parameters
- Parameters:
- regionId
- targets
- rateControl
Label:
default:
zh-cn: Set region, target instances, and concurrency (Required)
en: Configure Parameters
- Parameters:
- OOSAssumeRole
Label:
default:
zh-cn: Set the execution RAM role (Required)
en: Configure Parameters
- Parameters:
- whetherNotify
- notifyURI
- notifyAt
Label:
default:
zh-cn: Set DingTalk-like parameters (Optional)
en: Configure Parameters