Cuando varios equipos modifican las configuraciones de Nacos en Microservices Engine (MSE), resulta difícil rastrear quién cambió qué y alertar a los interesados en tiempo real si no se cuenta con un mecanismo de auditoría centralizado. ActionTrail captura cada cambio de configuración de Nacos como un evento auditable y lo entrega a Simple Log Service (SLS), donde una regla de alerta reenvía notificaciones formateadas a un endpoint de webhook como DingTalk.
Este enfoque de registro de auditoría es adecuado para escenarios en los que se requiere:
Cumplimiento y registros de auditoría: un historial inalterable que registra quién realizó cambios, qué se modificó y cuándo ocurrió.
Visibilidad entre servicios: un único flujo de notificaciones que abarca Nacos y otros servicios de Alibaba Cloud.
Separación de responsabilidades: monitoreo de cambios de configuración independiente del código de la aplicación.
Si solo necesita callbacks dentro de la aplicación para los cambios de configuración (menor latencia y configuración más sencilla), utilice el listener nativo del SDK de Nacos (@NacosConfigListener). El enfoque con ActionTrail descrito aquí está diseñado para auditoría y cumplimiento a nivel organizacional.
Funcionamiento
El flujo de notificaciones conecta cuatro servicios:
MSE Nacos --> ActionTrail --> SLS alert rule --> DingTalk webhook
Un usuario o una llamada a la API modifica una configuración de Nacos en MSE.
ActionTrail captura el cambio como un evento
UpdateNacosConfig.Una regla de alerta de SLS consulta los eventos de ActionTrail en un intervalo fijo.
Cuando la regla coincide, SLS envía una notificación formateada a un webhook de DingTalk.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Una instancia de MSE Nacos
Acceso a la consola de ActionTrail
Acceso a la consola de SLS
Un grupo de DingTalk con un webhook de robot personalizado configurado
Paso 1: Crear una configuración de Nacos
Cree una configuración de ejemplo para utilizarla a lo largo de este tutorial.
Vaya a la página de Instances en la consola de MSE y haga clic en la instancia de Nacos deseada.
Haga clic en Configurations y luego en Add Configuration.
-
En el panel Add Configuration, establezca los siguientes parámetros y conserve los valores predeterminados para el resto:
Parámetro
Valor
Data ID
action-testGroup
actionConfiguration Content
aliyun -
Haga clic en Release.

Paso 2: Crear un trail para capturar eventos de Nacos
Un trail define qué eventos captura ActionTrail y los entrega a SLS para su consulta y generación de alertas.
Vaya a la página de Trails en la consola de ActionTrail y haga clic en Create Trail.
-
En el área Basic Information, establezca Trail Name como
nacos-test. Para Trail Event Type, seleccione tanto Management Event como Data Event.
En el área Data Event Delivery Settings, busque
MSE, localice Microservices Engine y selecciónelo.En la sección Data Event Selector, deje los filtros en blanco para entregar todos los eventos de MSE de forma predeterminada y luego haga clic en Confirm.
Paso 3: Comprobar que ActionTrail captura los cambios de configuración
Antes de configurar las notificaciones, confirme que ActionTrail registra correctamente los cambios de configuración de Nacos.
Vaya a la página de Instances en la consola de MSE y haga clic en la instancia de Nacos deseada.
Haga clic en Configurations y luego en Edit junto a la configuración creada en el Paso 1.
Cambie el contenido de la configuración de
aliyunaAlibaba Cloud Nativey haga clic en Release.Vaya a la página de Advanced Event Query en la consola de ActionTrail. En Trail, seleccione
nacos-test.-
Establezca Service Name como Microservices Engine (MSE) y Event Name como UpdateNacosConfig, y luego haga clic en Run.

Haga clic en View Details para inspeccionar el registro completo del evento correspondiente al cambio de configuración.
Paso 4: Configurar una notificación por webhook de DingTalk
Este paso integra un endpoint de webhook, una plantilla de mensajes y una regla de alerta en un flujo de notificaciones integral.
4.1 Crear un webhook
Vaya a la página de Event Alerting en la consola de ActionTrail. Haga clic en .
-
En el panel Create Webhook, configure los siguientes parámetros:
Parámetro
Valor
ID
mse-test-dingdingName
DingTalk RobotType
DingTalk
Request URL
https://oapi.dingtalk.com/robot/send?access_token=xxxx Haga clic en OK.
Reemplace la Request URL con la dirección real del webhook de su robot personalizado de DingTalk. Para consultar las instrucciones de configuración, consulte Custom Robot Access.
4.2 Crear una plantilla de contenido
Haga clic en .
En el cuadro de diálogo Add Alert Template, establezca ID como
Nacosy Name comoNacos Change.-
Seleccione DingTalk. Establezca Title como
Nacos configuration change alerte introduzca el siguiente contenido:Nacos configuration changed by ID {{ alert.aliuid }} Change details: {{ alert.results[0].raw_results }}
4.3 Crear una regla de alerta
Haga clic en . Establezca Rule Name como
Nacosy Check Frequency en un intervalo fijo de 1 minuto.-
En la sección Query Statistics, agregue dos reglas. Para la opción JOIN entre las dos reglas, seleccione Concatenate:
-
Regla 1: Haga clic en Add, establezca Time Range en 1 minuto (relativo) e introduzca la siguiente sentencia de búsqueda:
* AND (event.serviceName: "MSE") AND (event.acsRegion: "cn-beijing") AND (event.eventName: "UpdateNacosConfig") Regla 2: Haga clic en Add y establezca Time Range en 15 minutos (relativo).
NotaPuede configurar las reglas según sus necesidades.
-
-
Para Group Evaluation, seleccione Custom Label. En Tags, seleccione
event.eventname. Establezca Trigger Condition como data matches the expression e introduzca:event.eventname == UpdateNacosConfig -
Agregue una Annotation con nombre
msey valor${event.requestparameter}.
En Advanced Setting, establezca Destination como Simple Log Service Notification. Haga clic en Enable y seleccione Simple Mode.
-
En Channel, seleccione DingTalk. Seleccione el webhook y la plantilla de contenido creados anteriormente, y luego haga clic en OK.

4.4 Probar el flujo de notificaciones
Vaya a la página de Instances en la consola de MSE y haga clic en la instancia de Nacos deseada.
Haga clic en Configurations y luego en Edit junto a la configuración que creó.
Cambie el contenido de la configuración de
Alibaba Cloud NativeaAlibaba Cloudy haga clic en Release.Abra su grupo de DingTalk. En unos minutos, el webhook entregará una notificación con los detalles del cambio. Para incluir campos adicionales en la notificación, actualice la plantilla de contenido en el Paso 4.2 con otros atributos del evento.