Consulta regras de alerta.
Este tópico apresenta um exemplo de consulta a todas as regras de alerta da sua conta Alibaba Cloud. O resultado indica que apenas uma regra de alerta foi encontrada, com o nome Rule_01 e o ID applyTemplate344cfd42-0f32-4fd6-805a-88d7908a****.
Depuração
Parâmetros de solicitação
| Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
| Action | String | Sim | DescribeMetricRuleList | Operação a ser executada. Defina o valor como DescribeMetricRuleList. |
| MetricName | String | Não | cpu_total | Nome da métrica. Para obter o nome de uma métrica, consulte DescribeMetricMetaList ou Apêndice 1: Métricas. |
| EnableState | Boolean | Não | true | Defina se a consulta deve retornar regras de alerta ativadas ou desativadas. Valores válidos:
|
| Namespace | String | Não | acs_ecs_dashboard | Namespace do serviço em nuvem. Para obter o namespace de um serviço em nuvem, consulte DescribeMetricMetaList ou Apêndice 1: Métricas. |
| Page | Integer | Não | 1 | Número da página. A numeração começa na página 1. Valor padrão: 1. |
| PageSize | Integer | Não | 10 | Quantidade de entradas por página. A numeração começa na página 1. Valor padrão: 10. |
| AlertState | String | Não | OK | Status da regra de alerta. Valores válidos:
|
| Dimensions | String | Não | {"instanceId":"i-2ze2d6j5uhg20x47****"} | Dimensões de monitoramento do recurso especificado. Defina o valor como um conjunto de pares |
| RuleName | String | Não | Rule_01 | Nome da regra de alerta. Este parâmetro aceita correspondência parcial (fuzzy match). |
| GroupId | String | Não | 7301**** | ID do grupo de aplicativos. Para obter o ID de um grupo de aplicativos, consulte DescribeMonitorGroups. |
| RuleIds | String | Não | applyTemplate344cfd42-0f32-4fd6-805a-88d7908a**** | ID da regra de alerta. É possível especificar até 20 IDs por vez. Separe vários IDs com vírgulas (,). |
Para mais informações sobre parâmetros de solicitação comuns, consulte Parâmetros comuns.
Parâmetros de resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| Code | Integer | 200 | Código de status HTTP. Nota O código de status 200 indica que a solicitação foi bem-sucedida. |
| Message | String | The specified resource is not found. | Mensagem de erro. |
| RequestId | String | 386C6712-335F-5054-930A-CC92B851ECBA | ID da solicitação. |
| Total | String | 1 | Número total de entradas. |
| Success | Boolean | true | Indica se a solicitação foi bem-sucedida. Valores válidos:
|
| Alarms | Array of Alarm | Detalhes das regras de alerta. |
|
| Alarm | |||
| SilenceTime | Integer | 86400 | Período de silêncio durante o qual novas notificações de alerta não são enviadas, mesmo que as condições de disparo sejam atendidas. Unidade: segundos. Valor padrão: 86400. Valor mínimo: 3600. Apenas um alerta é reportado durante cada período de silêncio, mesmo que o valor da métrica exceda consecutivamente o limiar de alerta várias vezes. |
| MetricName | String | cpu_total | Nome da métrica. |
| Webhook | String | https://www.aliyun.com | URL de callback. O CloudMonitor envia uma notificação de alerta para a URL de callback especificada por meio de uma solicitação HTTP POST. Apenas o protocolo HTTP é suportado. |
| ContactGroups | String | ECS_Alarm | Grupos de contatos de alerta. |
| SourceType | String | METRIC | Tipo da regra de alerta. Valor válido: METRIC. Este valor indica uma regra de alerta para métricas de séries temporais. |
| Namespace | String | acs_ecs_dashboard | Namespace do serviço em nuvem. |
| MailSubject | String | "${serviceType}-${metricName}-${levelDescription}Notification (${dimensions})" | Assunto do e-mail de notificação de alerta. |
| NoEffectiveInterval | String | 00:00-05:30 | Período durante o qual a regra de alerta fica inativa. |
| EffectiveInterval | String | 05:31-23:59 | Período durante o qual a regra de alerta está ativa. |
| RuleName | String | Rule_01 | Nome da regra de alerta. |
| AlertState | String | OK | Status da regra de alerta. Valores válidos:
|
| Period | String | 60 | Período estatístico. |
| RuleId | String | applyTemplate344cfd42-0f32-4fd6-805a-88d7908a**** | ID da regra de alerta. |
| GroupName | String | ECS_Group | Nome do grupo de aplicativos. Nota Se a regra de alerta estiver associada a um grupo de aplicativos, o nome desse grupo será retornado neste parâmetro. |
| GroupId | String | 7301**** | ID do grupo de aplicativos. |
| Dimensions | String | [{"instanceId":"i-2ze2d6j5uhg20x47****"}] | Dimensões da regra de alerta. |
| EnableState | Boolean | true | Indica se a regra de alerta está ativada. Valores válidos:
|
| Resources | String | [{\"instanceId\":\"i-2ze2d6j5uhg20x47****\"}] | Recursos associados à regra de alerta. |
| Escalations | Object | Condições para disparar alertas de diferentes níveis. |
|
| Info | Object | Condições para disparar alertas de nível Info. |
|
| ComparisonOperator | String | GreaterThanOrEqualToThreshold | Operador de comparação usado para comparar o valor da métrica com o limiar de alertas de nível Info. Valores válidos:
|
| PreCondition | String | $Average>80 | Condições adicionais para disparar alertas de nível Info. Essas condições entram em vigor quando o valor do parâmetro ComparisonOperator é GreaterThanYesterday, LessThanYesterday, GreaterThanLastWeek, LessThanLastWeek, GreaterThanLastPeriod ou LessThanLastPeriod. Por exemplo, se os valores dos parâmetros PreCondition, ComparisonOperator e Threshold forem definidos como $Average>80, GreaterThanYesterday e 10, respectivamente, um alerta será disparado apenas quando o valor médio da métrica for maior que 80 e 10% superior ao valor médio da métrica no mesmo horário ontem. Nota $Average é um espaço reservado composto por um cifrão ($) e o método estatístico. O CloudMonitor substitui esse espaço reservado pelo valor agregado ou original antes da comparação de valores. |
| Times | Integer | 3 | Número consecutivo de vezes em que o valor da métrica atende à condição de alerta antes que um alerta de nível Info seja disparado. |
| Threshold | String | 90 | Limiar para alertas de nível Info. |
| Statistics | String | Average | Métodos estatísticos para alertas de nível Info. |
| Warn | Object | Condições para disparar alertas de nível Warn. |
|
| ComparisonOperator | String | GreaterThanOrEqualToThreshold | Operador de comparação usado para comparar o valor da métrica com o limiar de alertas de nível Warn. Valores válidos:
|
| PreCondition | String | $Average>80 | Condições adicionais para disparar alertas de nível Warn. Essas condições entram em vigor quando o valor do parâmetro ComparisonOperator é GreaterThanYesterday, LessThanYesterday, GreaterThanLastWeek, LessThanLastWeek, GreaterThanLastPeriod ou LessThanLastPeriod. Por exemplo, se os valores dos parâmetros PreCondition, ComparisonOperator e Threshold forem definidos como $Average>80, GreaterThanYesterday e 10, respectivamente, um alerta será disparado apenas quando o valor médio da métrica for maior que 80 e 10% superior ao valor médio da métrica no mesmo horário ontem. Nota $Average é um espaço reservado composto por um cifrão ($) e o método estatístico. O CloudMonitor substitui esse espaço reservado pelo valor agregado ou original antes da comparação de valores. |
| Times | Integer | 3 | Número consecutivo de vezes em que o valor da métrica atende à condição de alerta antes que um alerta de nível Warn seja disparado. |
| Threshold | String | 90 | Limiar para alertas de nível Warn. |
| Statistics | String | Average | Métodos estatísticos para alertas de nível Warn. |
| Critical | Object | Condições para disparar alertas de nível Critical. |
|
| ComparisonOperator | String | GreaterThanOrEqualToThreshold | Operador de comparação usado para comparar o valor da métrica com o limiar de alertas de nível Critical. Valores válidos:
|
| PreCondition | String | $Average>80 | Condições adicionais para disparar alertas de nível Critical. Essas condições entram em vigor quando o valor do parâmetro ComparisonOperator é GreaterThanYesterday, LessThanYesterday, GreaterThanLastWeek, LessThanLastWeek, GreaterThanLastPeriod ou LessThanLastPeriod. Por exemplo, se os valores dos parâmetros PreCondition, ComparisonOperator e Threshold forem definidos como $Average>80, GreaterThanYesterday e 10, respectivamente, um alerta será disparado apenas quando o valor médio da métrica for maior que 80 e 10% superior ao valor médio da métrica no mesmo horário ontem. Nota $Average é um espaço reservado composto por um cifrão ($) e o método estatístico. O CloudMonitor substitui esse espaço reservado pelo valor agregado ou original antes da comparação de valores. |
| Times | Integer | 3 | Número consecutivo de vezes em que o valor da métrica atende à condição de alerta antes que um alerta de nível Critical seja disparado. |
| Threshold | String | 90 | Limiar para alertas de nível Critical. |
| Statistics | String | Average | Métodos estatísticos para alertas de nível Critical. |
| NoDataPolicy | String | KEEP_LAST_STATE | Método usado para lidar com alertas quando nenhum dado de monitoramento é encontrado. Valores válidos:
|
| CompositeExpression | Object | Condições de disparo para múltiplas métricas. Nota As condições de disparo para uma única métrica e para múltiplas métricas são mutuamente exclusivas. Não é possível especificar condições de disparo para uma única métrica e para múltiplas métricas simultaneamente. |
|
| Level | String | Critical | Nível do alerta. Valores válidos:
|
| ExpressionList | Array of ExpressionList | Condições de disparo criadas no modo padrão. |
|
| ExpressionList | |||
| MetricName | String | cpu_total | Métrica usada para monitorar o serviço em nuvem. |
| ComparisonOperator | String | GreaterThanOrEqualToThreshold | Operador de comparação usado para comparar o valor da métrica com o limiar. Valores válidos:
|
| Statistics | String | $Maximum | Método estatístico da métrica. Valores válidos:
Nota $ é o prefixo da métrica. Para obter informações sobre os serviços Alibaba Cloud suportados pelo CloudMonitor, consulte Apêndice 1: Métricas. |
| Threshold | String | 90 | Limiar de alerta. |
| Period | Integer | 60 | Período de agregação da métrica. Unidade: segundos. |
| ExpressionListJoin | String | || | Relação entre as condições de disparo para múltiplas métricas. Valores válidos:
|
| ExpressionRaw | String | $Average > ($instanceId == 'i-io8kfvcpp7x5****'? 80: 50) | Condições de disparo criadas usando expressões. Use expressões para criar condições de disparo nos seguintes cenários:
|
| Times | Integer | 3 | Número de disparos consecutivos. Se a quantidade de vezes que os valores da métrica atendem às condições de disparo atingir o valor deste parâmetro, o CloudMonitor enviará notificações de alerta. |
| Labels | Array of Labels | Tags da regra de alerta. |
|
| Labels | |||
| Key | String | cmsRuleKey | Chave da tag da regra de alerta. |
| Value | String | cmsRuleValue | Valor da tag da regra de alerta. |
| Prometheus | Object | Regra de alerta do Prometheus. Nota Este parâmetro é necessário apenas ao criar uma regra de alerta do Prometheus para Monitoramento de Nuvem Híbrida. |
|
| PromQL | String | CpuUsage{instanceId="xxxx"}[1m]>90 | Instrução de consulta PromQL. Nota Os dados obtidos pela instrução de consulta PromQL correspondem aos dados de monitoramento. Você deve incluir o limiar de alerta nesta instrução. |
| Level | String | Critical | Nível do alerta. Valores válidos:
|
| Times | Long | 3 | Número de disparos consecutivos. Se a quantidade de vezes que os valores da métrica atendem às condições de disparo atingir o valor deste parâmetro, o CloudMonitor enviará notificações de alerta. |
| Annotations | Array of Annotations | Anotações da regra de alerta do Prometheus. Quando um alerta do Prometheus é disparado, o sistema renderiza as chaves e valores anotados para ajudar você a compreender as métricas e a regra de alerta. Nota Este parâmetro equivale ao parâmetro annotations do Prometheus open source. |
|
| Annotations | |||
| Key | String | summary | Chave da anotação. |
| Value | String | {{ $labels.instance }} CPU usage above 10% {current value: {{ humanizePercentage $value }} } | Valor da anotação. |
Exemplos
Solicitações de exemplo
http(s)://[Endpoint]/?Action=DescribeMetricRuleList
&<Common request parameters>
Respostas de sucesso de exemplo
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<DescribeMetricRuleListResponse>
<RequestId>386C6712-335F-5054-930A-CC92B851ECBA</RequestId>
<Total>1</Total>
<Alarms>
<Alarm>
<GroupName>ECS_Group</GroupName>
<SilenceTime>86400</SilenceTime>
<ContactGroups>ECS_Alarm</ContactGroups>
<NoEffectiveInterval>00:00-05:30</NoEffectiveInterval>
<GroupBy>group</GroupBy>
<MailSubject>${serviceType}-${metricName}-${levelDescription}Notification(${dimensions})</MailSubject>
<SourceType>METRIC</SourceType>
<RuleId>applyTemplate344cfd42-0f32-4fd6-805a-88d7908a****</RuleId>
<Period>60</Period>
<Dimensions>
<instanceId>i-2ze2d6j5uhg20x47****</instanceId>
</Dimensions>
<EffectiveInterval>05:31-23:59</EffectiveInterval>
<Namespace>acs_ecs_dashboard</Namespace>
<AlertState>OK</AlertState>
<GroupId>7301****</GroupId>
<MetricName>cpu_total</MetricName>
<EnableState>true</EnableState>
<Escalations>
<Critical>
<ComparisonOperator>GreaterThanOrEqualToThreshold</ComparisonOperator>
<Times>3</Times>
<Statistics>Average</Statistics>
<Threshold>90</Threshold>
</Critical>
<Info>
<ComparisonOperator>GreaterThanOrEqualToThreshold</ComparisonOperator>
<Times>3</Times>
<Statistics>Average</Statistics>
<Threshold>90</Threshold>
</Info>
<Warn>
<ComparisonOperator>GreaterThanOrEqualToThreshold</ComparisonOperator>
<Times>3</Times>
<Statistics>Average</Statistics>
<Threshold>90</Threshold>
</Warn>
</Escalations>
<Webhook>https://www.aliyun.com</Webhook>
<Resources>[{\"instanceId\":\"i-2ze2d6j5uhg20x47****\"}]</Resources>
<RuleName>Rule_01</RuleName>
</Alarm>
</Alarms>
<Code>200</Code>
<Success>true</Success>
</DescribeMetricRuleListResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "386C6712-335F-5054-930A-CC92B851ECBA",
"Total" : 1,
"Alarms" : {
"Alarm" : [ {
"GroupName" : "ECS_Group",
"SilenceTime" : 86400,
"ContactGroups" : "ECS_Alarm",
"NoEffectiveInterval" : "00:00-05:30",
"GroupBy" : "group",
"MailSubject": "${serviceType}-${metricName}-${levelDescription}Notification(${dimensions})",
"SourceType" : "METRIC",
"RuleId" : "applyTemplate344cfd42-0f32-4fd6-805a-88d7908a****",
"Period" : 60,
"Dimensions" : [ {
"instanceId" : "i-2ze2d6j5uhg20x47****"
} ],
"EffectiveInterval" : "05:31-23:59",
"Namespace" : "acs_ecs_dashboard",
"AlertState" : "OK",
"GroupId" : "7301****",
"MetricName" : "cpu_total",
"EnableState" : true,
"Escalations" : {
"Critical" : {
"ComparisonOperator" : "GreaterThanOrEqualToThreshold",
"Times" : 3,
"Statistics" : "Average",
"Threshold" : "90"
},
"Info" : {
"ComparisonOperator" : "GreaterThanOrEqualToThreshold",
"Times" : 3,
"Statistics" : "Average",
"Threshold" : "90"
},
"Warn" : {
"ComparisonOperator" : "GreaterThanOrEqualToThreshold",
"Times" : 3,
"Statistics" : "Average",
"Threshold" : "90"
}
},
"Webhook" : "https://www.aliyun.com",
"Resources" : "[{\"instanceId\":\"i-2ze2d6j5uhg20x47****\"}]",
"RuleName" : "Rule_01"
} ]
},
"Code" : "200",
"Success" : true
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|
404 |
ResourceNotFound |
The specified resource is not found. |
O recurso especificado não foi encontrado. |
Para obter uma lista de códigos de erro, consulte Códigos de erro do serviço.