|
Este documento foi traduzido usando tecnologia de tradução automática de máquina. Sempre trabalhamos para apresentar traduções precisas, mas não oferecemos nenhuma garantia em relação à integridade, precisão ou confiabilidade do conteúdo traduzido. Em caso de qualquer discrepância, a versão original em inglês prevalecerá e constituirá o texto official. |
Substituir argumentos de limiar de monitor via anotações do Kubernetes
Visão Geral
O SUSE Observability fornece monitores prontos para uso, que oferecem monitoramento sobre problemas comuns que podem ocorrer em um cluster Kubernetes. Esses monitores funcionam com certos argumentos padrão que atendem à maioria dos casos de uso, mas às vezes é necessário adaptar seu comportamento substituindo alguns desses argumentos padrão, como threshold ou failureState.
O mecanismo para declarar as substituições é por meio de anotações de recursos do Kubernetes que indicam a qual monitor e componente elas devem se aplicar. Por exemplo, poderíamos substituir o failureState para o monitor Available service endpoints de um serviço específico onde queremos sinalizar um estado CRITICAL quando ele falha, em vez do padrão DEVIATING.
Procedimentos
Como exemplo, os passos substituirão os argumentos para o monitor Available service endpoints dos serviços HTTP do Kubernetes.
Como construir minha anotação
As chaves de anotações de substituição para monitores de Observabilidade da SUSE seguem a seguinte convenção:
monitor.${owner}.stackstate.io/${monitorShorName}
A propriedade owner representa quem criou tal monitor, para os monitores prontos para uso é kubernetes-v2, e a propriedade monitorShorName representa o id do monitor e pode ser extraído da propriedade identifier de um monitor que pode ser lido pelo CLI ao listar ou inspecionar monitores
sts monitor list ID | STATUS | IDENTIFIER | NAME | FUNCTION ID | TAGS 8051105457030 | ENABLED | urn:stackpack:kubernetes-v2:shared:monitor:kubernetes-v2:service-available-endpoint | Available service endpoints | 233276809885571 | [services]
No nosso exemplo, o identificador é urn:stackpack:kubernetes-v2:shared:monitor:kubernetes-v2:service-available-endpoint e o monitorShorName corresponde ao último segmento como em service-available-endpoint, portanto, a chave da anotação é:
monitor.kubernetes-v2.stackstate.io/service-available-endpoint
a carga útil da anotação é um objeto JSON onde os seguintes argumentos opcionais podem ser definidos:
-
threshold: opcional. Um limiar numérico para comparar. -
failureState: opcional. Ou "CRÍTICO" ou "DESVIANTE". "CRÍTICO" aparecerá como vermelho na Observabilidade da SUSE e "DESVIANTE" como laranja, para denotar diferentes severidades. -
enabled: opcional. Booleano que determina se o monitor produziria um estado de saúde para aquele componente.
A anotação completa então pareceria
monitor.kubernetes-v2.stackstate.io/service-available-endpoint: |-
{
"threshold": 0.0,
"failureState": "CRITICAL",
"enabled": true
}
Quais monitores permitem substituir argumentos?
-
Volumes persistentes órfãos (Apenas a propriedade
enabled)
Criar uma substituição para um monitor personalizado
Qualquer monitor de limiar personalizado criado usando o guia em Adicionar um monitor de limiar a componentes usando o CLI é adequado para substituir argumentos, como o exemplo mostra um identificador para um monitor personalizado é estruturado como urn:custom:monitor:{monitorShortName} e a chave de anotação de substituição para tal identificador é esperada ser
monitor.custom.stackstate.io/${monitorShortName}
O exemplo usa o identificador urn:custom:monitor:deployment-has-replicas, portanto, a chave de anotação seria
monitor.custom.stackstate.io/deployment-has-replicas
E a anotação completa seria
monitor.custom.stackstate.io/deployment-has-replicas: |-
{
"threshold": 0.0,
"failureState": "CRITICAL"
"enabled": true
}