Nota: Datadog ya no mantiene ni recomienda el uso de esta integración. En su lugar, utiliza la integración de contadores de rendimiento de Windows en todos los casos, debido a su significativa menor sobrecarga y, por lo tanto, su mejor escalabilidad.
Obtén métricas de tus aplicaciones y servidores Windows con Windows Management Instrumentation (WMI) en tiempo real para:
Visualizar su rendimiento.
Correlacionar su actividad con el resto de tus aplicaciones.
Configuración
Instalación
Si sólo estás recopilando métricas estándar de Microsoft Windows y otras aplicaciones empaquetadas, no hay pasos de instalación. Si necesita definir nuevas métricas para recopilarlas de tu aplicación, tienes varias opciones:
Envía contadores de rendimiento mediante System.Diagnostics en .NET y, a continuación, accede a ellos con WMI.
Despliega un proveedor WMI basado en COM para tu aplicación. Por lo general, sólo lo harías si estás utilizando un lenguaje que no sea .NET.
Para obtener más información sobre el uso de System.Diagnostics, consulta PerformanceCounter Class). Después de añadir tu métrica, deberías poder encontrarla en WMI. Para navegar por los espacios de nombres WMI, puede que te sea útil utilizar el Explorador de WMI. Puedes encontrar la misma información con Powershell, utilizando Get-WmiObject. Además, revisa la información en Recuperación de métricas de WMI.
Si asignas a la nueva métrica una categoría My_New_Metric, la ruta WMI es
\\<ComputerName>\ROOT\CIMV2:Win32_PerfFormattedData_My_New_Metric
Si la métrica no aparece en WMI, intenta ejecutar winmgmt /resyncperf para forzar al ordenador a volver a registrar las bibliotecas de rendimiento con WMI.
Configuración
Haz clic en el botón Install Integration (Instalar integración) en el cuadro de la integración WMI.
Abre el gestor del Datadog Agent en el servidor Windows.
Por defecto, la configuración utiliza la cláusula de filtro para limitar las métricas extraídos. Configura los filtros con valores válidos o elimínalos para recopilar métricas, como se muestra` arriba.
Las definiciones de métricas incluyen tres componentes:
Propiedad de clase en WMI.
Nombre de métrica, tal y como aparece en Datadog.
Tipo de métrica.
El siguiente ejemplo de configuración rellena muchas más métricas en un servidor Windows 2012.
Esta función está disponible a partir de la versión 5.3 del Agent
Cada consulta WMI tiene 2 opciones obligatorias, class y metrics, y seis opciones opcionales, host, namespace, filters, provider, tag_by, constant_tags y tag_queries.
class es el nombre de la clase WMI, por ejemplo Win32_OperatingSystem o Win32_PerfFormattedData_PerfProc_Process. Puedes encontrar muchos de los nombres de clases estándar en los documentos de MSDN. Las clases Win32_FormattedData_* proporcionan muchos contadores de rendimiento útiles de forma predeterminada.
metrics es una lista de las métricas que quieres capturar, donde cada elemento de la
lista es un conjunto de [<WMI_PROPERTY_NAME>, <METRIC_NAME>, <METRIC_TYPE>]:
<WMI_PROPERTY_NAME> es algo como NumberOfUsers o ThreadCount. Las propiedades estándar también están disponibles en los documentos de MSDN de cada clase.
<METRIC_NAME> es el nombre que quieres que aparezca en Datadog.
<METRIC_TYPE> es una de las opciones estándar para todos los checks del Agent, como gauge, rate, histogram o counter.
host es el objetivo opcional de la consulta WMI, localhost se asume por defecto. Si defines esta opción, asegúrate de que la gestión remota está habilitada en el host de destino. Para obtener más información, consulta Configuración de la gestión remota en el Administrador de servidores.
namespace es el espacio de nombres WMI opcional al que conectarse (por defecto cimv2).
filters es una lista de filtros que podrías querer en la consulta WMI. Por ejemplo, para una clase WMI basada en procesos, es posible que quieras métricas sólo de algunos de los procesos que se ejecutan en tu máquina, en cuyo caso podrías añadir un filtro para cada nombre de proceso. También puedes utilizar el carácter ‘%’ como comodín.
provider es el proveedor WMI opcional (por defecto es 32 en el Datadog Agent de 32 bits o 64 bits). Se utiliza para solicitar datos WMI al proveedor no predeterminado. Las opciones disponibles son: 32 o 64.
Consulta MSDN para obtener más información.
tag_by opcionalmente te permite etiquetar cada métrica con una propiedad de la clase WMI que estás utilizando. Esto sólo es útil cuando tienes varios valores para tu consulta WMI.
tags opcionalmente te permite etiquetar cada métrica con un conjunto de valores fijos.
tag_queries opcionalmente te permite especificar una lista de consultas, para etiquetar métricas con una propiedad de la clase de destino. Cada elemento de la lista es un conjunto de [<LINK_SOURCE_PROPERTY>, <TARGET_CLASS>, <LINK_TARGET_CLASS_PROPERTY>, <TARGET_PROPERTY>] donde:
<LINK_SOURCE_PROPERTY> contiene el valor del vínculo
<TARGET_CLASS> es la clase a la cual vincular
<LINK_TARGET_CLASS_PROPERTY> es la propiedad de la clase de destino a la cual vincular
<TARGET_PROPERTY> contiene el valor con el cual etiquetar
Se traduce en una consulta WMI:
SELECT '<TARGET_PROPERTY>' FROM '<TARGET_CLASS>' WHERE '<LINK_TARGET_CLASS_PROPERTY>' = '<LINK_SOURCE_PROPERTY>'
Ejemplo
La configuración [IDProcess, Win32_Process, Handle, CommandLine] etiqueta cada proceso con su línea de comandos. Cualquier número de instancia se elimina de los valores tag_by, por ejemplo: name:process#1 => name:process. NB. El Agent debe ejecutarse bajo una cuenta de Administrador para que esto funcione, ya que la propiedad CommandLine no es accesible para no administradores.