Este documento descreve como pode organizar e priorizar os seus incidentes atribuindo-lhes etiquetas definidas pelo utilizador. Estas etiquetas são configuradas nas políticas de alerta e são apresentadas nas políticas de alerta e nos incidentes. Consoante a sua configuração, as etiquetas também são apresentadas em determinadas notificações.
Acerca das etiquetas
As etiquetas, que são pares de chave-valor, são usadas para anexar informações a uma série cronológica, uma política de alertas, um incidente ou uma notificação. Por exemplo, as etiquetas numa série cronológica podem identificar a instância específica da máquina virtual (VM) a partir da qual os dados foram recolhidos. As etiquetas são definidas pelo utilizador ou predefinidas.
Etiquetas definidas pelo utilizador
Os marcadores definidos pelo utilizador contêm informações que especifica. Estas etiquetas podem ter valores estáticos ou dinâmicos:
As etiquetas estáticas definidas pelo utilizador têm valores que não podem ser alterados. Pode criar etiquetas definidas pelo utilizador estáticas quando configura uma política de alertas através da consola ou da API Cloud Monitoring. Google Cloud Para mais informações, consulte os seguintes documentos:
As etiquetas dinâmicas definidas pelo utilizador têm valores que podem mudar com base nos valores dos dados de séries cronológicas. Pode criar etiquetas dinâmicas definidas pelo utilizador quando configurar a condição de uma política de alertas com PromQL. Para ver um exemplo, consulte o artigo Exemplo: adicione etiquetas definidas pelo utilizador com valores dinâmicos.
As chaves de etiquetas têm de começar com uma letra minúscula. As chaves de etiquetas e os valores de etiquetas só podem conter letras minúsculas, dígitos, sublinhados e travessões.
Etiquetas predefinidas
As etiquetas predefinidas estão incluídas nos descritores de recursos. Estas etiquetas têm de ser preenchidas quando os dados de séries cronológicas são escritos. Estas etiquetas mostram informações acerca da métrica que está a ser recolhida ou do recurso em relação ao qual a métrica é escrita. Por exemplo, as etiquetas numa série cronológica podem identificar uma máquina virtual (VM), uma zona, um projeto e um tipo de dispositivo. Google Cloud Quando a monitorização cria um incidente com base nessa série cronológica, o incidente herda essas etiquetas.
Etiquetas do App Hub
O App Hub anexa etiquetas a dados de registo, métricas e rastreios gerados por uma aplicação e os respetivos serviços e cargas de trabalho. Estas etiquetas permitem que a Google Cloud infraestrutura crie painéis de controlo de aplicações, serviços e cargas de trabalho que mostram dados de métricas e registos. Para mais informações, consulte um dos seguintes documentos:
- Google Cloud console: associe uma política de alerta a uma aplicação do App Hub.
- Cloud Monitoring API: associe uma política de alerta a uma aplicação do App Hub.
Como ver etiquetas
Pode ver as etiquetas de uma política de alerta ou de um incidente na página de detalhes de um incidente, na página de detalhes de uma política de alerta e em algumas notificações.
- Políticas de alertas: as etiquetas estáticas definidas pelo utilizador são apresentadas na secção Etiquetas do utilizador. Os marcadores dinâmicos definidos pelo utilizador e os marcadores predefinidos não são visíveis.
- Incidentes: as etiquetas estáticas definidas pelo utilizador são apresentadas na secção Etiquetas de políticas, e as etiquetas dinâmicas definidas pelo utilizador são apresentadas na secção Etiquetas de métricas. As etiquetas predefinidas são apresentadas nas secções Etiquetas de recursos monitorizados e Etiquetas de métricas.
Notificações: os marcadores predefinidos e os marcadores definidos pelo utilizador são apresentados nos seguintes tipos de notificações:
- Google Chat
- PagerDuty
- Pub/Sub
- Webhook
Exemplo: adicione etiquetas definidas pelo utilizador com valores dinâmicos
Pode usar o PromQL para configurar uma etiqueta de modo que o respetivo valor mude dinamicamente com base nos dados de séries cronológicas. Por exemplo, quer que os seus incidentes tenham uma etiqueta criticality
cujo valor mude consoante o valor da métrica de utilização da CPU monitorizada:
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.9,
"criticality", "CRITICAL", "", ""
)
or ignoring (criticality)
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.8,
"criticality", "WARNING", "", ""
)
or ignoring (criticality)
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.7,
"criticality", "INFO", "", ""
)
or ignoring (criticality)
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]),
"criticality", "GOOD", "", ""
)
A figura seguinte ilustra como as políticas de alerta que usam consultas PromQL processam os dados de séries cronológicas que monitorizam:
O processador de políticas processa os dados de utilização da CPU e gera uma série cronológica que indica quando a condição é cumprida. No exemplo anterior, a condição é cumprida quando a utilização da CPU é, pelo menos, de 70%. Para cada série cronológica de entrada, o controlador de políticas pode gerar uma de quatro séries cronológicas:
Nome do intervalo temporal de saída | Condição cumprida | Descrição |
---|---|---|
"GOOD" | Não | Esta série cronológica tem as mesmas etiquetas que a série cronológica de entrada. Não tem uma etiqueta de gravidade. |
"CRITICAL" | Sim | A utilização da CPU é de, pelo menos, 90%. A série cronológica de saída tem as mesmas etiquetas que a série cronológica "GOOD" (BOA), além de uma etiqueta de gravidade com o valor "CRITICAL" (CRÍTICA). |
"WARNING" | Sim | A utilização da CPU é de, pelo menos, 80%, mas inferior a 90%. A série cronológica de saída tem as mesmas etiquetas que a série cronológica "GOOD" (BOM), além de uma etiqueta de gravidade com o valor "WARNING" (AVISO). |
"INFO" | Sim | A utilização da CPU é de, pelo menos, 70%, mas inferior a 80%. A série cronológica de saída tem as mesmas etiquetas que a série cronológica "GOOD" (BOA), além de uma etiqueta de gravidade com o valor "INFO" (INFORMAÇÃO). |
Os dados de intervalos temporais gerados pelo controlador de políticas são a entrada para o gestor de incidentes, que determina quando os incidentes são criados e fechados. Para determinar quando fechar um incidente, o gestor de incidentes usa os valores dos campos duration
, evaluationMissingData
e autoClose
.
Práticas recomendadas
Para verificar que, no máximo, um incidente está aberto de cada vez quando cria etiquetas cujos valores são definidos dinamicamente, faça o seguinte:
No objeto
MetricThreshold
, substitua os valores predefinidos dos seguintes campos:- Campo
duration
: defina um valor diferente de zero. - Campo
evaluationMissingData
: definido para que os incidentes sejam fechados quando os dados deixarem de chegar. Quando usar a API Cloud Monitoring, defina este campo comoEVALUATION_MISSING_DATA_INACTIVE
. Quando usar a consola, defina o campo como "Missing data points treated as values that don't violate the policy condition" (Pontos de dados em falta tratados como valores que não violam a condição da política). Google Cloud
- Campo
No objeto
AlertStrategy
, defina o campoautoClose
para o valor mínimo de 30 minutos. Quando usar a API Cloud Monitoring, defina este campo como30m
.
Para mais informações, consulte o artigo Dados de métricas parciais.
Fluxo de incidentes
Suponhamos que as medições da utilização da CPU são inferiores a 70% quando a política de alerta é criada. A sequência seguinte ilustra como os incidentes são abertos e fechados:
Uma vez que as medições da utilização da CPU são inferiores a 70%, o controlador de políticas gera a série cronológica "GOOD" e não são abertos incidentes.
Em seguida, suponha que a utilização da CPU aumenta para 93%. O controlador de políticas deixa de gerar os dados de séries cronológicas "GOOD" e começa a gerar dados para as séries cronológicas "CRITICAL".
O gestor de incidentes vê um novo intervalo temporal "CRÍTICO" que cumpre a condição e, em seguida, abre um incidente. A notificação inclui a etiqueta de gravidade com um valor de
CRITICAL
.Suponha que a utilização da CPU desce para 75%. O controlador de políticas deixa de gerar a série cronológica "CRÍTICA" e começa a gerar a série cronológica "INFO".
O gestor de incidentes vê uma nova série cronológica "INFO" que cumpre a condição e, em seguida, abre um incidente. A notificação inclui a etiqueta de gravidade com um valor de
INFO
.O gestor de incidentes vê que não estão a chegar dados para a série cronológica "CRITICAL" e que existe um incidente aberto para essa série cronológica. Uma vez que a política está configurada para fechar incidentes quando os dados deixam de chegar, o gestor de incidentes fecha o incidente associado à série cronológica "CRÍTICO". Por conseguinte, apenas o incidente cuja etiqueta de gravidade tem um valor de
INFO
permanece aberto.Por último, suponha que a utilização da CPU desce para 45%. Este valor é inferior a todos os limites, pelo que o controlador de políticas deixa de gerar a série cronológica "INFO" e começa a gerar a série cronológica "GOOD".
O gestor de incidentes vê que não estão a chegar dados para a série cronológica "INFO" e que existe um incidente aberto para essa série cronológica. Uma vez que a política está a usar as definições recomendadas, o incidente é encerrado.
Se não usar o valor recomendado para o campo evaluationMissingData
,
quando os dados deixarem de chegar, os incidentes abertos não são fechados imediatamente.
O resultado é que pode ver vários incidentes abertos para a mesma série cronológica de entrada. Para mais informações, consulte o artigo
Dados de métricas parciais.
O que se segue?
- Crie políticas de alerta com a API Monitoring
- Crie políticas de alerta através do PromQL
- Tratamento de dados de métricas parciais