Ver métricas

Este tópico explica como ver as métricas do Apigee hybrid num painel de controlo do Cloud Operations.

Acerca das operações na nuvem

Para mais informações sobre métricas, painéis de controlo e Cloud Operations, consulte:

Ativar métricas híbridas

Antes de poderem ser enviadas métricas híbridas para o Cloud Operations, tem de ativar primeiro a recolha de métricas. Consulte o artigo Configure a recolha de métricas para ver este procedimento.

Acerca dos nomes e das etiquetas das métricas híbridas

Quando ativada, a opção híbrida preenche automaticamente as métricas do Cloud Operations. O prefixo do nome do domínio das métricas criadas pelo híbrido é:

apigee.googleapis.com/

Por exemplo, a métrica /proxyv2/request_count contém o número total de pedidos recebidos por um proxy de API. Por conseguinte, o nome da métrica no Cloud Operations é:

apigee.googleapis.com/proxyv2/request_count

As Cloud Operations permitem filtrar e agrupar dados de métricas com base em etiquetas. Algumas etiquetas são predefinidas e outras são adicionadas explicitamente pelo híbrido. A secção Métricas disponíveis abaixo apresenta todas as métricas híbridas disponíveis e quaisquer etiquetas adicionadas especificamente para uma métrica que pode usar para filtragem e agrupamento.

Visualizar métricas

O exemplo seguinte mostra como ver métricas no Cloud Operations:
  1. Abra o Explorador de métricas de monitorização num navegador. Em alternativa, se já estiver na consola Cloud Operations, selecione Explorador de métricas.
  2. Em Encontre o tipo de recurso e a métrica, localize e selecione a métrica que quer examinar. Escolha uma métrica específica apresentada em Métricas disponíveis ou pesquise uma métrica.

  3. Selecione a métrica pretendida.
  4. Aplique filtros. As opções de filtro para cada métrica são apresentadas em Métricas disponíveis.
  5. O Cloud Operations apresenta o gráfico da métrica selecionada.
  6. Clique em Guardar.

Criar um painel de controlo

Os painéis de controlo são uma forma de ver e analisar os dados de métricas importantes para si. O Cloud Operations fornece painéis de controlo predefinidos para os recursos e os serviços que usa, e também pode criar painéis de controlo personalizados.

Usa um gráfico para apresentar uma métrica do Apigee no seu painel de controlo personalizado. Com os painéis de controlo personalizados, tem controlo total sobre os gráficos apresentados e a respetiva configuração. Para mais informações sobre como criar gráficos, consulte o artigo Criar gráficos.

O exemplo seguinte mostra como criar um painel de controlo no Cloud Operations e, em seguida, adicionar gráficos para ver os dados de métricas:

  1. Abra o Monitoring Metrics Explorer num navegador e, de seguida, selecione Painéis de controlo.
  2. Selecione + Criar painel de controlo.
  3. Atribua um nome ao painel de controlo. Por exemplo: tráfego de pedidos de proxy híbrido
  4. Clique em Confirm.
  5. Para cada gráfico que quer adicionar ao painel de controlo, siga estes passos:

    1. No painel de controlo, selecione Adicionar gráfico.
    2. Selecione a métrica pretendida, conforme descrito acima em Ver métricas.
    3. Conclua a caixa de diálogo para definir o gráfico.
    4. Clique em Guardar. O Cloud Operations apresenta dados para a métrica selecionada.

Métricas disponíveis

As tabelas seguintes indicam as métricas para analisar o tráfego de proxy.

Métricas de tráfego de proxy, segmentação e servidor

O serviço Prometheus recolhe e processa métricas (conforme descrito na recolha de métricas) para o tráfego de proxy, de destino e de servidor.

A tabela seguinte descreve as métricas e as etiquetas que o Prometheus usa. Estas etiquetas são usadas nas entradas do registo de métricas.

Nome da métrica Etiqueta Utilizar
/proxyv2/request_count method O número total de pedidos de proxy de API recebidos.
/proxyv2/response_count method response_code O número total de respostas de proxy da API recebidas.
/proxyv2/latencies_percentile method Percentil de todas as respostas da política de API a um pedido.
/targetv2/request_count method

