Ver métricas

En este tema se explica cómo ver las métricas de Apigee hybrid en un panel de control de Cloud Operations.

Acerca de Cloud Operations

Para obtener más información sobre las métricas, los paneles de control y Cloud Operations, consulta los siguientes artículos:

Habilitar métricas híbridas

Para poder enviar métricas híbridas a Cloud Operations, primero debes habilitar la recogida de métricas. Consulta Configurar la recogida de métricas para ver este procedimiento.

Acerca de los nombres y las etiquetas de las métricas híbridas

Cuando está habilitada, hybrid rellena automáticamente las métricas de Cloud Operations. El prefijo del nombre de dominio de las métricas creadas por la opción híbrida es:

apigee.googleapis.com/

Por ejemplo, la métrica /proxy/request_count contiene el número total de solicitudes recibidas por un proxy de API. Por lo tanto, el nombre de la métrica en Cloud Operations es el siguiente:

apigee.googleapis.com/proxy/request_count

Cloud Operations te permite filtrar y agrupar datos de métricas en función de las etiquetas. Algunas etiquetas están predefinidas y otras las añade explícitamente el sistema híbrido. En la sección Métricas disponibles que se muestra a continuación, se indican todas las métricas híbridas disponibles y las etiquetas añadidas específicamente a una métrica que puede usar para filtrar y agrupar.

Ver métricas

En el siguiente ejemplo se muestra cómo ver métricas en Cloud Operations:
  1. Abre el explorador de métricas de Monitoring en un navegador. Si ya estás en la consola de Cloud Operations, selecciona Explorador de métricas.
  2. En Find resource type and metric (Buscar tipo de recurso y métrica), localiza y selecciona la métrica que quieras examinar. Elige una métrica específica de la lista Métricas disponibles o busca una métrica.

  3. Seleccione la métrica que quiera.
  4. Aplica filtros. Las opciones de filtro de cada métrica se muestran en Métricas disponibles.
  5. Cloud Operations muestra el gráfico de la métrica seleccionada.
  6. Haz clic en Guardar.

Crear un panel de control

Los paneles de control son una forma de ver y analizar los datos de métricas que le interesan. Cloud Operations proporciona paneles de control predefinidos para los recursos y servicios que usas, y también puedes crear paneles de control personalizados.

Utiliza un gráfico para mostrar una métrica de Apigee en tu panel de control personalizado. Con los paneles de control personalizados, tienes un control total sobre los gráficos que se muestran y su configuración. Para obtener más información sobre cómo crear gráficos, consulta el artículo Crear gráficos.

En el siguiente ejemplo se muestra cómo crear un panel de control en Cloud Operations y, a continuación, añadir gráficos para ver los datos de métricas:

  1. Abre el Explorador de métricas de Monitoring en un navegador y, a continuación, selecciona Paneles.
  2. Selecciona + Crear panel de control.
  3. Ponle un nombre al panel de control. Por ejemplo, Tráfico de solicitudes de proxy híbrido
  4. Haz clic en Confirmar.
  5. Sigue estos pasos con cada gráfico que quieras añadir al panel de control:

    1. En el panel de control, selecciona Añadir gráfico.
    2. Selecciona la métrica que quieras, tal como se describe en la sección Ver métricas.
    3. Completa el cuadro de diálogo para definir el gráfico.
    4. Haz clic en Guardar. Cloud Operations muestra los datos de la métrica seleccionada.

Métricas disponibles

En las siguientes tablas se enumeran las métricas para analizar el tráfico proxy. Para obtener más información sobre cada métrica de Apigee, consulta las métricas de Google Cloud.

Métricas de tráfico de proxy, de destino y de servidor

OpenTelemetry recoge y trata métricas (tal como se describe en Recogida de métricas) del tráfico de proxy, de destino y de servidor.

En la siguiente tabla se describen las métricas que usa el recopilador de Open Telemetry.

