Supervisión de Azure Cosmos DB
SE APLICA A:
SQL API
Cassandra API
Gremlin API
Table API
Azure Cosmos DB API para MongoDB
Si tiene aplicaciones y procesos empresariales críticos que dependen de recursos de Azure, querrá supervisar esos recursos para su disponibilidad, rendimiento y funcionamiento. En este artículo se describen los datos de supervisión generados por las bases de datos de Azure Cosmos y cómo puede usar las características de Azure Monitor para analizar y alertar sobre estos datos.
Puede supervisar los datos con métricas del lado cliente y del lado servidor. Al usar métricas del lado servidor, puede supervisar los datos almacenados en Azure Cosmos DB con las siguientes opciones:
Supervisión desde el portal de Azure Cosmos DB: puede realizar la supervisión con las métricas disponibles en la pestaña Métricas de la cuenta de Azure Cosmos. Las métricas de esta pestaña incluyen datos de nivel de rendimiento, almacenamiento, disponibilidad, latencia, coherencia y sistema. De manera predeterminada, estas métricas tienen un período de retención de siete días. Para más información, consulte la sección Supervisión de los datos recopilados de Azure Cosmos DB de este artículo.
Supervisión con métricas en Azure Monitor: puede realizar la supervisión con las métricas de su cuenta de Azure Cosmos y crear paneles desde Azure Monitor. Azure Monitor recopila las métricas de Azure Cosmos DB de manera predeterminada, no tiene que configurar nada de forma explícita. Estas métricas se recopilan con una granularidad de un minuto; la granularidad puede variar en función de la métrica que elija. De forma predeterminada, estas métricas tienen un período de retención de 30 días. La mayoría de las métricas que están disponibles en las opciones anteriores también están disponibles en estas métricas. Los valores de la dimensión para las métricas, como el nombre del contenedor, no distinguen entre mayúsculas y minúsculas. Por lo tanto, debe usar una comparación sin distinción entre mayúsculas y minúsculas al realizar comparaciones de cadenas en estos valores de dimensión. Para más información, consulte la sección Análisis de datos de métricas de este artículo.
Supervisión con registros de diagnóstico en Azure Monitor: puede supervisar los registros de su cuenta de Azure Cosmos y crear paneles desde Azure Monitor. Los datos, como eventos y seguimientos que tienen lugar en un segundo nivel de granularidad, se almacenan como registros. Por ejemplo, si cambia el rendimiento de un contenedor o cambian las propiedades de una cuenta de Cosmos, estos eventos se capturan en los registros. Estos registros se pueden analizar mediante la ejecución de consultas en los datos recopilados. Para más información, consulte la sección Análisis de datos de registro de este artículo.
Supervisión mediante programación con los SDK: puede supervisar su cuenta de Azure Cosmos mediante programación con los SDK de .NET, Java, Python y Node.js, y los encabezados de la API REST. Para más información, consulte la sección Supervisión de Azure Cosmos DB mediante programación de este artículo.
La siguiente imagen muestra distintas opciones disponibles para supervisar la cuenta de Azure Cosmos DB mediante Azure Portal:
Al usar Azure Cosmos DB, puede recopilar en el lado cliente los detalles de la carga de solicitudes, el identificador de actividad, la información de seguimiento de la pila y excepciones, el código de estado y subestado HTTP y la cadena de diagnóstico para depurar cualquier problema que pueda producirse. Esta información también es necesaria si necesita ponerse en contacto con el equipo de soporte técnico de Azure Cosmos DB.
Información general de supervisión
La página Información general de Azure Portal de cada cuenta de Azure Cosmos DB incluye una pequeña vista del uso de recursos, como el total de solicitudes, las solicitudes que dieron como resultado un código de estado HTTP específico y la facturación por hora. Esta información es útil, pero solo una pequeña cantidad de datos de supervisión está disponible en este panel. Algunos de estos datos se recopilan automáticamente y están disponibles para su análisis en cuanto se crea el recurso. Puede habilitar otros tipos de recopilación de datos con cierta configuración adicional.
¿Qué es Azure Monitor?
Azure Cosmos DB crea datos de supervisión mediante Azure Monitor, que es un servicio de supervisión de pila completo de Azure, que ofrece un conjunto completo de características para supervisar los recursos de Azure, además de los recursos locales y en otras nubes.
Si no está familiarizado con la supervisión de los servicios de Azure, comience con el artículo Supervisión de recursos de Azure con Azure Monitor, que describe los siguientes conceptos:
- ¿Qué es Azure Monitor?
- Costos asociados con la supervisión
- Datos de supervisión recopilados en Azure
- Configuración de la recolección de datos
- Herramientas estándar en Azure para analizar datos de supervisión y alertar sobre ellos
Las secciones siguientes se basan en este artículo, donde se describen los datos específicos recopilados de Azure Cosmos DB y se proporcionan ejemplos para configurar la recopilación de datos y el análisis de estos datos con herramientas de Azure.
Información sobre Cosmos DB
La información de Cosmos DB se basa en la característica de libros de Azure Monitor y usa los mismos datos de supervisión recopilados para Azure Cosmos DB que se describen en las secciones siguientes. Use Azure Monitor para obtener una vista del rendimiento general, los errores, la capacidad y el estado operativo de todos los recursos de Azure Cosmos DB en una experiencia interactiva unificada, y use las otras características de Azure Monitor para el análisis detallado y las alertas. Para obtener más información, consulte el artículo Exploración de la información de Cosmos DB.
Nota:
Cuando cree contenedores, asegúrese de no utilizar el mismo nombre en dos de ellos con distintas mayúsculas y minúsculas. Algunos componentes de la plataforma de Azure no distinguen mayúsculas de minúsculas y esto puede producir confusión o problemas con los datos telemetría y las acciones que se realicen en los contenedores con estos nombres.
Supervisión de datos
Azure Cosmos DB recopila los mismos tipos de datos de supervisión que otros recursos de Azure, que se describen en Supervisión de datos de recursos de Azure. Consulte Referencia de datos de supervisión de Azure Cosmos DB para una referencia detallada de los registros y las métricas creados por Azure Cosmos DB.
La página Información general de Azure Portal para cada base de datos de Azure Cosmos incluye una breve vista del uso de la base de datos, incluidos su solicitud y el uso de facturación por hora. Esta información es útil, pero solo una pequeña cantidad de datos de supervisión está disponible. Algunos de estos datos se recopilan automáticamente y están disponibles para su análisis en cuanto se crea la base de datos, mientras que se puede habilitar la recopilación de otros datos con cierto grado de configuración.
Recopilación y enrutamiento
Las métricas de la plataforma y el registro de actividad se recopilan y almacenan de forma automática, pero se pueden enrutar a otras ubicaciones mediante una configuración de diagnóstico.
Los registros de recursos no se recopilan ni almacenan hasta que se crea una configuración de diagnóstico y se enrutan a una o varias ubicaciones.
Consulte Creación de una configuración de diagnóstico para recopilar registros de plataforma y métricas en Azure para conocer el proceso detallado para crear una configuración de diagnóstico mediante Azure Portal, junto con algunos ejemplos de consulta de diagnóstico. Cuando se crea una configuración de diagnóstico, se especifican las categorías de registros que se van a recopilar.
En las secciones siguientes se describen las métricas y los registros que se pueden recopilar.
Análisis de métricas
Azure Cosmos DB proporciona una experiencia personalizada para trabajar con métricas. Puede analizar las métricas de Azure Cosmos DB con métricas de otros servicios de Azure mediante el explorador de métricas abriendo Métricas en el menú de Azure Monitor. Consulte Introducción al explorador de métricas de Azure para más información sobre esta herramienta. También puede consultar cómo supervisar la latencia del servidor, el uso de las unidades de solicitud y el uso normalizado de unidades de solicitud para los recursos de Azure Cosmos DB.
Para ver una lista de las métricas de la plataforma recopiladas para Azure Cosmos DB, vea Supervisión de métricas de referencia de datos de Azure Cosmos DB.
Todas las métricas de Azure Cosmos DB se encuentran en el espacio de nombres de las métricas estándar de Cosmos DB. Puede usar las siguientes dimensiones con estas métricas cuando agregue un filtro a un gráfico:
- CollectionName
- DatabaseName
- OperationType
- Region
- StatusCode
Como referencia, puede ver una lista de todas las métricas de recursos que se admiten en Azure Monitor.
Visualización de las métricas de nivel de operación para Azure Cosmos DB
Inicie sesión en Azure Portal.
Seleccione Monitor en la barra de navegación izquierda y, a continuación, seleccione Métricas.
En el panel Métricas>Seleccionar un recurso> elija la suscripción, y el grupo de recursos requeridos. En Tipo de recurso, seleccione Cuentas de Azure Cosmos DB, elija una de las cuentas de Azure Cosmos existentes y seleccione Aplicar.
A continuación, puede seleccionar una métrica de la lista de métricas disponibles. Puede seleccionar métricas específicas de unidades de solicitud, almacenamiento, latencia, disponibilidad, Cassandra, etc. Para conocer los detalles de todas las métricas disponibles en esta lista, consulte el artículo Métricas por categoría. En este ejemplo, vamos a seleccionar Unidades de solicitud y Prom. como valor de agregación.
Además de estos detalles, también puede seleccionar los valores de Intervalo de tiempo y Granularidad de tiempo de las métricas. Como máximo, puede ver las métricas de los últimos 30 días. Después de aplicar el filtro, se muestra un gráfico basado en dicho filtro. Puede ver el número medio de unidades de solicitud consumidas por minuto durante el período seleccionado.
Incorporación de filtros a métricas
También puede filtrar las métricas y el gráfico que se muestra por una propiedad CollectionName, DatabaseName, OperationType, Region y StatusCode concreta. Para filtrar las métricas, seleccione Agregar filtro y elija la propiedad necesaria, como por ejemplo OperationType y seleccione un valor como Query. A continuación, el gráfico muestra las unidades de solicitud consumidas por la operación de consulta durante el período seleccionado. Las operaciones ejecutadas a través del procedimiento almacenado no se registran, por lo que no están disponibles en la métrica OperationType.
Para agrupar las métricas puede usar la opción Apply splitting (Aplicar división). Por ejemplo, puede agrupar las unidades de solicitud por tipo de operación y ver el gráfico de todas las operaciones a la vez, como se muestra en la siguiente imagen:
Análisis de datos
Los datos de los registros de Azure Monitor se almacenan en tablas, cada una con un conjunto propio de propiedades únicas.
Todos los registros de recursos de Azure Monitor tienen los mismos campos seguidos de campos específicos del servicio. El esquema común se describe en Esquema de registros de recursos de Azure Monitor. Para ver una lista de los tipos de registros de recursos recopiladas para Azure Cosmos DB, vea Supervisión de la referencia de datos de Azure Cosmos DB.
El Registro de actividad es una plataforma que ofrece información sobre los eventos a nivel de suscripción. Puede verlo de forma independiente o enrutarlo a registros de Azure Monitor, donde puede realizar consultas mucho más complejas mediante Log Analytics.
Azure Cosmos DB almacena los datos en las tablas siguientes.
| Tabla | Descripción |
|---|---|
| AzureDiagnostics | Tabla común que utilizan varios servicios para almacenar registros de recursos. Los registros de recursos de Azure Cosmos DB se pueden identificar con MICROSOFT.DOCUMENTDB. |
| AzureActivity | Tabla común que almacena todos los registros del registro de actividad. |
Ejemplos de consultas de Kusto
Antes de usar Log Analytics para emitir consultas de Kusto, tiene que habilitar los registros de diagnóstico para las operaciones del plano de control. Al habilitar los registros de diagnóstico, seleccionará entre almacenar los datos en una única tabla AzureDiagnostics (heredada) o tablas específicas de recursos.
Al seleccionar Registros en el menú de Azure Cosmos DB, se abre Log Analytics con el ámbito de la consulta establecido en la cuenta de Azure Cosmos DB. Las consultas de registro solo incluirán datos de ese recurso.
Importante
Si quiere ejecutar una consulta que incluya datos de otras cuentas o de otros servicios de Azure, seleccione Registros en el menú Azure Monitor. Para obtener más información, consulte Ámbito e intervalo de tiempo de una consulta de registro en Log Analytics de Azure Monitor.
Estas son algunas consultas que puede escribir en la barra de búsqueda Búsqueda de registros para ayudarle a supervisar los recursos de Azure Cosmos. El texto exacto de las consultas dependerá del modo de recopilación que haya seleccionado al habilitar los registros de diagnóstico.
Para consultar todos los registros del plano de control desde Azure Cosmos DB:
AzureDiagnostics | where ResourceProvider=="MICROSOFT.DOCUMENTDB" | where Category=="ControlPlaneRequests"Para consultar todos los registros del plano de datos desde Azure Cosmos DB:
AzureDiagnostics | where ResourceProvider=="MICROSOFT.DOCUMENTDB" | where Category=="DataPlaneRequests"Para consultar una lista filtrada de registros del plano de datos, específica de un único recurso:
AzureDiagnostics | where ResourceProvider=="MICROSOFT.DOCUMENTDB" | where Category=="DataPlaneRequests" | where Resource=="<account-name>"Importante
En la tabla AzureDiagnostics, muchos campos distinguen mayúsculas y minúsculas, entre los que se incluyen: ResourceId, ResourceGroup, ResourceProvider y Resource.
Para obtener un recuento de registros del plano de datos, agrupados por recurso:
AzureDiagnostics | where ResourceProvider=="MICROSOFT.DOCUMENTDB" | where Category=="DataPlaneRequests" | summarize count() by ResourcePara generar un gráfico para los registros del plano de datos, agrupados por tipo de operación:
AzureDiagnostics | where ResourceProvider=="MICROSOFT.DOCUMENTDB" | where Category=="DataPlaneRequests" | summarize count() by OperationName | render columnchart
Estos ejemplos son solo un pequeño muestreo de las consultas enriquecidas que se pueden realizar en Azure Monitor mediante el Lenguaje de consulta Kusto. Para obtener más información, consulte Ejemplos de consultas de Kusto.
Alertas
Las alertas de Azure Monitor le informan de forma proactiva cuando se detectan condiciones importantes en los datos que se supervisan. Permiten identificar y solucionar las incidencias en el sistema antes de que los clientes puedan verlos. Puede establecer alertas en métricas, registros y el registro de actividad. Cada tipo de alerta tiene sus ventajas y desventajas.
Por ejemplo, en la tabla siguiente se enumeran algunas reglas de alerta de los recursos. En Azure Portal, puede encontrar una lista detallada de reglas de alerta. Para más información, consulte el artículo Configuración de alertas.
| Tipo de alerta | Condición | Descripción |
|---|---|---|
| Limitación de velocidad en unidades de solicitud (alerta de métrica) | Nombre de la dimensión: StatusCode, Operador: Es igual a, Valores de dimensión: 429 | Genera una alerta si el contenedor o una base de datos han superado el límite de rendimiento aprovisionado. |
| Región conmutada por error | Operador: Mayor que, Tipo de agregación: Recuento, Valor de umbral: 1 | Cuando se conmuta por error una sola región. Esta alerta es útil si no habilitó la conmutación por error administrada por el servicio. |
| Rotar claves (alerta de registro de actividad) | Nivel de evento: Informativo, estado: iniciado | Genera una alerta cuando se rotan las claves de cuenta. Puede actualizar la aplicación con las nuevas claves. |
Supervisión de Azure Cosmos DB mediante programación
Las métricas a nivel de cuenta disponibles en el portal, como el uso de almacenamiento de cuenta y el total de solicitudes, no están disponibles mediante las API de SQL. Sin embargo, puede recuperar datos de uso en el nivel de colección mediante las API de SQL. Para recuperar datos de nivel de colección, haga lo siguiente:
Para usar la API de REST, ejecute una operación GET en la colección. La información de cuota y uso de la colección se devuelve en los encabezados x-ms-resource-quota y x-ms-resource-usage de la respuesta.
Para usar el SDK de .NET, use el método DocumentClient.ReadDocumentCollectionAsync, que devuelve un objeto ResourceResponse que contiene muchas propiedades de uso, como CollectionSizeUsage, DatabaseUsage, DocumentUsage y más.
Para acceder a más métricas, use el SDK de Azure Monitor. Se pueden recuperar definiciones de métricas mediante la llamada a:
https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metricDefinitions?api-version=2018-01-01
Para recuperar métricas individuales, use el siguiente formato:
https://management.azure.com/subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroup}/providers/Microsoft.DocumentDb/databaseAccounts/{DocumentDBAccountName}/providers/microsoft.insights/metrics?timespan={StartTime}/{EndTime}&interval={AggregationInterval}&metricnames={MetricName}&aggregation={AggregationType}&`$filter={Filter}&api-version=2018-01-01
Para más información, vea el artículo sobre la API de REST de supervisión de Azure.
Pasos siguientes
- Consulte Referencia de datos de supervisión de Azure Cosmos DB para una referencia de los registros y las métricas creados por Azure Cosmos DB.
- Para más información sobre la supervisión de recursos de Azure, consulte Supervisión de recursos de Azure con Azure Monitor.