target_type

target_endpoint

O número total de pedidos enviados para o destino do proxy.
/targetv2/response_count method

response_code

target_type

target_endpoint

O número total de respostas recebidas do destino do proxy.
/server/fault_count source

O número total de falhas da aplicação de servidor.

Por exemplo, a aplicação pode ser apigee-runtime, apigee-synchronizer ou apigee-udca. Use a etiqueta pod_name para filtrar os resultados por aplicação.

/server/nio state O número de entradas abertas.
/server/num_threads O número de threads não daemon ativas no servidor.
/server/request_count method

type

O número total de pedidos recebidos pela aplicação de servidor.

Por exemplo, a aplicação pode ser apigee-runtime, apigee-synchronizer ou apigee-udca. Use a etiqueta pod_name para filtrar os resultados por aplicação.

/server/response_count method

response_code
type

O número total de respostas enviadas pela aplicação de servidor.

Por exemplo, a aplicação pode ser apigee-runtime, apigee-synchronizer ou apigee-udca. Use a etiqueta pod_name para filtrar os resultados por aplicação.

/server/latencies method

response_code
type

A latência é a latência em milissegundos introduzida pela aplicação do servidor.

Por exemplo, a aplicação pode ser apigee-runtime, apigee-synchronizer ou apigee-udca. Use a etiqueta pod_name para filtrar os resultados por aplicação.

/upstream/request_count method

type

O número de pedidos enviados pela aplicação de servidor à respetiva aplicação a montante.

Por exemplo, para o apigee-synchronizer, o plano de controlo está a montante. Assim, upstream/request_count para apigee-synchronizer é uma métrica que indica os pedidos que apigee-synchronizer fez ao plano de controlo.

/upstream/response_count method

response_code

type

O número de respostas recebidas pela aplicação de servidor da respetiva aplicação a montante.

Por exemplo, para o apigee-synchronizer, o plano de controlo está a montante. Assim, upstream/response_count para apigee-synchronizer é uma métrica que indica os pedidos que apigee-synchronizer recebeu do plano de controlo.

/upstream/latencies method

response_code
type

A latência incorrida na aplicação do servidor a montante em milissegundos.

Por exemplo, para o apigee-synchronizer, o plano de controlo está a montante. Assim, upstream/latencies para apigee-synchronizer é uma métrica que indica a latência do plano de controlo.

Métricas de UDCA

O serviço Prometheus recolhe e processa métricas (conforme descrito em Recolha de métricas) para o serviço UDCA, tal como faz para outros serviços híbridos.

A tabela seguinte descreve as métricas e as etiquetas que o Prometheus usa nos dados de métricas da UDCA. Estas etiquetas são usadas nas entradas do registo de métricas.

Nome da métrica Etiqueta Utilizar
/udca/server/local_file_oldest_ts dataset

state

A data/hora, em milissegundos desde o início da época Unix, do ficheiro mais antigo no conjunto de dados.

Este valor é calculado a cada 60 segundos e não reflete o estado em tempo real. Se o UDCA estiver atualizado e não existirem ficheiros à espera de carregamento quando esta métrica é calculada, este valor é 0.

Se este valor continuar a aumentar, significa que os ficheiros antigos ainda estão no disco.

/udca/server/local_file_latest_ts dataset

state

A indicação de tempo, em milissegundos desde o início da época Unix, do ficheiro mais recente no disco por estado.

Este valor é calculado a cada 60 segundos e não reflete o estado em tempo real. Se o UDCA estiver atualizado e não existirem ficheiros à espera de carregamento quando esta métrica é calculada, este valor é 0.

/udca/server/local_file_count dataset

state

Uma contagem do número de ficheiros no disco no pod de recolha de dados.

Idealmente, o valor deve estar próximo de 0. Um valor elevado consistente indica que os ficheiros não estão a ser carregados ou que a UDCA não consegue carregá-los com rapidez suficiente.

Este valor é calculado a cada 60 segundos e não reflete o estado da UDCA em tempo real.

/udca/server/total_latencies dataset