Nombre de la métrica Uso
/proxy/request_count Número de solicitudes al proxy de Apigee desde que se registró la última muestra.
/proxy/response_count Número de respuestas enviadas por el proxy de API de Apigee.
/proxy/latencies Distribución de las latencias, que se calculan desde el momento en que el proxy de Apigee recibe la solicitud hasta el momento en que el proxy de Apigee envía la respuesta al cliente.
/proxyv2/request_count Número total de solicitudes de proxy de API recibidas.
/proxyv2/response_count Número total de respuestas de proxy de API recibidas.
/proxyv2/latencies_percentile Percentil de todas las respuestas de la política de la API a una solicitud.
/target/request_count Número de solicitudes enviadas al destino de Apigee desde que se registró la última muestra.
/target/response_count Número de respuestas recibidas del destino de Apigee desde que se registró la última muestra.
/target/latencies Distribución de las latencias, que se calculan desde el momento en que se envía la solicitud al destino de Apigee hasta el momento en que el proxy de Apigee recibe la respuesta. El tiempo no incluye la sobrecarga del proxy de API de Apigee.
/targetv2/request_count Número total de solicitudes enviadas al destino del proxy.
/targetv2/response_count Número total de respuestas recibidas del destino del proxy.
/server/fault_count

Número total de fallos de la aplicación de servidor.

Por ejemplo, la aplicación podría ser apigee-runtime, apigee-synchronizer o apigee-udca. Usa la etiqueta pod_name para filtrar los resultados por aplicación.

/server/nio Se trata de una métrica de indicador que se puede filtrar por la etiqueta state para obtener detalles de varias etiquetas. Los valores de representan diferentes operaciones del sistema y de entrada/salida. Las etiquetas como accepted, accepted_total, close_failed, close_success, conn_pending, connected, connected_total, max_conn y timeouts están relacionadas con las operaciones de sockets y conexiones. Las etiquetas restantes se refieren a otras operaciones del sistema.
/server/num_threads Número de subprocesos activos que no son demonios en el servidor.
/server/request_count

Número total de solicitudes recibidas por la aplicación de servidor.

Por ejemplo, la aplicación podría ser apigee-runtime, apigee-synchronizer o apigee-udca. Usa la etiqueta pod_name para filtrar los resultados por aplicación.

/server/response_count

Número total de respuestas enviadas por la aplicación del servidor.

Por ejemplo, la aplicación podría ser apigee-runtime, apigee-synchronizer o apigee-udca. Usa la etiqueta pod_name para filtrar los resultados por aplicación.

/server/latencies

La latencia es la latencia en milisegundos introducida por la aplicación del servidor.

Por ejemplo, la aplicación podría ser apigee-runtime, apigee-synchronizer o apigee-udca. Usa la etiqueta pod_name para filtrar los resultados por aplicación.

/upstream/request_count

Número de solicitudes enviadas por la aplicación de servidor a su aplicación upstream.

Por ejemplo, en el caso de apigee-synchronizer, el plano de control está en la parte superior. Por lo tanto, upstream/request_count de apigee-synchronizer es una métrica que indica las solicitudes que apigee-synchronizer ha enviado al plano de control.

/upstream/response_count

Número de respuestas que ha recibido la aplicación de servidor de su aplicación upstream.

Por ejemplo, en el caso de apigee-synchronizer, el plano de control está en la parte superior. Por lo tanto, upstream/response_count de apigee-synchronizer es una métrica que indica las solicitudes que apigee-synchronizer ha recibido del plano de control.

/upstream/latencies

Latencia incurrida en la aplicación del servidor upstream, en milisegundos.

Por ejemplo, en el caso de apigee-synchronizer, el plano de control está en la parte superior. Por lo tanto, upstream/latencies de apigee-synchronizer es una métrica que indica la latencia del plano de control.

Métricas de UDCA

OpenTelemetry recoge y trata métricas (como se describe en Recogida de métricas) del servicio UDCA del mismo modo que lo hace con otros servicios híbridos.

En la siguiente tabla se describen las métricas que usa el recopilador de Open Telemetry en los datos de métricas de UDCA.

state

state

Nombre de la métrica Uso
/udca/server/local_file_oldest_ts

Marca de tiempo, en milisegundos desde el inicio de la época de Unix, del archivo más antiguo del conjunto de datos.

Se calcula cada 60 segundos y no refleja el estado en tiempo real. Si la UDCA está actualizada y no hay archivos pendientes de subida cuando se calcula esta métrica, el valor será 0.

Si este valor sigue aumentando, significa que los archivos antiguos siguen en el disco.

/udca/server/local_file_latest_ts

Marca de tiempo, en milisegundos desde el inicio de la época de Unix, del archivo más reciente del disco por estado.

