Monitoramento Keycloak

Você pode monitorar seu ambiente do Keycloak com o sensor Keycloak do Instana. Após instalar o agente de host do Instana, o agente implementa automaticamente o sensor Keycloak, que coleta métricas em tempo real. Você pode visualizar as métricas na interface do usuário do Instana.

O sensor do Keycloak oferece recursos abrangentes de monitoramento para o seu ambiente do Keycloak, incluindo métricas de desempenho, eventos de usuário e monitoramento de integridade.

Informações de suporte

Para garantir que o sensor Keycloak seja compatível com a sua configuração atual, consulte as seguintes seções de informações de suporte:

Versões compatíveis e política de suporte

A tabela a seguir mostra a versão mais recente compatível e a política de suporte:

Tabela 1. Versão mais recente compatível e política de suporte
Tecnologia Política de suporte Versão com tecnologia de ponta Versão mais recente suportada
Keycloak (com sede em Quarkus ) Sob demanda 26.5 26.5

Para obter mais informações sobre a política de suporte, consulte a estratégia de suporte para sensores.

Configurando o monitorament Keycloak

Após instalar o agente, o sensor " Keycloak " é ativado por padrão. Para iniciar o monitoramen Keycloak, ative as configurações necessárias em Keycloak.

Ativação de métricas e monitoramento de integridade no ` Keycloak `

Para coletar métricas de desempenho, eventos de usuário e métricas de integridade do ` Keycloak `, certifique-se de que os seguintes parâmetros de linha de comando ou variáveis de ambiente do ` K8s ` estejam configurados.

Tabela 2. Variáveis de linha de comando e de ambiente para habilitar a coleta de métricas do ` Keycloak `
Opções de linha de comando ou variáveis de ambiente Valor
--metrics-enabled/ KC_METRICS_ENABLED true
--event-metrics-user-tags / KC_EVENT_METRICS_USER_TAGS realm ou clientId
--health-enabled/ KC_HEALTH_ENABLED true
--event-metrics-user-events / KC_EVENT_METRICS_USER_EVENTS login, logout, client_login, refresh_token, register, ou code_to_token

Para obter mais informações, consulte a documentação sobre eventos de usuário do Keycloak.

Opcional: Configurando a frequência de sondagem

Você pode definir a frequência com que o Instana consulta o Keycloak para coletar dados e métricas usando o poll_rate parâmetro no arquivo configuration.yaml do agente (*instanaAgentDir*/etc/instana/configuration.yaml), conforme mostrado no exemplo a seguir:

com.instana.plugin.keycloak:
  enabled: true # Default value is true
  poll_rate: 1 # values are in seconds. Default value is 1 second.
Observação: Se nenhum intervalo de sondagem específico for definido, o intervalo padrão será de 1 segundo.

Visualizando as métricas

Para visualizar as métricas, selecione “Infraestrutura” no menu de navegação da interface do usuário do Instana, clique em um host monitorado específico e, em seguida, você poderá ver um painel do host com todas as métricas coletadas e os processos monitorados.

Observação: as métricas também podem ser coletadas por meio de um sensor Prometheus. Você pode criar painéis personalizados usando as métricas coletadas.

O sensor ` Keycloak ` coleta as seguintes métricas de desempenho:

Métricas de desempenho

As seguintes métricas são coletadas da instância do Keycloak :

Tabela 3. Métricas de desempenho coletadas
Métrica de desempenho Descrição Nome de métrica Unit
Métricas de eventos do usuário Registra a ocorrência de eventos do usuário com as tags: realm, client_id, event, ou error keycloak.user Contagem
HTTP Server Métricas de solicitação Mede a duração do processamento das solicitações para URIs que correspondam a /realms/{realm}/protocol/{protocol}, com as tags (uri, method, status, ou outcome) http.server.requests Milissegundos

Métricas de eventos do usuário

Keycloak Os eventos dos usuários são coletados e categorizados por meio de tags, e os dados resultantes são apresentados como gráficos na interface do usuário do Instana.

Tabela 4. Métricas de eventos do usuário
Ponto de dados Filtrar por tag Agrupar por tag Descrição
Logins com Êxito event=login e error="" Número de tentativas de login bem-sucedidas
Tentativas de efetuar login evento=login Número total de tentativas de login
Tentativas de login com falha event=login e error!="" Número de tentativas de login com falha.
Logins de clientes com êxito event=login e error="" client_id Número de tentativas de login bem-sucedidas por ID de cliente
Logins de clientes com falha event=login e error!="" client_id Número de tentativas de login malsucedidas por ID de cliente
Logins de domínio com êxito event=login e error="" realm Número de tentativas de login bem-sucedidas por reino
Logins de domínio com falha event=login e error!="" realm Número de tentativas de login malsucedidas por reino
Erros de Login event=login e error!="" error Eventos de login com falha por tipo de erro
Erros de registro event=register e error!="" error Registro de usuários por tipo de erro
Atualizar tokens event=refresh_token e error="" client_id Número de solicitações de token de atualização por ID de cliente
Erros de token de atualização event=refresh_token e error!="" client_id Número de erros de token de atualização por ID de cliente
Solicitações de inscrição event=register e error="" realm Número de solicitações de registro por reino
Erros de registro event=register e error!="" realm Número de erros de registro por reino
Solicitações de código para token event=code_to_token e error="" client_id Número de solicitações de troca de código de autorização por token por ID de cliente
Erros de conversão de código para token event=code_to_token e error!="" client_id Número de falhas na troca de código por token por ID de cliente
Os 5 principais clientes - client_id Os 5 principais IDs de cliente
Os 5 principais domínios - realm Os 5 principais domínios

HTTP Server Solicitar métricas

As métricas de solicitação do ` HTTP Server ` são calculadas na interface do usuário da seguinte forma:

Tabela 5. HTTP Server Solicitar métricas
Ponto de dados Filtrar por tag Agrupar por tag Descrição
Distribuição de erros de solicitação ( 4xx ou 5xx ) status=4xx ou 5xx status Distribuição dos erros de solicitação
Duração da solicitação por URI - uri As 5 principais durações de solicitação por URI em milissegundos

Indicadores de saúde

Keycloak apresenta métricas de integridade por meio de seu /health endpoint, que indicam a prontidão e a disponibilidade do servidor em tempo de execução. Normalmente, são coletadas as seguintes métricas:

Tabela 6. Indicadores de saúde
Verificação de funcionamento Descrição
Funcionamento geral Estado geral da instância do Keycloak
Conectividade do banco de dados Indica se o Keycloak consegue se conectar ao seu banco de dados
Funcionamento do cluster Status dos nós do cluster do ` Keycloak ` e comunicação entre nós