Límites de tasa

Muchos endpoints de la API tienen un límite de tasa. Una vez que se supera un determinado número de solicitudes en un periodo específico, Datadog devuelve un error.

Si tienes una tasa limitada, puedes ver un 429 en el código de respuesta. Puedes esperar el tiempo designado por X-RateLimit-Period antes de volver a realizar llamadas, o pasar a realizar llamadas a una frecuencia ligeramente mayor que X-RateLimit-Limit o X-RateLimit-Period.

Puedes aumentar los límites de tasa a partir de los valores predeterminados poniéndote en contacto con el equipo de soporte de Datadog.

En cuanto a la política de límite de tasa de API:

  • Datadog no limita la tasa de envío de puntos de datos/métricas (consulta la sección de métricas para más información sobre cómo se gestiona la tasa de envío de métricas). El cruce de límites depende de la cantidad de métricas personalizadas según tu acuerdo.
  • La API para el envío de logs no tiene un límite de tasa.
  • El límite de tasa de envío es de 250,000 eventos por minuto y organización.
  • Los límites de tasa para los endpoints varían y se incluyen en los encabezados que se detallan a continuación. Estos pueden ampliarse bajo demanda.
La lista no incluye todos los límites de tasa de las API de Datadog. Si experimentas limitaciones de tasa, ponte en contacto con el soporte para obtener más información sobre las API que utilizas y sus límites.
Cabeceras de límites de tasaDescripción
X-RateLimit-LimitNúmero de solicitudes permitidas en un periodo.
X-RateLimit-PeriodDuración en segundos de los reinicios (alineados con el calendario).
X-RateLimit-RemainingNúmero de solicitudes permitidas que quedan en el periodo actual.
X-RateLimit-ResetTiempo en segundos hasta el próximo reinicio.
X-RateLimit-NameNombre del límite de tasa para solicitudes de aumento.

Métricas de uso de API Datadog

Todas las API de Datadog tienen un límite de uso durante un periodo de tiempo determinado. Las API pueden tener buckets de límite de tasa únicos y distintos o agruparse en un único bucket en función de los recursos que se utilicen. Por ejemplo, la API de estado del monitor tiene un límite de tasa que permite a un humano o a un script de automatización realizar consultas sólo una cantidad determinada de veces por minuto. El endpoint rechaza el exceso de solicitudes mediante un código de respuesta 429 y una sugerencia para que se detenga hasta que transcurra un periodo de recuperación. Las métricas de uso de API permiten a los usuarios de Datadog realizar el autoservicio y auditar el consumo del límite de tasa de API de los endpoints de la API (excluyendo los endpoints de envío de métricas, logs y eventos). Estas métricas proporcionan una imagen de las solicitudes permitidas y bloqueadas, y se proporcionan con las siguientes dimensiones y etiquetas (tags) disponibles:

Métricas disponibles

DimensiónMétrica de usoDescripciónEtiquetas disponibles
Organizacióndatadog.apis.usage.per_orgLímite de tasa en toda la organización del número de solicitudes de API realizadas a un endpoint específico
  • app_key_id
  • child_org (sólo en la principal)
  • limit_count
  • limit_name
  • limit_period
  • rate_limit_status
  • user_uuid
datadog.apis.usage.per_org_ratioProporción de solicitudes de API por dimensiones disponibles para un número total de solicitudes (limit_count) permitidas.
  • app_key_id
  • child_org (sólo en la principal)
  • limit_count
  • limit_name
  • limit_period
  • rate_limit_status
  • user_uuid
Usuario (UUID)datadog.apis.usage.per_userNúmero de solicitudes de API realizadas para un endpoint de API específico cuya tasa está limitada por usuario único.
  • app_key_id
  • child_org (sólo en la principal)
  • limit_count
  • limit_name
  • limit_period
  • rate_limit_status
  • user_uuid