Se calcula cada 60 segundos y no refleja el estado en tiempo real. Si la UDCA está actualizada y no hay archivos pendientes de subida cuando se calcula esta métrica, el valor será 0.

/udca/server/local_file_count

Recuento del número de archivos del disco del pod de recogida de datos.

Lo ideal es que el valor sea cercano a 0. Un valor alto constante indica que no se están subiendo archivos o que el UDCA no puede subirlos lo suficientemente rápido.

Este valor se calcula cada 60 segundos y no refleja el estado de la UDCA en tiempo real.

/udca/server/total_latencies

Intervalo de tiempo, en segundos, entre la creación del archivo de datos y la subida correcta del archivo de datos.

Los contenedores serán de 100 ms, 250 ms, 500 ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s y 64 s.

Histograma de la latencia total desde el momento de creación del archivo hasta el momento de la subida correcta.

/udca/server/upload_latencies

Tiempo total, en segundos, que ha tardado UDCA en subir un archivo de datos.

Los contenedores serán de 100 ms, 250 ms, 500 ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s y 64 s.

Las métricas mostrarán un histograma de la latencia total de subida, incluidas todas las llamadas upstream.

/udca/upstream/http_error_count

El número total de errores HTTP que ha detectado UDCA. Esta métrica es útil para determinar qué parte de las dependencias externas de UDCA está fallando y por qué.

Estos errores pueden producirse en varios servicios (getDataLocation, Cloud storage y Token generator) y en varios conjuntos de datos (como api y trace) con varios códigos de respuesta.

/udca/upstream/http_latencies

La latencia de subida de los servicios, en segundos.

Los contenedores serán de 100 ms, 250 ms, 500 ms, 1 s, 2 s, 4 s, 8 s, 16 s, 32 s y 64 s.

Histograma de la latencia de los servicios upstream.

/udca/upstream/uploaded_file_sizes

Tamaño del archivo que se está subiendo a los servicios de Apigee, expresado en bytes.

Los segmentos serán de 1 KB, 10 KB, 100 KB, 1 MB, 10 MB, 100 MB y 1 GB.

Histograma del tamaño de los archivos por conjunto de datos, organización y entorno.

/udca/upstream/uploaded_file_count Número de archivos que UDCA ha subido a los servicios de Apigee.

Ten en cuenta que:

  • El valor del conjunto de datos event debería seguir aumentando.
  • El valor del conjunto de datos api debería seguir aumentando si la organización o el entorno tienen un tráfico constante.
  • El valor del conjunto de datos trace debería aumentar cuando uses las herramientas de seguimiento de Apigee para depurar o inspeccionar tus solicitudes.
/udca/disk/used_bytes

Espacio ocupado por los archivos de datos en el disco del pod de recogida de datos, en bytes.

Un aumento de este valor a lo largo del tiempo:

  • ready_to_upload implica que el agente se está quedando atrás.
  • failed implica que los archivos se están acumulando en el disco y no se están subiendo. Este valor se calcula cada 60 segundos.
/udca/server/pruned_file_count Número de archivos que se han eliminado porque su tiempo de vida (TTL) superaba un umbral establecido. El conjunto de datos puede incluir APIs, trazas y otros elementos, y el estado puede ser UPLOADED, FAILED o DISCARDED.
/udca/server/retry_cache_size

Recuento del número de archivos, por conjunto de datos, que UDCA está intentando subir de nuevo.

Después de 3 intentos con cada archivo, UDCA mueve el archivo al subdirectorio /failed y lo elimina de esta caché. Si este valor aumenta con el tiempo, significa que la caché no se está borrando, lo que ocurre cuando los archivos se mueven al subdirectorio /failed después de 3 reintentos.

Métricas de Cassandra

OpenTelemetry recoge y procesa métricas (como se describe en Recogida de métricas) de Cassandra del mismo modo que lo hace con otros servicios híbridos.

En la siguiente tabla se describen las métricas que usa el recopilador de Open Telemetry en los datos de métricas de Cassandra.

