En el Catálogo de software, una entidad representa el bloque de construcción más pequeño de la arquitectura moderna basada en microservicios. A partir de la definición del esquema v3.0 o posterior, una entidad puede ser un servicio instrumentado de APM, un almacén de datos, un sistema, una API, una cola o incluso una entidad definida a medida.
En APM, un servicio (kind:service) es un grupo de endpoints, consultas o trabajos relacionados que realizan un trabajo para tu aplicación. Por ejemplo, un servicio puede ser un grupo de endpoints, un grupo de consultas a bases de datos o un grupo de trabajos periódicos.
A través de la instrumentación personalizada en APM, puedes crear un service arbitrario. En la práctica, la arquitectura basada en microservicios incluye múltiples servicios APM, cada uno de los cuales mide el rendimiento de los subcomponentes de la aplicación a través de Métricas de trazas (traces).
En el Catálogo de software, puedes recopilar servicios no instrumentados declarándolos a través de metadata o importándolos a través de fuentes externas como Backstage o ServiceNow.
En el Catálogo de software, un sistema (kind:system) es un grupo de entidades que cooperan para realizar una función más amplia. Por ejemplo, puedes agrupar varios servicios instrumentados de APM en un sistema, ya que los gestiona el mismo equipo. También puedes utilizar system para representar una arquitectura completa basada en microservicios e incluir componentes como API, almacenes de datos, colas y otros bloques de construcción comunes.
Nota: Sistema en Datadog tiene el mismo significado que el Modelo de sistema de Backstage.
Para definir componentes dentro de un sistema, puedes especificar valores para la clave components en el campo spec de la definición de la v3 de la entidad.
Ejemplo de YAML para kind:system:
entity.datadog.yaml
apiVersion:v3kind:systemmetadata:name:product-recommendationdescription:Surfaces personalized product suggestions in ShopistdisplayName:"Product Recommendation"tags:- producto:recomendaciones- business-line:shared-componentspropietario:compradoradditionalOwners:- nombre:Equipo de asistencia de Shopisttipo:operadorspec:ciclo de vida:producciónnivel:"0"componentes:- servicio:recomendación de producto- servicio:aplicación pedidos- api:productos- sistema:shopist-user-trends
Este sistema definido por el usuario aparece en Catálogo se muestra como se muestra:
Esta página contiene datos de relación de los componentes entre el sistema y las dependencias ascendentes y descendentes, así como cuadros de mando, logs y eventos agregados de todos los componentes del sistema.
Nota: Si un mismo componente forma parte de varios sistemas, debes especificar dicho componente en el YAML de cada sistema.
En el Catálogo de software, una API (kind:API) se refiere a una colección de endpoints que son lógicamente inseparables. Las API ofrecen una forma alternativa de agrupar endpoints más allá de los servicios de APM (la correspondencia entre endpoints y servicios no es modificable).
Para definir componentes dentro de una API, puedes especificar valores para la clave components en el campo spec de la definición de la v3 de la entidad.
La API definida por el usuario aparece en el Catálogo de software como se muestra:
Esta página contiene datos de relación de cómo la API interactúa con las dependencias, los componentes de la API, una vista previa de OpenAPI, y logs y eventos agregados a través de todos los endpoints.
Nota: El Catálogo de software contiene endpoints HTTP que son detectados automáticamente por APM. El concepto de endpoints corresponde a los recursos APM de un servicio web APM.
En el Catálogo de software, un almacén de datos (kind:datastore) representa un componente de almacenamiento de datos o una base de datos de la que dependen los servicios. Los almacenes de datos pueden representar bases de datos relacionales (como PostgreSQL o MySQL), almacenes de datos NoSQL (como Redis o MongoDB), otros almacenes de datos y cachés.
Las entidades de almacenes de datos pueden ser:
Inferidas por APM cuando los servicios instrumentados realizan llamadas salientes a una base de datos (por ejemplo, una consulta PostgreSQL).
Definidss manualmente para representar almacenes de datos no instrumentados o enriquecer los inferidos con metadatos adicionales.
Nota: Si Database Monitoring está activado, la página de la entidad del almacén de datos muestra el rendimiento de la consulta, la latencia y las tasas de error. De lo contrario, la página muestra métricas básicas derivadas de trazas y relaciones de dependencia.
Definiciones de ejemplo de YAML
Definición de YAML de un almacén de datos inferido
Este ejemplo muestra una definición de kind:datastore para una base de datos detectada automáticamente por APM.
Nota: El valor metadata.name debe coincidir exactamente con las etiquetas (tags) pares utilizadas por APM.
Para entidades inferidas, Datadog utiliza atributos de span (tramo) estándar para crear etiquetas peer.*. El valor metadata.name en la definición de tu entidad debe coincidir exactamente con las etiquetas pares inferidas. Los almacenes de datos definidos manualmente no necesitan seguir esta convención.
Etiquetas pares comunes para entidades de almacenes de datos:
En el Catálogo de software, una cola (kind:queue) representa una cola de mensajes o un componente de mensajería basado en flujos (streams) con el que interactúan los servicios. Las colas pueden representar sistemas como Apache Kafka, Amazon SQS, RabbitMQ y Google Pub/Sub.
Las entidades de cola pueden ser:
Inferidas por APM cuando los servicios instrumentados producen hacia o consumen desde un sistema de mensajería.
Definidas manualmente para representar colas no instrumentadas o enriquecer las inferidas con metadatos adicionales.
Nota: Si Data Streams Monitoring está activado, la página de la entidad de la cola muestra métricas como el rendimiento, la latencia del servicio y los errores de procesamiento. De lo contrario, la página muestra métricas básicas derivadas de trace (traza) y relaciones de dependencias de servicios.
Definiciones de ejemplo de YAML
YAML for an inferred queue
Este ejemplo muestra una definición de kind:queue para una cola detectada automáticamente por APM.
Nota: El valor metadata.name debe coincidir exactamente con las etiquetas pares utilizadas por APM.
Para entidades inferidas, Datadog utiliza atributos de span estándar para crear etiquetas peer.*. El valor metadata.name en la definición de tu entidad debe coincidir exactamente con las etiquetas pares inferidas. Las colas definidas manualmente no necesitan seguir esta convención.
Etiquetas pares comunes para entidades de kind:queue:
Puedes definir tipos de entidades personalizadas más allá de servicio, sistema, almacén de datos, cola y API. Las entidades personalizadas te permiten representar cualquier componente o recurso que sea importante para tu organización pero que no encaje en las categorías estándar.