datadog.apis.usage.per_user_ratioProporción de solicitudes de API por dimensiones disponibles para un número total de solicitudes (limit_count) permitidas.
  • app_key_id
  • child_org (sólo en la principal)
  • limit_count
  • limit_name
  • limit_period
  • rate_limit_status
  • user_uuid
API Keydatadog.apis.usage.per_api_keyNúmero de solicitudes de API realizadas para un endpoint de API específico cuya tasa está limitada por clave de API única utilizada.
  • app_key_id
  • child_org (sólo en la principal)
  • limit_count
  • limit_name
  • limit_period
  • rate_limit_status
  • user_uuid
datadog.apis.usage.per_api_key_ratioProporción de solicitudes de API por dimensiones disponibles para un número total de solicitudes (limit_count) permitidas.
  • app_key_id
  • child_org (sólo en la principal)
  • limit_count
  • limit_name
  • limit_period
  • rate_limit_status
  • user_uuid

Clave de etiqueta

Nombre de etiquetaDescripción
app_key_idID de la clave de aplicación utilizada por el cliente de la API. Puede ser N/A para usuarios web o móviles y endpoints abiertos.
child_orgNombre de la organización secundaria, si se visualiza desde la organización principal. De lo contrario, se define en N/A. Esto sólo se aplica dentro del mismo centro de datos.
limit_countNúmero de solicitudes disponibles para cada nombre de límite de tasa durante un periodo de solicitud.
limit_nameNombre del límite de tasa. Diferentes endpoints pueden compartir el mismo nombre.
limit_periodTiempo en segundos para cada nombre de límite de tasa antes de que se reinicie el recuento de consumo.
rate_limit_statuspassed: Solicitud no bloqueada.
blocked : La solicitud fue bloqueada debido a que se infringieron los límites de tasa.
user_uuidUUID del usuario del consumo de API.

Rollup en widgets

Por lo general, las visualizaciones de métricas deben resumirse al minuto utilizando sum(60s) para agregar el número total de solicitudes por minuto.

Las métricas de proporción ya están normalizadas con respecto al correspondiente limit_period.

Ejemplos de uso
Solicitudes por nombre de límite de tasa
Grafica la suma de datadog.apis.usage.per_org, datadog.apis.usage.per_user y datadog.apis.usage.per_api_key por limit_name

Ejemplo: default_zero(sum:datadog.apis.usage.per_org{*} by {limit_name}) + default_zero(sum:datadog.apis.usage.per_user{*} by {limit_name}) + default_zero(sum:datadog.apis.usage.per_api_key{*} by {limit_name})
Bloqueado por nombre de límite de tasa
Grafica la suma de datadog.apis.usage.per_org, datadog.apis.usage.per_user y datadog.apis.usage.per_api_key por limit_name con rate_limit_status:blocked

Ejemplo: default_zero(sum:datadog.apis.usage.per_org{rate_limit_status:blocked} by {limit_name}) + default_zero(sum:datadog.apis.usage.per_user{rate_limit_status:blocked} by {limit_name}) + default_zero(sum:datadog.apis.usage.per_api_key{rate_limit_status:blocked} by {limit_name})
Endpoint bloqueado por usuario
Grafica la suma de datadog.apis.usage.per_org, datadog.apis.usage.per_user y datadog.apis.usage.per_api_key por user_uuid con rate_limit_status:blocked y limit_name:example

Ejemplo: default_zero(sum:datadog.apis.usage.per_org{rate_limit_status:blocked,limit_name:example} by {user_uuid}) + default_zero(sum:datadog.apis.usage.per_user{rate_limit_status:blocked,limit_name:example} by {user_uuid}) + default_zero(sum:datadog.apis.usage.per_api_key{rate_limit_status:blocked,limit_name:example} by {user_uuid})
Endpoint bloqueado por ID de clave de aplicación
Grafica la suma de datadog.apis.usage.per_org, datadog.apis.usage.per_user y datadog.apis.usage.per_api_key por app_key_id con rate_limit_status:blocked y limit_name:example

