El catálogo de servicio de Datadog proporciona una visión consolidada de tus servicios, al combinar metadatos de propiedad, perspectivas de rendimiento, análisis de seguridad, asignación de costes y mucho más. Disponer de este hub centralizado les permite a tus equipos de desarrollo descubrir y gestionar componentes críticos en tus entornos de tiempo de ejecución.
Esta página te guía a través de Empezando con catálogo de servicio en Datadog.
El catálogo de servicio descubre servicios automáticamente basados en telemetrías de rendimiento de la aplicación tales como APM, USM y RUM. La integración con APM le permite a Datadog descubrir rutinariamente nuevos servicios con la misma frecuencia con la que se recopilan tus trazas (traces). Con USM, el Datadog Agent se conecta a tus hosts compatibles con eBPF .USM detecta automáticamente los servicios que se ejecutan en esta infraestructura y los etiqueta utilizando el etiquetado de servicio unificado.
Servicios definidos por el usuario
Si no utilizas estos productos, puedes declarar manualmente servicios como entradas en el registro service.definition.yaml. Las definiciones en este archivo incluyen todos los metadatos que el catálogo utiliza para archivar tus servicios. Pueden crearse y actualizarse mediante programación utilizando una API interna o con un servicio de gestión de Configuración como Terraform. Debes incluir este archivo en tu control de versiones y actualizarlo cada vez que se añadan nuevos recursos a tu entorno.
El siguiente ejemplo representa un servicio de shopping-cart desde una aplicación de comercio electrónico. Incluye metadatos importantes sobre el servicio, tales como el equipo propietario, los lenguajes utilizados, el enlace al runbook y el repositorio de código.
servicio.Datadog.yaml
schema-version:v2.2dd-service:shopping-cartequipo:comercio electrónicoaplicación:shopping-appnivel:"1"tipo:weblenguajes:- ir- Pythoncontactos:- tipo:slackcontacto:https://yourorg.slack.com/archives/e-commerce- tipo:correo electrónicocontacto:ecommerce@example.com- tipo:microsoft-teamscontacto:https://teams.microsoft.com/exampleenlaces:- nombre:Runbooktipo:runbookurl:http://runbook/shopping-cart- nombre:Fuentetipo:repoproveedor:githuburl:https://github.com/shopping-cart- nombre:Implementacióntipo:repoproveedor:githuburl:https://github.com/shopping-cart- nombre:Configtipo:repoproveedor:githuburl:https://github.com/consul-config/shopping-cart- nombre:Equipo de comercio electrónicotipo:docproveedor:wikiurl:https://wiki/ecommerce- nombre:Arquitectura del carrito de comprastipo:docproveedor:wikiurl:https://wiki/ecommerce/shopping-cart- nombre:RFC de carrito de comprastipo:docproveedor:doc de googleurl:https://doc.google.com/shopping-cartetiquetas (tags):- business-unit:retail- cost-center:engineeringintegraciones:pagerduty:service-url:https://www.pagerduty.com/service-directory/PSHOPPINGCARTopsgenie:service-url:"https://www.opsgenie.com/service/uuid"región:"EE. UU."ci-pipeline-fingerprints:- id1- id2extensiones:additionalProperties:customField1:customValue1customField2:customValue2
También puedes utilizar cualquier fuente de conocimiento existente que mantenga tu organización, como las tablas de Configuration Management Database (CMDB) (a través de integración de ServiceNow de Datadog) y hojas de cálculo, para rellenar tu catálogo de servicio. Datadog también tiene una integración con Backstage que te permite importar cualquier dato o servicio registrado aquí en Datadog directamente.
Por último, también puedes crear entradas desde las etiquetas (tags) de service en otros productos de Datadog como Monitorización de infraestructura y Gestión de logs.
Metadatos de gestión en el catálogo de servicio
Después de crear estas entradas iniciales en tu catálogo de servicio, es importante mantener el catálogo actualizado de forma coherente para que siga siendo eficaz. Los archivos de definición de servicio deben existir en el control de versiones de tu equipo para facilitar la referencia de nuevas implementaciones y otros cambios en los servicios en los que pueda ser necesaria una actualización.
También puedes automatizar la gestión de tus metadatos de servicio configurando una acción de GitHub. Esto también te permitirá asegurarte de que los equipos están declarando servicios de una manera que cumpla con tus estándares, como exigir que todos tus servicios de producción tengan enlaces de runbook válidos.
Si tu organización dispone de un registro de propiedad existente, incluidos sistemas internos como Backstage o una hoja de cálculo, un equipo central puede programar actualizaciones de los archivos de definición de servicio mediante llamadas de API.
Conecta la telemetría desde todo tu stack de Monitorización.
Conecta los datos de Monitorización del resto de tu plataforma de observabilidad para mejorar la utilidad de tu catálogo.
Con etiquetado de servicio unificado, puedes utilizar la etiqueta (tag) service para hacer referencias cruzadas a entidades de servicio del catálogo de servicio en todos los productos Datadog. Estas etiquetas (tags) pueden ayudar a enriquecer tus entidades de servicio con metadatos, métricas, y otras fuentes de contexto como Monitorización de infraestructura, RUM, Gestión de logs, Entrega de software y Seguridad.
La telemetría del rendimiento de la aplicación de Universal Service Monitoring y APM también proporcionan un mapeo de dependencias listo para usar para tu ecosistema de sistemas, de modo que puedas ver cómo interactúan los componentes entre sí en todos tus entornos de tiempo de ejecución.
Enriquecer tu catálogo de servicio.
Después de que los servicios se repitan en el catálogo, puedes enriquecer tus definiciones de servicio con contexto adicional para hacerlas más útiles. Para ello, puedes añadir metadatos clave de servicio a tus archivos de service.definition.yaml, por ejemplo:
Equipo
Ingeniero de guardia
Canal de contacto
Enlaces de documentación
Última versión implementada
Repositorios de código
Enlaces de runbook
Dependencias de biblioteca y sus versiones
Dashboards relevantes
El catálogo de servicio utiliza esquemas de definición de servicio para almacenar y mostrar estos metadatos sobre tus servicios. Los esquemas incorporan reglas de validación integradas para garantizar que solo se aceptan valores válidos. Actualmente existen cuatro esquemas compatibles: v2, v2.1, v2.2 y v3.
Utilización de los cuadros de mando del catálogo de servicio
Servicio de Scorecards te ayuda a codificar las mejores prácticas de tu organización como reglas que pueden ser evaluadas. Al implementar cuadros de mandos en tu catálogo, tus equipos pueden medir muchas dimensiones de la calidad de servicio, entre ellas:
Gestión de Monitorización
Preparación de la producción
Postura de seguridad
Adopción de las últimas herramientas internas
Checks de integración
Los Scorecards de Datadog incluyen 10 reglas predefinidas que abarcan prácticas de observabilidad, etiquetado de propiedad y puntos de control de preparación de la producción. También puedes definir tus propias reglas personalizadas. Por ejemplo, puedes crear un cuadro de mando que contenga un conjunto de reglas que se correspondan con los pasos de tu proceso de revisión de seguridad, de modo que puedas auditar rápidamente si cada uno de tus servicios cumple los requisitos. Estas reglas podrían incluir checks relacionados con el análisis de CVE, Configuración de RBAC u otros parámetros de seguridad.
Para añadir reglas personalizadas a tu dashboard de Scorecards:
Haz clic en Create Rule (Crear regla) en la página de Scorecards.
Especifica el nombre de la regla, el cuadro de mando al que pertenece, una descripción de la regla y el equipo propietario.
Envía un resultado de pass, fail, o skip para cada tupla {rule, service} que estés evaluando al endpoint API de Scorecards/scorecard/outcomes/batch.
Ve un resumen de los resultados en el dashboard de Scorecards.