Nombre de la métrica (sin incluir el dominio) Uso
/cassandra/process_max_fds Número máximo de descriptores de archivo abiertos.
/cassandra/process_open_fds Descriptores de archivos abiertos.
/cassandra/jvm_memory_pool_bytes_max Uso máximo de memoria de la JVM para el grupo.
/cassandra/jvm_memory_pool_bytes_init Uso inicial de memoria de la JVM para el grupo.
/cassandra/jvm_memory_bytes_max Uso máximo de memoria del montículo de la JVM.
/cassandra/process_cpu_seconds_total Tiempo de CPU de usuario y del sistema empleado en segundos.
/cassandra/jvm_memory_bytes_used Uso de memoria de montículo de JVM.
/cassandra/compaction_pendingtasks Compresiones pendientes de las sstables de Cassandra. Consulta Compresión para obtener más información.
/cassandra/jvm_memory_bytes_init Uso de memoria inicial del montículo de la JVM.
/cassandra/jvm_memory_pool_bytes_used Uso de memoria del grupo de JVM.
/cassandra/jvm_memory_pool_bytes_committed Uso de memoria asignada del grupo de JVM.
/cassandra/clientrequest_latency Latencia de solicitudes de lectura en el intervalo del percentil 75 en microsegundos.
/cassandra/jvm_memory_bytes_committed Uso de memoria asignada del montículo de la JVM.

Trabajar con métricas de Cassandra

Apigee recomienda monitorizar las siguientes métricas, ya que son fundamentales para tu base de datos de Cassandra:

  • Tasa de solicitudes de Cassandra: use esta métrica para monitorizar la tasa de solicitudes de lectura y escritura de Cassandra.
    Métrica: apigee.googleapis.com/cassandra/clientrequest_latency
    Etiquetas de recurso: project_id, location, cluster_name, namespace_name, pod_name, container_name
    Etiquetas de métricas: scope, unit

    Utiliza estas etiquetas para filtrar el recurso específico o para agruparlos.

    Para monitorizar la tasa de solicitudes de lectura de Cassandra, aplica el siguiente filtro.

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

    Para monitorizar la tasa de solicitudes de escritura de Cassandra, aplica el siguiente filtro.

    Filtros: metric.scope == 'Write'
    metric.unit == 'OneMinuteRate'
  • Latencia de las solicitudes de Cassandra: usa esta métrica para monitorizar la latencia de las solicitudes de lectura y escritura de Cassandra. Es la misma métrica que la tasa de solicitudes, pero con filtros diferentes.apigee.googleapis.com/cassandra/clientrequest_latency

    Para monitorizar la latencia de las solicitudes de lectura de Cassandra, aplica el siguiente filtro.

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

    Para monitorizar la latencia de las solicitudes de escritura de Cassandra, aplica el siguiente filtro.

    Filtros: metric.scope == 'Write'
    metric.unit == '99thPercentile', '95thPercentile' o '75thPercentile'
  • Utilización de la solicitud de CPU del pod de Cassandra
    Métrica: kubernetes.io/container/cpu/request_utilization (GKE on Google Cloud)

    Para obtener más información, consulta las métricas de Kubernetes.

    kubernetes.io/anthos/container/cpu/request_utilization (Google Distributed Cloud)
    Etiquetas de recurso: project_id, location, cluster_name, namespace_name, pod_name, container_name

    Utiliza estas etiquetas para filtrar el recurso específico o para agruparlos.

  • Utilización del volumen de datos de Cassandra
    Métrica: kubernetes.io/pod/volume/utilization (GKE on Google Cloud)

    Para obtener más información, consulta las métricas de Kubernetes.

    kubernetes.io/anthos/pod/volume/utilization (Google Distributed Cloud)
    Etiquetas de recurso: project_id, location, cluster_name, namespace_name, pod_name
    Etiquetas de métricas: volume_name

    Utiliza estas etiquetas para filtrar el recurso específico o para agruparlos.

Recomendaciones para escalar el clúster de Cassandra

Las siguientes directrices pueden servir como clúster recomendado para decidir si escalar tu clúster de Cassandra. Por lo general, si las solicitudes de lectura o escritura muestran de forma constante una latencia del percentil 99 o la latencia aumenta continuamente, y observas picos correspondientes en la utilización de la CPU y en las tasas de solicitudes de lectura o escritura, se puede considerar que tu clúster de Cassandra está sometido a una carga excesiva. Puede que te interese aumentar la escala del clúster. Para obtener más información, consulta Escalar Cassandra.

MétricaUmbralDuración del activador
kubernetes.io/pod/volume/utilization85 %5min
kubernetes.io/container/cpu/request_utilization85 %3min
Read request Latency 99thPercentile5 s3min
Write request Latency 99thPercentile5 s3min