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:
| 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.
| 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.
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.
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 :
| 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.
| 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:
| 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:
| 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 |