O intervalo de tempo, em segundos, entre a criação do ficheiro de dados e o carregamento bem-sucedido do ficheiro de dados.

Os intervalos são 100 ms, 250 ms, 500 ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s e 64 s.

Histograma da latência total desde a hora de criação do ficheiro até à hora de carregamento bem-sucedido.

/udca/server/upload_latencies dataset

O tempo total, em segundos, que o UDCA demorou a carregar um ficheiro de dados.

Os intervalos são 100 ms, 250 ms, 500 ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s e 64 s.

As métricas apresentam um histograma da latência total de carregamento, incluindo todas as chamadas a montante.

/udca/upstream/http_error_count service

dataset

response_code

A contagem total de erros HTTP que o UDCA encontrou. Esta métrica é útil para ajudar a determinar que parte das dependências externas da UDCA está a falhar e por que motivo.

Estes erros podem surgir para vários serviços (getDataLocation, Cloud storage, Token generator) e para vários conjuntos de dados (como api e trace) com vários códigos de resposta.

/udca/upstream/http_latencies service

dataset

A latência a montante dos serviços, em segundos.

Os intervalos são 100 ms, 250 ms, 500 ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s e 64 s.

Histograma da latência dos serviços a montante.

/udca/upstream/uploaded_file_sizes dataset

O tamanho do ficheiro que está a ser carregado para os serviços do Apigee, em bytes.

Os intervalos são 1 KB, 10 KB, 100 KB, 1 MB, 10 MB, 100 MB e 1 GB.

Histograma do tamanho do ficheiro por conjunto de dados, organização e ambiente.

/udca/upstream/uploaded_file_count dataset Uma contagem dos ficheiros que o UDCA carregou para os serviços Apigee.

Tenha em atenção que:

  • O valor do conjunto de dados event deve continuar a aumentar.
  • O valor do conjunto de dados api deve continuar a aumentar se a organização/o ambiente tiver um tráfego constante.
  • O valor do conjunto de dados trace deve aumentar quando usa as ferramentas de rastreio do Apigee para depurar ou inspecionar os seus pedidos.
/udca/disk/used_bytes dataset

state

O espaço ocupado pelos ficheiros de dados no disco do pod de recolha de dados, em bytes.

Um aumento deste valor ao longo do tempo:

  • ready_to_upload implica que o agente está atrasado.
  • failed implica que os ficheiros estão a acumular-se no disco e não estão a ser carregados. Este valor é calculado a cada 60 segundos.
/udca/server/pruned_file_count dataset

state

A quantidade de ficheiros que foram eliminados porque o respetivo tempo de vida (TTL) estava acima de um limite definido. O conjunto de dados pode incluir API, rastreio e outros, e o estado pode ser UPLOADED, FAILED ou DISCARDED.
/udca/server/retry_cache_size dataset

Uma contagem do número de ficheiros, por conjunto de dados, que a UDCA está a tentar carregar novamente.

Após 3 novas tentativas para cada ficheiro, o UDCA move o ficheiro para o subdiretório /failed e remove-o desta cache. Um aumento neste valor ao longo do tempo implica que a cache não está a ser limpa, o que acontece quando os ficheiros são movidos para o subdiretório /failed após 3 novas tentativas.

Métricas do Cassandra

O serviço Prometheus recolhe e processa métricas (conforme descrito na recolha de métricas) para o Cassandra, tal como faz para outros serviços híbridos.

A tabela seguinte descreve as métricas e as etiquetas que o Prometheus usa nos dados de métricas do Cassandra. Estas etiquetas são usadas nas entradas do registo de métricas.

