En esta página se describe cómo usar las métricas de las APIs para monitorizar y comprender el uso que haces de las APIs de Google y de Google Cloud.
Las APIs de Google generan métricas de uso detalladas que pueden ayudarte a hacer lo siguiente:
- Monitoriza y analiza el uso que haces de las APIs de Google.
- Monitoriza el rendimiento de tus aplicaciones y APIs de Google.
- Descubre los problemas entre tus aplicaciones y las APIs de Google.
Puede acelerar considerablemente los tiempos de resolución cuando solucionas problemas o necesitas asistencia técnica de Google.
Las métricas que generan las APIs de Google son las señales estándar que usan los ingenieros de fiabilidad de sitios de Google para evaluar el estado de un servicio. Estas métricas abarcan el número de solicitudes, las tasas de error, las latencias totales, las latencias de backend, los tamaños de las solicitudes y los tamaños de las respuestas. Para consultar las definiciones de las métricas de la API, consulta la documentación de Cloud Monitoring.
Puedes ver las métricas de las APIs en dos lugares: el panel de control de APIs y Cloud Monitoring. Las métricas que ves son específicas de tu proyecto y no reflejan el estado general del servicio.
Usar el panel de control de APIs
La forma más sencilla de ver las métricas de tu API es usar el panel de APIs de la consola de Google Cloud. Puedes ver un resumen de todo tu uso de las APIs o consultar en detalle el uso de una API específica.
Para ver un resumen del uso de la API, sigue estos pasos:
Ve a la sección APIs y servicios de la consola de Cloud. El panel de control principal de la API se muestra de forma predeterminada. En esta página puedes ver todas las APIs que tienes habilitadas en tu proyecto, así como gráficos de resumen de las siguientes métricas:
- Tráfico: el número de solicitudes por segundo que tu proyecto envía o recibe sobre las APIs habilitadas
- Errores: el porcentaje de solicitudes a APIs habilitadas que han provocado errores.
- Latencia mediana: la latencia mediana de las solicitudes a las APIs habilitadas, si está disponible.
Para ver los detalles de uso de una API específica, sigue estos pasos:
- Selecciona la API que quieras ver en la lista principal de APIs del panel de control de APIs. En la página Información general de la API se muestra un gráfico de tráfico más detallado con un desglose por código de respuesta.
Para obtener información de uso aún más detallada, selecciona Ver métricas. De forma predeterminada, se muestran los siguientes gráficos prediseñados, aunque hay más disponibles:
- Tráfico por código de respuesta
- Errores por método de API
- Latencia general en los percentiles 50, 95 y 99
- Latencia por método de API (mediana)
Si quieres añadir más gráficos, puedes seleccionar otros predefinidos en el menú desplegable Seleccionar gráficos.
Usar Cloud Monitoring
Si usas Cloud Monitoring, puedes consultar datos de métricas disponibles con más detalle mediante el explorador de métricas para obtener más información valiosa sobre el uso de tu API. Cloud Monitoring admite una gama amplia de métricas, que podrás combinar con filtros y agregaciones para obtener perspectivas nuevas y útiles del rendimiento de tu aplicación. Por ejemplo, puedes combinar una métrica de recuento de solicitudes con un filtro de la clase de código de respuesta HTTP para crear un panel de control que muestre las tasas de error a lo largo del tiempo, o bien puedes consultar la latencia del percentil 95 de las solicitudes a la API Cloud Pub/Sub.
Para ver las métricas de API en el explorador de métricas, selecciona API Consumed como tipo de recurso y, a continuación, una de las métricas de serviceruntime
. A continuación, usa las opciones de filtro y agregación para acotar los datos.
Una vez que hayas encontrado la información de uso de la API que buscabas, otra utilidad de Cloud Monitoring es crear paneles de control y alertas personalizados que te ayudan a seguir monitorizando la aplicación y a garantizar su solidez. Encontrarás información sobre cómo hacer esto en las páginas siguientes:
Para obtener más información, consulta Explorador de métricas.
Solucionar problemas con métricas de la API
Las métricas de las APIs pueden ser especialmente útiles si necesitas ponerte en contacto con Google cuando algo va mal, e incluso pueden mostrarte que no necesitas ponerte en contacto con el equipo de asistencia. Por ejemplo:
- Si todas las llamadas a un servicio fallan para un único ID de credencial, pero no para ningún otro, seguramente haya algún error con esa cuenta concreta y puedas solucionarlo por tu cuenta fácilmente sin abrir una incidencia.
- Estás solucionando un problema de tu aplicación y observas que existe una relación entre el mal funcionamiento de esta y un aumento continuado de la latencia del percentil 50 de un servicio crítico de GCP. Llámanos y indícanos estos datos para que podamos empezar a trabajar en el problema lo antes posible.
- La latencia de un servicio de GCP es óptima y no ha sufrido cambios, pero las métricas de la aplicación indican que la latencia en las llamadas al servicio es inusualmente alta. Esto indica que hay algún problema en la red. Ponte en contacto con tu proveedor de red (en determinados casos será Google) para que inicie el proceso de depuración.
Prácticas recomendadas
Aunque las métricas de API son una herramienta muy útil, hay algunos aspectos que debes tener en cuenta para asegurarte de que proporcionan información útil, sobre todo al configurar alertas basadas en valores de métricas. Las siguientes prácticas recomendadas te ayudarán a sacar el máximo partido a los datos de métricas de la API.
¿La latencia está causando problemas?
Aunque algunos servicios son muy sensibles a la latencia, en otros casos, la escalabilidad y la fiabilidad son más importantes. Algunas APIs, como Cloud Storage o BigQuery, pueden tener unos segundos de latencia alta sin que los clientes lo noten. Con los datos de las métricas de la API, puedes saber qué necesitan tus usuarios de un servicio concreto.
Detectar cambios respecto a la norma
Antes de decidir si quieres recibir alertas sobre un valor de métrica concreto, piensa qué se considera un comportamiento inusual. Si consultas tus métricas de la API, verás que los resultados de latencia de la mayoría de los servicios siguen una distribución normal: una gran joroba en el centro y valores atípicos a ambos lados. Las métricas te ayudarán a entender la distribución normal para que puedas diseñar tu aplicación de forma que funcione bien dentro de la curva de distribución. Las métricas también pueden ayudarte a correlacionar los cambios en la distribución con los momentos en los que tu aplicación no funciona correctamente para encontrar la causa raíz de un problema. Esperamos que el percentil 99 sea muy diferente de la mediana, pero no esperamos que esos percentiles cambien drásticamente con el tiempo.
También puede que observes que algunos tipos de solicitudes tardan más que otros. Si el tamaño medio de una foto subida a Google Fotos es de 4 MB, pero normalmente subes archivos RAW de 20 MB, es probable que el tiempo medio que tardas en subir 20 fotos sea mucho mayor que el de la mayoría de los usuarios, pero sigue siendo tu comportamiento normal.
Esto significa que no es especialmente útil alertar la primera vez que se detecta una llamada RPC de un segundo o una llamada HTTP 5xx. En su lugar, cuando investigues un servicio de Google como posible causa de un problema que esté experimentando tu aplicación, compara los códigos de retorno y las latencias a lo largo del tiempo y busca cambios sostenidos con respecto a la norma que estén relacionados con los problemas observados en tu aplicación.
Tasa de tráfico
Las métricas de la API son más útiles cuando hay un gran volumen de tráfico dirigido a la API. Si llamas a un servicio solo de forma intermitente, tus métricas de API no serán estadísticamente válidas y no te proporcionarán información de triaje útil.
Por ejemplo, si quieres monitorizar la latencia del percentil 99,5 de un servicio y solo haces 100 llamadas por hora, si observas la medición durante un periodo de dos horas, solo obtendrás un punto de datos que represente el percentil 99,5, lo que no te dirá mucho sobre el comportamiento normal de la API o de tu aplicación. Asegúrate de que la tasa de tráfico, el percentil que estás monitorizando y el periodo que estás teniendo en cuenta generen muchos puntos de datos de interés. De lo contrario, los datos de monitorización no te serán útiles.
APIs admitidas
Todas las APIs de Google y de Google Cloud, así como las APIs creadas sobre Cloud Endpoints y API Gateway, admiten métricas de API. Si eres consumidor de APIs, puedes ver las métricas de las APIs consumidas en el panel de control de APIs. Si eres un productor de APIs, puedes ver las métricas de las APIs producidas en el panel de control de Endpoints.