基于Actiontrail实现Nacos配置变更事项通知

本文介绍结合MSE Nacos 配置变更 ActionTrail帮助用户做配置审计。通过集成Actiontrail,用户能够详细跟踪和记录Nacos配置的变更事件,并自动发送通知,确保配置修改的透明度和可追溯性。

方案概览

以钉钉配置Webhook机器人进行变更通知为例,介绍基于Actiontrail实现Nacos配置变更事项通知的部署方案。方案只需以下几步:

  1. 创建Nacos配置文件:利用Nacos配置文件管理数据库连接信息,以支持应用的动态配置需求。

  2. 创建跟踪事件:设置事件跟踪以监控数据库配置文件的变更,确保安全管理。

  3. 通过事件高级查询验证配置变更:使用高级查询功能验证和审查数据库配置变更事件,确保变更安全。

  4. 配置Webhook进行配置变更通知:通过Webhook机制,在数据库配置发生变更时,及时通知钉钉群的相关人员。

创建Nacos配置文件

  1. 前往微服务引擎控制台的注册配置中心实例页面,单击目标Nacos实例。

  2. 单击配置列表,然后单击创建配置

  3. 创建配置面板中,配置Data IDaction-test,Groupaction,配置内容为阿里云,其余参数保持默认即可,然后单击发布image

创建跟踪事件

  1. 前往操作审计控制台的跟踪页面,单击创建跟踪

  2. 基本信息区域中,配置跟踪名称nacos-test,跟踪事件选择管控事件数据事件

    image

  3. 数据事件投递区域中,在搜索框输入MSE,查询到微服务引擎并选中。

  4. 数据事件选择器中,规则可以根据实际需求进行投递,这里不进行筛选,默认全部投递。然后单击确认

通过事件高级查询验证配置变更

  1. 前往微服务引擎控制台的注册配置中心实例页面,单击目标Nacos实例。

  2. 单击配置列表,然后单击第一步创建的配置文件右侧的编辑

  3. 将配置内容从阿里云修改为阿里云云原生,然后单击发布

  4. 前往操作审计控制台的高级查询页面,跟踪选择第二步创建的nacos-test跟踪。

  5. 服务名称选择微服务引擎(MSE)事件名称选择UpdateNacosConfig,然后单击运行image

  6. 单击查看详情,可以查看Nacos配置变更到的详细信息。

配置Webhook进行配置变更通知

1. 创建Webhook

  1. 前往微服务引擎控制台的事件告警页面,单击通知对象 > Webhook集成 > 创建

  2. 新建Webhook面板中,配置标识符mse-test-dingding,名称为钉钉机器人,类型选择钉钉,请求地址输入https://oapi.dingtalk.com/robot/send?access_token=xxxx,然后单击确认

    说明

    这个请求地址是您在钉钉上添加自定义机器人,生成的Webhook地址。通过使用Webhook地址,向钉钉群推送消息。具体详情,请参见自定义机器人接入

2. 配置内容模板

  1. 单击通知策略 > 内容模板 > 创建,在创建内容模板弹框中,配置标识符Nacos,名称Nacos变更。

  2. 选择钉钉标题输入Nacos配置变更告警,发送内容填入以下信息:

    以下ID{{ alert.aliuid }}进行了Nacos配置变更
    具体变更为
    {{ alert.results[0].raw_results }}

    image

3. 配置告警规则

  1. 单击告警规则 > 新建告警,在新建告警面板中,配置规则名称Nacos,检查频率设置为固定间隔1分钟。

  2. 查询统计添加两个规则,其中两个规则之间集合操作选择拼接

    • 规则一:单击添加,设置查询区间1分钟(相对),然后配置查询语句。

      * AND (event.serviceName: "MSE") AND (event.acsRegion: "cn-beijing") AND (event.eventName: "UpdateNacosConfig")
    • 规则二:单击添加,设置查询区间15分钟(相对)。

    说明

    您可以根据自己的实际需求,配置对应的规则。

  3. 分组评估选择标签自定义,标签选择event.eventname触发条件选择有数据匹配,评估表达式输入event.eventname == UpdateNacosConfig。

  4. 添加新的标注,标注名为mse,值为${event.requestparameter}。image

  5. 高级配置输出目标选择SLS通知,单击开启,选择极简模式

  6. 渠道选择钉钉,选择刚创建好的Webhook通知渠道和内容模板,单击确定

    image

4. 验证Nacos配置变更通知到Webhook机器人

  1. 前往微服务引擎控制台的注册配置中心实例页面,单击目标Nacos实例。

  2. 单击配置列表,然后单击第一步创建的配置文件右侧的编辑

  3. 将配置内容从阿里云云原生修改为阿里云,然后单击发布

  4. 打开钉钉群,您可以看到通过webhook机器人投递出了变更的所有信息,如果您需要其他信息,可以自行配置相应的字段。