O sistema de gerenciamento de alertas do Simple Log Service deduplica alertas automaticamente usando fingerprints. O sistema trata alertas com a mesma fingerprint como um único alerta, mantendo apenas um e descartando os demais.
Atributos da fingerprint
O sistema de gerenciamento de alertas calcula uma fingerprint para cada alerta com base em quatro atributos:
|
Atributo |
Descrição |
|
|
ID da conta Alibaba Cloud à qual a regra de monitoramento de alertas pertence. Alertas de contas diferentes sempre têm fingerprints distintas. |
|
|
Projeto do Simple Log Service ao qual a regra de monitoramento de alertas pertence. Alertas de projetos diferentes sempre têm fingerprints distintas. |
|
|
ID da regra de monitoramento de alertas. Alertas de regras diferentes sempre têm fingerprints distintas. |
|
|
Rótulos do alerta (pares chave-valor). Os rótulos diferenciam alertas originados da mesma regra, mas aplicados a dimensões distintas, como hosts ou serviços diferentes. |
Dois alertas compartilham a mesma fingerprint somente quando todos os quatro atributos coincidem. Se qualquer atributo for diferente, o sistema tratará os alertas como distintos e manterá ambos.
O campo annotations, que contém metadados como título e descrição do alerta, não faz parte da fingerprint. Dois alertas podem ter anotações diferentes e ainda assim ser deduplicados, desde que seus quatro atributos de fingerprint sejam idênticos.
Exemplo
Considere uma regra de monitoramento de alertas que gera os três alertas a seguir:
// Alert1
{
"aliuid": "12345",
"project": "Project1",
"alert_id": "alert-123",
"labels": {
"host": "host-1"
},
"annotations": {
"title": "High CPU utilization",
"desc": "The current CPU utilization is 90%."
}
}
// Alert2
{
"aliuid": "12345",
"project": "Project1",
"alert_id": "alert-123",
"labels": {
"host": "host-1"
},
"annotations": {
"title": "High CPU utilization",
"desc": "The current CPU utilization is 95%."
}
}
// Alert3
{
"aliuid": "12345",
"project": "Project1",
"alert_id": "alert-123",
"labels": {
"host": "host-2"
},
"annotations": {
"title": "High CPU utilization",
"desc": "The current CPU utilization is 90%."
}
}
Após a deduplicação, o sistema mantém Alert1 e Alert3, e exclui Alert2:
|
Comparação |
aliuid |
project |
alert_id |
labels |
Fingerprint coincide? |
Resultado |
|
Alert1 vs Alert2 |
Igual ( |
Igual ( |
Igual ( |
Igual ( |
Sim |
Alert2 é excluído |
|
Alert1 vs Alert3 |
Igual ( |
Igual ( |
Igual ( |
Diferente ( |
Não |
Ambos são mantidos |
Alert1 e Alert2 diferem apenas no campo annotations.desc (90% vs 95%). Como as anotações não fazem parte da fingerprint, esses dois alertas possuem a mesma fingerprint e são deduplicados. Já Alert1 e Alert3 apresentam valores diferentes em labels, resultando em fingerprints distintas; portanto, ambos são mantidos.