Verificar Métricas do Serviço
Este guia demonstra como verificar as métricas de consumo do serviço, as seguintes métricas estão disponíveis:
- Métrica Global de tempo de resposta de todos os provedores com tempo minimo, máximo e média.
- Métrica por provedor de tempo de resto com tempo minimo, máximo e média.
- Métrica Global de tipo de duplo fator consumido de todos os provedores separados por sucesso, falha e total.
- Métrica por provedor de tipo de duplo fator consumo separados por sucesso, falha e total.
- Métrica Global de análise de risco de todos os provedores separados por sucesso, falha, total e valores dos scores.
- Métrica por provedor de análise de risco separados por sucesso, falha, total e valores dos scores.
Observação: Mais métricas poderão ser adicionadas em versões futuras.
Para verificar as metricas do serviço siga os seguintes procedimentos:
Utilizando a API
/api/metricsserá retornado uma resposta no formato JSON com todas as informações necessárias.Exemplo utilizando o comando
curl:curl --user "admin:[SENHA DO ADMIN DEFINIDA DURANTE A INSTALAÇÃO]" "https://[IP OU HOSTNAME (FQDN)]/api/metrics"A Resposta irá se parecer com esta:
{ "contents": [ { "rel": [ "urn:mfao:metrics:ttr" ], "title": "Metrics for Time to Respond of Providers (Last 1000 Requests)", "values": { "global": { "mfa-provider": { "avg": 0, "max": 0, "min": 0 }, "notification": { "avg": 0, "max": 0, "min": 0 }, "risk-provider": { "avg": 0, "max": 0, "min": 0 }, "user-store": { "avg": 0, "max": 0, "min": 0 } }, "mfa-providers": {}, "notifications": {}, "risk-providers": {}, "user-stores": {} } }, { "rel": [ "urn:mfao:metrics:otp" ], "title": "Metrics for OTP consumption", "values": { "global": { "failed": 0, "successful": 0, "total": 0 } } }, { "rel": [ "urn:mfao:metrics:totp" ], "title": "Metrics for TOTP consumption", "values": { "global": { "failed": 0, "successful": 0, "total": 0 } } }, { "rel": [ "urn:mfao:metrics:hotp" ], "title": "Metrics for HOTP consumption", "values": { "global": { "failed": 0, "successful": 0, "total": 0 } } }, { "rel": [ "urn:mfao:metrics:motp" ], "title": "Metrics for MOTP consumption", "values": { "global": { "failed": 0, "successful": 0, "total": 0 } } }, { "rel": [ "urn:mfao:metrics:risk" ], "title": "Metrics for Risk consumption", "values": { "global": { "0-20": 0, "20-40": 0, "40-60": 0, "60-80": 0, "80-100": 0, "failed": 0, "successful": 0, "total": 0 } } } ] }
Como filtrar o resultado?
- Tempo de Resposta dos Componentes Orquestrados
| # | Componente | URN | Tipo | JSONPath |
|---|---|---|---|---|
| 1 | mfa-provider | urn:mfao:metrics:ttr | avg | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.mfa-provider.avg |
| 2 | mfa-provider | urn:mfao:metrics:ttr | max | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.mfa-provider.max |
| 3 | mfa-provider | urn:mfao:metrics:ttr | min | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.mfa-provider.min |
| 4 | notification | urn:mfao:metrics:ttr | avg | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.notification.avg |
| 5 | notification | urn:mfao:metrics:ttr | max | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.notification.max |
| 6 | notification | urn:mfao:metrics:ttr | min | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.notification.min |
| 7 | risk-provider | urn:mfao:metrics:ttr | avg | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.risk-provider.avg |
| 8 | risk-provider | urn:mfao:metrics:ttr | max | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.risk-provider.max |
| 9 | risk-provider | urn:mfao:metrics:ttr | min | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.risk-provider.min |
| 10 | user-store | urn:mfao:metrics:ttr | avg | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.user-store.avg |
| 11 | user-store | urn:mfao:metrics:ttr | max | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.user-store.max |
| 12 | user-store | urn:mfao:metrics:ttr | min | $.contents[?(@.rel[0] == 'urn:mfao:metrics:ttr')].values.global.user-store.min |
Observação: Você pode filtrar por provedor específico alterando o
.values.global.<provider-type>por.values.<provider-type>.<id>
- Métricas de Consumo de MFA e Análise de Risco
| # | Componente | URN | Tipo | JSONPath |
|---|---|---|---|---|
| 1 | OTP | urn:mfao:metrics:otp | failed | $.contents[?(@.rel[0] == 'urn:mfao:metrics:otp')].values.global.failed |
| 2 | OTP | urn:mfao:metrics:otp | successful | $.contents[?(@.rel[0] == 'urn:mfao:metrics:otp')].values.global.successful |
| 3 | OTP | urn:mfao:metrics:otp | total | $.contents[?(@.rel[0] == 'urn:mfao:metrics:otp')].values.global.total |
| 4 | TOTP | urn:mfao:metrics:totp | failed | $.contents[?(@.rel[0] == 'urn:mfao:metrics:totp')].values.global.failed |
| 5 | TOTP | urn:mfao:metrics:totp | successful | $.contents[?(@.rel[0] == 'urn:mfao:metrics:totp')].values.global.successful |
| 6 | TOTP | urn:mfao:metrics:totp | total | $.contents[?(@.rel[0] == 'urn:mfao:metrics:totp')].values.global.total |
| 7 | HOTP | urn:mfao:metrics:hotp | failed | $.contents[?(@.rel[0] == 'urn:mfao:metrics:hotp')].values.global.failed |
| 8 | HOTP | urn:mfao:metrics:hotp | successful | $.contents[?(@.rel[0] == 'urn:mfao:metrics:hotp')].values.global.successful |
| 9 | HOTP | urn:mfao:metrics:hotp | total | $.contents[?(@.rel[0] == 'urn:mfao:metrics:hotp')].values.global.total |
| 10 | MOTP | urn:mfao:metrics:motp | failed | $.contents[?(@.rel[0] == 'urn:mfao:metrics:motp')].values.global.failed |
| 11 | MOTP | urn:mfao:metrics:motp | successful | $.contents[?(@.rel[0] == 'urn:mfao:metrics:motp')].values.global.successful |
| 12 | MOTP | urn:mfao:metrics:motp | total | $.contents[?(@.rel[0] == 'urn:mfao:metrics:motp')].values.global.total |
| 13 | RISK | urn:mfao:metrics:risk | failed | $.contents[?(@.rel[0] == 'urn:mfao:metrics:risk')].values.global.failed |
| 14 | RISK | urn:mfao:metrics:risk | successful | $.contents[?(@.rel[0] == 'urn:mfao:metrics:risk')].values.global.successful |
| 15 | RISK | urn:mfao:metrics:risk | total | $.contents[?(@.rel[0] == 'urn:mfao:metrics:risk')].values.global.total |
Observação: Você pode filtrar por provedor específico alterando o
.values.global.<provider-type>por.values.<id>