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/metrics será 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>

results matching ""

    No results matching ""