Ejemplo: default_zero(sum:datadog.apis.usage.per_org{rate_limit_status:blocked,limit_name:example} by {app_key_id}) + default_zero(sum:datadog.apis.usage.per_user{rate_limit_status:blocked,limit_name:example} by {app_key_id}) + default_zero(sum:datadog.apis.usage.per_api_key{rate_limit_status:blocked,limit_name:example} by {app_key_id})
Proporción de límites de tasa utilizados por nombre de límite de tasa
Grafica la suma de datadog.apis.usage.per_org_ratio, datadog.apis.usage.per_user_ratio y datadog.apis.usage.per_api_key_ratio por limit_name

Ejemplo: default_zero(max:datadog.apis.usage.per_org_ratio{*} by {limit_name}) + default_zero(max:datadog.apis.usage.per_user_ratio{*} by {limit_name}) + default_zero(max:datadog.apis.usage.per_api_key_ratio{*} by {limit_name})

Aumentar tu límite de tasa

Puedes solicitar un aumento de los límites de tasa creando un ticket de asistencia con los siguientes detalles en Ayuda > Nuevo ticket de asistencia. Cuando recibimos una solicitud de aumento de límite de tasa, nuestro equipo de Ingeniería de soporte revisa la solicitud caso por caso y, si es necesario, trabaja junto a los recursos internos de Ingeniería para confirmar la viabilidad de la solicitud de aumento de límite de tasa.

Título:
    Solicitud de aumento de límite de tasa en endpoint: X

Detalles:
    Querríamos solicitar un aumento del límite de tasa para el endpoint de API: X
    Ejemplo de casos de uso/consultas:
        Ejemplo de llamada de API como cURL o como URL con carga útil de ejemplo

    Motivos para aumentar el límite de tasa:
        Ejemplo: Nuestra organización utiliza este endpoint para dimensionar correctamente un contenedor antes de desplegarlo. Este despliegue tiene lugar cada X horas o hasta Y veces al día.

    Límite de tasa deseado:
        Consejo: Tener en mente un aumento específico del límite o del porcentaje ayuda a ingeniería de soporte a agilizar la solicitud a los equipos internos de Ingeniería para su revisión.

Una vez que el servicio de asistencia de Datadog revise y apruebe el caso de uso, podrá aplicar el aumento del límite de tasa entre bastidores. Ten en cuenta que existe un límite máximo para el aumento del límite de tasa debido a la naturaleza SaaS de Datadog. El servicio de asistencia de Datadog se reserva el derecho a rechazar aumentos del límite de tasa en función de los casos de uso y las recomendaciones del equipo de Ingeniería.

Logs de auditoría

Las métricas de límite y uso de API proporcionan información sobre patrones de uso y solicitudes bloqueadas. Si necesitas más información, Audit Trail ofrece una visibilidad más detallada de la actividad de la API.

Con Audit Trail, puedes ver datos como:

  • Dirección IP y geolocalización - Identifica dónde se originaron las solicitudes de API.
  • Tipo de actor - Distingue entre cuentas de servicio y cuentas de usuario.
  • Autenticación mediante API frente a autenticación mediante clave de aplicación - Descubre si las solicitudes se realizaron a través de una clave de API o directamente por un usuario.
  • Eventos correlacionados - Consulta otros eventos que ocurran al mismo tiempo, como cambios de configuración o acciones relacionadas con la seguridad.

Audit Trail puede ayudar a los equipos de asistencia a solucionar problemas de límites de tasa al proporcionar más contexto sobre el consumo de API y las solicitudes bloqueadas. También permite realizar un seguimiento del uso de la API en toda la organización por motivos de seguridad y cumplimiento.

Para obtener una visibilidad más detallada de la actividad de la API, considera el uso de Audit Trail.

PREVIEWING: brett.blue/DOCS-11065