Nome da métrica (excluindo o domínio) Etiqueta Utilizar
/cassandra/process_max_fds Número máximo de descritores de ficheiros abertos.
/cassandra/process_open_fds Descritores de ficheiros abertos.
/cassandra/jvm_memory_pool_bytes_max pool Utilização máxima de memória da JVM para o conjunto.
/cassandra/jvm_memory_pool_bytes_init pol Utilização inicial de memória da JVM para o conjunto.
/cassandra/jvm_memory_bytes_max area Utilização máxima da memória heap da JVM.
/cassandra/process_cpu_seconds_total Tempo da CPU do utilizador e do sistema gasto em segundos.
/cassandra/jvm_memory_bytes_used area Utilização de memória heap da JVM.
/cassandra/compaction_pendingtasks unit Compactações pendentes para sstables do Cassandra. Para mais informações, consulte a secção Compactação.
/cassandra/jvm_memory_bytes_init area Utilização inicial de memória heap da JVM.
/cassandra/jvm_memory_pool_bytes_used pool Utilização de memória do conjunto JVM.
/cassandra/jvm_memory_pool_bytes_committed pool Utilização de memória comprometida do conjunto de JVM.
/cassandra/clientrequest_latency scope

unit

Latência do pedido de leitura no intervalo do 75.º percentil em microssegundos.
/cassandra/jvm_memory_bytes_committed area Utilização de memória comprometida do heap da JVM.

Trabalhar com métricas do Cassandra

A Apigee recomenda as seguintes métricas como essenciais para monitorizar a sua base de dados Cassandra:

  • Taxa de pedidos do Cassandra: use esta métrica para monitorizar a taxa de pedidos de leitura e escrita do Cassandra.
    Métrica: apigee.googleapis.com/cassandra/clientrequest_latency
    Etiquetas de recursos: project_id, location, cluster_name, namespace_name, pod_name, container_name
    Etiquetas de métricas: scope, unit

    Use estas etiquetas para filtrar o recurso específico ou para agrupar.

    Para monitorizar a taxa de pedidos de leitura do Cassandra, aplique o seguinte filtro.

    Filtros: metric.scope == 'Read'
    metric.unit == 'OneMinuteRate'

    Para monitorizar a taxa de pedidos de escrita do Cassandra, aplique o seguinte filtro.

    Filtros: metric.scope == 'Write'
    metric.unit == 'OneMinuteRate'
  • Latência do pedido do Cassandra: use esta métrica para monitorizar a latência do pedido de leitura e escrita do Cassandra. Esta é a mesma métrica que a taxa de pedidos, apigee.googleapis.com/cassandra/clientrequest_latency com diferentes filtros aplicados.

    Para monitorizar a latência do pedido de leitura do Cassandra, aplique o seguinte filtro.

    Filtros: metric.scope == 'Read'
    metric.unit == '99thPercentile' ou '95thPercentile' ou '75thPercentile'

    Para monitorizar a latência do pedido de escrita do Cassandra, aplique o seguinte filtro.

    Filtros: metric.scope == 'Write'
    metric.unit == '99thPercentile' ou '95thPercentile' ou '75thPercentile'
  • Utilização do pedido de CPU do pod do Cassandra
    Métrica: kubernetes.io/container/cpu/request_utilization
    Etiquetas de recursos: project_id, location, cluster_name, namespace_name, pod_name, container_name

    Use estas etiquetas para filtrar o recurso específico ou para agrupar.

  • Utilização do volume de dados do Cassandra
    Métrica: kubernetes.io/pod/volume/utilization
    Etiquetas de recursos: project_id, location, cluster_name, namespace_name, pod_name
    Etiquetas de métricas: volume_name

    Use estas etiquetas para filtrar o recurso específico ou para agrupar.

Recomendações para dimensionar o cluster do Cassandra

As diretrizes seguintes podem servir como um cluster recomendado para a decisão de dimensionar o seu cluster do Cassandra. Em geral, se os pedidos de leitura ou escrita mostrarem consistentemente uma latência no percentil 99 ou a latência estiver a aumentar continuamente, e vir picos correspondentes no pico de utilização do pedido de CPU e nas taxas de pedidos de leitura ou escrita, pode considerar que o seu cluster do Cassandra está sob pressão. Pondere aumentar a escala do cluster. Para mais informações, consulte o artigo Dimensionar o Cassandra

MétricaLimiteDuração do acionador
kubernetes.io/pod/volume/utilization85%5min
kubernetes.io/container/cpu/request_utilization85%3min
Read request Latency 99thPercentile5s3min
Write request Latency 99thPercentile5s3min