Configuración de la canalización de Azure Monitor en el perímetro
Canalización de Azure Monitor es una canalización de ingesta de datos que proporciona recopilación de datos coherente y centralizada para Azure Monitor. La canalización en el perímetro habilita la recopilación a escala y el enrutamiento de datos de telemetría antes de enviarlos a la nube. Puede almacenar en caché los datos localmente y sincronizarse con la nube cuando se restaura la conectividad y enruta la telemetría a Azure Monitor en los casos en los que la red está segmentada y los datos no se pueden enviar directamente a la nube. En este artículo se describe cómo habilitar y configurar la canalización en el perímetro en su entorno.
Información general
La canalización en el perímetro de Azure Monitor es una solución en contenedores que se implementa en un clúster de Kubernetes habilitado para Arc y aprovecha OpenTelemetry Collector como base. En el diagrama siguiente se muestran los componentes de la canalización en el perímetro. Uno o varios flujos de datos escuchan los datos entrantes de los clientes y la extensión de canalización reenvía los datos a la nube mediante la caché local si es necesario.
El archivo de configuración de canalización define los flujos de datos y las propiedades de caché de la canalización en el perímetro. El DCR define el esquema de los datos que se envían a la canalización en la nube, una transformación para filtrar o modificar los datos y el destino donde se deben enviar los datos. Cada definición de flujo de datos para la configuración de canalización especifica el DCR y el flujo dentro de ese DCR que procesará esos datos en la canalización en la nube.
Nota:
El vínculo privado es compatible con la canalización en el perímetro para la conexión a la canalización en la nube.
Se requieren los siguientes componentes y configuraciones para habilitar la canalización en el perímetro de Azure Monitor. Si usa Azure Portal para configurar la canalización en el perímetro, cada uno de estos componentes se crea automáticamente. Con otros métodos, debe configurar cada uno.
Componente | Descripción |
---|---|
Extensión del controlador de canalización perimetral | Extensión agregada al clúster de Kubernetes habilitado para Arc para admitir la funcionalidad de canalización: microsoft.monitor.pipelinecontroller . |
Instancia del controlador de canalización perimetral | Instancia de la canalización perimetral que se ejecuta en el clúster de Kubernetes habilitado para Arc. |
Flujo de datos | Combinación de receptores y exportadores que se ejecutan en la instancia del controlador de canalización. Los receptores aceptan datos de clientes y exportadores para entregar esos datos a Azure Monitor. |
Configuración de canalizaciones | Archivo de configuración que define los flujos de datos para la instancia de canalización. Cada flujo de datos incluye un receptor y un exportador. El receptor escucha los datos entrantes y el exportador envía los datos al destino. |
Un punto de conexión de recopilación de datos (DCE) | Punto de conexión donde se envían los datos a la canalización de Azure Monitor. La configuración de canalización incluye una propiedad para la dirección URL de DCE para que la instancia de canalización sepa dónde enviar los datos. |
Configuración | Descripción |
---|---|
Regla de recopilación de datos (DCR) | Archivo de configuración que define cómo se reciben los datos en la canalización en la nube y dónde se envían. El DCR también puede incluir una transformación para filtrar o modificar los datos antes de enviarlos al destino. |
Configuración de canalizaciones | Configuración que define los flujos de datos para la instancia de canalización, incluidos los flujos de datos y la memoria caché. |
Configuraciones admitidas
distribución admitidas
La canalización en el perímetro de Azure Monitor se admite en las siguientes distribuciones de Kubernetes:
- Canonical
- Proveedor de API de clúster para Azure
- K3
- Rancher Kubernetes Engine
- VMware Tanzu Kubernetes Grid
Ubicaciones admitidas
La canalización en el perímetro de Azure Monitor se admite en las siguientes regiones de Azure:
- Este de EE. UU. 2
- Oeste de EE. UU. 2
- Oeste de Europa
Requisitos previos
- Clúster de Kubernetes habilitado para Arc en su propio entorno con una dirección IP externa. Vea Conexión de un clúster de Kubernetes existente a Azure Arc para más información sobre cómo habilitar Arc para un clúster.
- El clúster de Kubernetes habilitado para Arc debe tener habilitadas las características de ubicaciones personalizadas. Vea Creación y administración de ubicaciones personalizadas en Kubernetes habilitado para Azure Arc.
- Área de trabajo de Log Analytics en Azure Monitor para recibir los datos de la canalización en el perímetro. Vea Creación de un área de trabajo de Log Analytics en Azure Portal para más información sobre cómo crear un área de trabajo.
- Los siguientes proveedores de recursos deben registrarse en la suscripción de Azure. Consulte Tipos y proveedores de recursos de Azure.
- Microsoft.Insights
- Microsoft.Monitor
Flujo de trabajo
No necesita una descripción detallada de los distintos pasos realizados por la canalización de Azure Monitor para configurarlo mediante Azure Portal. Es posible que necesite una comprensión más detallada de ella si usa otro método de instalación o si necesita realizar una configuración más avanzada, como transformar los datos antes de almacenarlos en su destino.
En las tablas y diagramas siguientes se describen los pasos y componentes detallados del proceso para recopilar datos mediante la canalización en el perímetro y pasarlos a la canalización en la nube para el almacenamiento en Azure Monitor. También se incluye en las tablas la configuración necesaria para cada uno de esos componentes.
Paso | Action | Compatibilidad con la configuración |
---|---|---|
1. | El cliente envía datos al receptor de canalización perimetral. | El cliente se configura con IP y puerto del receptor de canalización perimetral y envía datos en el formato esperado para el tipo de receptor. |
2. | El receptor reenvía los datos al exportador. | El receptor y el exportador se configuran en la misma canalización. |
3. | El exportador intenta enviar los datos a la canalización en la nube. | El exportador de la configuración de canalización incluye la dirección URL del DCE, un identificador único para el DCR y la secuencia del DCR que define cómo se procesarán los datos. |
3a. | El exportador almacena datos en la memoria caché local si no se puede conectar a la DCE. | El volumen persistente para la memoria caché y la configuración de la caché local está habilitado en la configuración de la canalización. |
Paso | Action | Compatibilidad con la configuración |
---|---|---|
4. | La canalización en la nube acepta los datos entrantes. | El DCR incluye una definición de esquema para la secuencia entrante que debe coincidir con el esquema de los datos procedentes de la canalización en el perímetro. |
5. | La canalización en la nube aplica una transformación a los datos. | El DCR incluye una transformación que filtra o modifica los datos antes de enviarlos al destino. La transformación puede filtrar datos, quitar o agregar columnas o cambiar completamente su esquema. La salida de la transformación debe coincidir con el esquema de la tabla de destino. |
6. | La canalización en la nube envía los datos al destino. | El DCR incluye un destino que especifica el área de trabajo y la tabla de Log Analytics donde se almacenarán los datos. |
Red segmentada
Segmentación de red es un modelo en el que se usan perímetros definidos por software para crear una posición de seguridad diferente para diferentes partes de la red. En este modelo, puede tener un segmento de red que no pueda conectarse a Internet ni a otros segmentos de red. La canalización en el perímetro se puede usar para recopilar datos de estos segmentos de red y enviarlos a la canalización en la nube.
Para usar la canalización de Azure Monitor en una configuración de red superpuesta, debe agregar las siguientes entradas a la lista de permitidos para el clúster de Kubernetes habilitado para Arc. Vea Configuración de Azure IoT Layered Network Management Preview en el clúster de nivel 4.
- destinationUrl: "*.ingest.monitor.azure.com"
destinationType: external
- destinationUrl: "login.windows.net"
destinationType: external
Creación de una tabla en el área de trabajo de Log Analytics
Antes de configurar el proceso de recopilación de datos para la canalización en el perímetro, debe crear una tabla en el área de trabajo de Log Analytics para recibir los datos. Debe ser una tabla personalizada, ya que actualmente no se admiten tablas integradas. El esquema de la tabla debe coincidir con los datos que recibe, pero hay varios pasos en el proceso de recopilación donde puede modificar los datos entrantes, por lo que el esquema de la tabla no necesita coincidir con los datos de origen que está recopilando. El único requisito de la tabla en el área de trabajo de Log Analytics es que tiene una columna TimeGenerated
.
Vea Agregar o eliminar tablas y columnas en registros de Azure Monitor para más información sobre los distintos métodos para crear una tabla. Por ejemplo, use el comando de la CLI siguiente para crear una tabla con las tres columnas denominadas Body
, TimeGenerated
, y SeverityText
.
az monitor log-analytics workspace table create --workspace-name my-workspace --resource-group my-resource-group --name my-table_CL --columns TimeGenerated=datetime Body=string SeverityText=string
Habilitación de la caché
Los dispositivos perimetrales de algunos entornos pueden experimentar conectividad intermitente debido a diversos factores, como la congestión de red, la interferencia de señal, la interrupción de energía o la movilidad. En estos entornos, puede configurar la canalización en el perímetro para almacenar en caché los datos mediante la creación de un volumen persistente en el clúster. El proceso para esto variará en función de su entorno determinado, pero la configuración debe cumplir los siguientes requisitos:
- El espacio de nombres de metadatos debe ser el mismo que la instancia especificada de la canalización de Azure Monitor.
- El modo de acceso debe admitir
ReadWriteMany
.
Una vez creado el volumen en el espacio de nombres adecuado, configúrelo mediante parámetros en el archivo de configuración de canalización siguiente.
Precaución
Cada réplica de la canalización perimetral almacena los datos en una ubicación del volumen persistente específico de esa réplica. Reducir el número de réplicas mientras el clúster está desconectado de la nube impedirá que los datos se rellenen cuando se restaure la conectividad.
Los datos se recuperan de la memoria caché usando el método FIFO (primero en entrar, primero en salir). Se descartarán los datos anteriores a 48 horas.
Habilitación y configuración de la canalización
Las opciones actuales para habilitar y configurar se detallan en las pestañas siguientes.
Configuración de la canalización mediante Azure Portal
Cuando se usa Azure Portal para habilitar y configurar la canalización, se crean todos los componentes necesarios en función de las selecciones. Esto le ahorra de la complejidad de crear cada componente individualmente, pero ha hecho necesario usar otros métodos para
Realice una de las siguientes acciones en Azure Portal para iniciar el proceso de instalación de la canalización de Azure Monitor:
- En el menú Canalizaciones de Azure Monitor de (versión preliminar), haga clic en Crear.
- En el menú del clúster de Kubernetes habilitado para Arc, seleccione Extensiones y agregue la Extensión de canalización de Azure Monitor (versión preliminar).
La pestaña Básico le pide la siguiente información para implementar la instancia de extensión y canalización en el clúster.
La configuración de esta pestaña se describe en la tabla siguiente.
Propiedad | Descripción |
---|---|
Nombre de instancia | Nombre de la instancia de canalización de Azure Monitor. Debe ser único para la suscripción. |
Subscription | Suscripción de Azure para crear la instancia de canalización. |
Resource group | Grupo de recursos para crear la instancia de canalización. |
Nombre del clúster | Seleccione el clúster de Kubernetes habilitado para Arc en el que se instalará la canalización. |
Ubicación personalizada | Ubicación personalizada para el clúster de Kubernetes habilitado para Arc. Esto se rellenará automáticamente con el nombre de una ubicación personalizada que se creará para el clúster o puede seleccionar otra ubicación personalizada en el clúster. |
La pestaña Flujo de datos permite crear y editar flujos de datos para la instancia de canalización. Cada flujo de datos incluye los siguientes detalles:
La configuración de esta pestaña se describe en la tabla siguiente.
Propiedad | Descripción |
---|---|
Nombre | Nombre del flujo de datos. Debe ser único para esta canalización. |
Tipo de origen | Tipo de datos que se recopilan. Actualmente se admiten los siguientes tipos de origen: -Syslog - OTLP |
Port | Puerto en el que escucha la canalización para los datos entrantes. Si dos flujos de datos usan el mismo puerto, ambos recibirán y procesarán los datos. |
Área de trabajo de Log Analytics | Área de trabajo de Log Analytics a la que enviar los datos. |
Nombre de tabla | Nombre de la tabla en el área de trabajo de Log Analytics a la que se van a enviar los datos. |
Comprobación de la configuración
Comprobación de los componentes de canalización que se ejecutan en el clúster
En Azure Portal, vaya al menú Servicios de Kubernetes y seleccione el clúster de Kubernetes habilitado para Arc. Seleccione Servicios y entradas y asegúrese de que ve los siguientes servicios:
- <nombre de canalización>-external-service
- <nombre de canalización>-service
Haga clic en la entrada de <nombre de canalización>-external-service y anote la dirección IP y el puerto en la columna Puntos de conexión. Esta es la dirección IP externa y el puerto a los que los clientes enviarán datos. Consulte Recuperación del punto de conexión de entrada para recuperar esta dirección del cliente.
Comprobación del latido
Cada canalización configurada en la instancia de canalización enviará un registro de latido a la tabla Heartbeat
del área de trabajo de Log Analytics cada minuto. El contenido de la columna OSMajorVersion
debe coincidir con el nombre de la instancia de canalización. Si hay varias áreas de trabajo en la instancia de canalización, se usará la primera configurada.
Recupere los registros de latido mediante una consulta de registro como en el ejemplo siguiente:
Configuración de cliente
Una vez instalada la extensión de canalización perimetral y la instancia, debe configurar los clientes para enviar datos a la canalización.
Recuperación del punto de conexión de entrada
Cada cliente requiere la dirección IP externa del servicio de canalización de Azure Monitor. Use el siguiente comando para recuperar esta dirección:
kubectl get services -n <namespace where azure monitor pipeline was installed>
- Si la aplicación que produce registros es externa al clúster, copie el valor external-ip del <nombre de canalización de servicio>-service o del <nombre de canalización>-external-service con el tipo de equilibrador de carga.
- Si la aplicación está en un pod dentro del clúster, copie el valor cluster-ip.
Nota:
Si el campo external-ip está establecido en pendiente, deberá configurar una dirección IP externa para esta entrada manualmente según la configuración del clúster.
Remoto | Descripción |
---|---|
syslog | Actualice los clientes de Syslog para enviar datos al punto de conexión de canalización y el puerto del flujo de datos de Syslog. |
OTLP | La canalización perimetral de Azure Monitor expone un punto de conexión de OTLP basado en gRPC en el puerto 4317. La configuración de la instrumentación para enviar a este punto de conexión de OTLP dependerá de la propia biblioteca de instrumentación. Vea Punto de conexión de OTLP o Colector para la documentación de OpenTelemetry. El método de variable de entorno se documenta en Configuración del exportador de OTLP. |
Comprobación de datos
El último paso es comprobar que los datos se reciben en el área de trabajo de Log Analytics. Para realizar esta comprobación, ejecute una consulta en el área de trabajo de Log Analytics para recuperar datos de la tabla.