启用控制面日志采集及告警提升系统稳定性

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 服务网格的控制面组件扮演的一个重要角色是负责推送网格的规则配置到数据面的Sidecar代理或者网关中。如果用户配置的网格规则内容存在一些冲突导致推送失败, 因此代理或者网关就接收不到最新的配置内容。 因为代理或网关在不重启的情况下, 仍然可以使用已经接收到的配置继续运行, 但是一旦这些Pod重启, 很有可能导致Sidecar代理或网关启动失败。 在很多实际的客户场景中, 经常出现用户误配置引发的网关或代理不可用问题, 因此启用控制面的日志告警, 及时发现问题、解决问题势在必行。 ASM支持采集控制平面日志和日志告警,例如采集ASM控制平面向数据平面Sidecar推送配置的相关日志。

背景


服务网格的控制面组件扮演的一个重要角色是负责推送网格的规则配置到数据面的Sidecar代理或者网关中。如果用户配置的网格规则内容存在一些冲突导致推送失败,  因此代理或者网关就接收不到最新的配置内容。 因为代理或网关在不重启的情况下, 仍然可以使用已经接收到的配置继续运行, 但是一旦这些Pod重启, 很有可能导致Sidecar代理或网关启动失败。 在很多实际的客户场景中, 经常出现用户误配置引发的网关或代理不可用问题, 因此启用控制面的日志告警, 及时发现问题、解决问题势在必行。


ASM支持采集控制平面日志和日志告警,例如采集ASM控制平面向数据平面Sidecar推送配置的相关日志。本文介绍如何启用控制平面日志采集和日志告警、并通过一个示例介绍告警通知, 最后给出对应的告警处理参考方案。


启用控制面日志采集

  1. 登录ASM控制台
  2. 在左侧导航栏,选择服务网格>网格管理
  3. 网格管理页面,找到待配置的实例,单击实例的名称或在操作列中单击管理
  4. 在网格详情页面左侧导航栏选择网格实例>基本信息
  5. 基本信息页面单击控制面日志采集右侧的开启
  6. 如果是第一次启用, 点击开启之后, 在启用控制面日志的对话框中, 允许选择新建Project或使用已有Project,然后单击确认。如果您选择的是新建Project,您可以使用默认Project名称或者自定义Project名称。在网格信息页面单击控制面日志采集右侧的查看日志,然后您可以在Project页面查看详细的控制平面日志。


image.png



  1. 如果之前已经开启且禁用过, 再次点击开启确认之后, 就会自动选择上次已经指定的Project。



启用控制平面日志告警

当控制平面发往数据平面的xDS请求被数据平面拒绝时,数据平面同步失败告警将被触发。此时您的数据平面的Sidecar代理或ASM网关将无法得到最新的配置信息,将存在以下两种情况:

注意启用控制平面日志告警之前必须先启用控制平面日志采集,否则将无法使用该功能。

  • 如果数据平面Sidecar在此之前收到过成功的配置推送,则该Sidecar将保持最后一次收到的成功推送的配置。
  • 如果数据平面Sidecar在此之前尚未收到过成功的配置推送,则该Sidecar将没有任何配置信息,这意味着该节点可能没有任何监听,也无法处理任何请求和路由规则。
  1. 登录ASM控制台
  2. 在左侧导航栏,选择服务网格>网格管理
  3. 网格管理页面,找到待配置的实例,单击实例的名称或在操作列中单击管理
  4. 在网格详情页面左侧导航栏选择网格实例>基本信息
  5. 基本信息页面单击控制面日志采集右侧的告警设置
  6. 控制面日志告警设置对话框选择行动策略- 服务网格ASM内置行动策略 (推荐) 或者其他自定义行动策略,  然后单击开启告警。行动策略定义了告警触发时的行为,您可以在SLS Project内创建和编辑行动策略。具体操作,请参见创建行动策略

image.png

  1. 重要提示对话框单击确定


配置告警通知人

告警管理中心是SLS下基于业务的统一智能告警运维平台,可以在全局配置->通知策略->行动策略中找到“SLS服务网关内置行动策略”,点击修改可以查看其告警通知接收人,通知模板等。

  1. 在SLS控制台配置告警通知人, 在SLS控制台首页,页面上方找到日志应用,点击“查看更多日志应用”, 在弹出的页面中选择点击“告警管理中心”。
  2. 在页面的右上方,  点击全局配置。


image.png



  1. 在左边菜单找到用户管理->用户组管理,点击右侧修改按钮,在SLS 服务网格内置用户组中通过修改操作来添加相应的联系人,即可接收告警产生后的通知。

4. 确认在已添加成员列表中包括了相应的告警通知人。



触发告警通知的示例


  1. 登录ASM控制台
  2. 在左侧导航栏,选择服务网格>网格管理
  3. 网格管理页面,找到待配置的实例,单击实例的名称或在操作列中单击管理
  4. 在网格详情页面左侧导航栏选择流量管理中心>网关规则,然后在右侧页面单击使用YAML创建
  5. 按以下步骤定义服务网关,然后单击创建
  1. 选择相应的命名空间。本文以选择default命名空间为例。
  2. 在文本框中,定义服务网关。可参考以下YAML定义:
apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:  name:  gateway-test
  namespace: default
spec:  selector:    istio: ingressgateway
  servers:    - hosts:        - '*console.aliyun.com'      port:        name: https
        number: 443        protocol: HTTPS
      tls:        credentialName: not-existing-credential
        mode: SIMPLE



  1. 然后在网格详情页面左侧导航栏选择网格实例 > 基本信息
  2. 基本信息页面单击控制面日志采集右侧的查看日志
  3. 在日志服务控制台中, 搜索'ACK ERROR', 可以查看到类似的日志内容。


image.png




  1. 如果正确地配置了告警通知人的邮箱地址, 就可以收到如下类似的邮件信息:

image.png


或者配置钉钉机器人, 即可收到钉钉群的告警信息, 类似如下:

image.png


告警处理的参考方案


以下列出了常见的数据面同步失败错误信息和处理建议。如果您没有在下方表格找到对应的错误信息,建议您提交工单

错误信息

处理建议

Internal:Error adding/updating listener(s) 0.0.0.0_443: Failed to load certificate chain from <inline>, only P-256 ECDSA certificates are supported

该告警信息表示数据面集群不支持您为数据面配置的证书,当前仅支持P-256 ECDSA证书。您需要重新配置证书,具体操作,请参见通过服务网关启用HTTPS安全服务

Internal:Error adding/updating listener(s) 0.0.0.0_443: Invalid path: ****

该告警信息表示您为数据面配置的证书路径有误或证书不存在,您需要检查证书挂载路径是否与Gateway中配置的路径相符。具体操作,请参见通过服务网关启用HTTPS安全服务

Internal:Error adding/updating listener(s) 0.0.0.0_xx: duplicate listener 0.0.0.0_xx found

该告警信息表示您为网关配置的监听端口重复,请检查您的Gateway,删除重复的端口。

Internal:Error adding/updating listener(s) 192.168.33.189_15021: Didn't find a registered implementation for name: '***'

该告警信息表示在Sidecar和Ingressgateway中无法找到您通过EnvoyFilter针对15021这个Listener patch的配置中引用的***,您需要删除该引用。

Internal:Error adding/updating listener(s) 0.0.0.0_80: V2 (and AUTO) xDS transport protocol versions are deprecated in grpc_service ***

该告警信息表示即将弃用您数据面的XDS V2协议,这通常是因为您的数据面Sidecar的版本与控制平面不符所致。升级数据平面的Sidecar可以解决该问题,您需要删除Pod,该Pod自动重新创建后会自动注入最新版本的Sidecar。


相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
WGLOG日志管理系统是怎么收集日志的
WGLOG通过部署Agent客户端采集日志,Agent持续收集指定日志文件并上报Server,Server负责展示与分析。Agent与Server需保持相同版本。官网下载地址:www.wgstart.com
|
3月前
|
Prometheus 监控 Cloud Native
基于docker搭建监控系统&日志收集
Prometheus 是一款由 SoundCloud 开发的开源监控报警系统及时序数据库(TSDB),支持多维数据模型和灵活查询语言,适用于大规模集群监控。它通过 HTTP 拉取数据,支持服务发现、多种图表展示(如 Grafana),并可结合 Loki 实现日志聚合。本文介绍其架构、部署及与 Docker 集成的监控方案。
376 122
基于docker搭建监控系统&日志收集
|
5月前
|
数据采集 存储 大数据
大数据之路:阿里巴巴大数据实践——日志采集与数据同步
本资料全面介绍大数据处理技术架构,涵盖数据采集、同步、计算与服务全流程。内容包括Web/App端日志采集方案、数据同步工具DataX与TimeTunnel、离线与实时数仓架构、OneData方法论及元数据管理等核心内容,适用于构建企业级数据平台体系。
|
存储 运维 开发工具
警惕日志采集失败的 6 大经典雷区:从本地管理反模式到 LoongCollector 标准实践
本文探讨了日志管理中的常见反模式及其潜在问题,强调科学的日志管理策略对系统可观测性的重要性。文中分析了6种反模式:copy truncate轮转导致的日志丢失或重复、NAS/OSS存储引发的采集不一致、多进程写入造成的日志混乱、创建文件空洞释放空间的风险、频繁覆盖写带来的数据完整性问题,以及使用vim编辑日志文件导致的重复采集。针对这些问题,文章提供了最佳实践建议,如使用create模式轮转日志、本地磁盘存储、单线程追加写入等方法,以降低日志采集风险,提升系统可靠性。最后总结指出,遵循这些实践可显著提高故障排查效率和系统性能。
1062 21
|
6月前
|
存储 运维 开发工具
警惕日志采集失败的 6 大经典雷区:从本地管理反模式到 LoongCollector 标准实践
本文总结了日志管理中的六大反模式及优化建议,涵盖日志轮转、存储选择、并发写入等常见问题,帮助提升日志采集的完整性与系统可观测性,适用于运维及开发人员优化日志管理策略。
232 5
|
6月前
|
监控 API 开发工具
HarmonyOS Next的HiLog日志系统完全指南:从入门到精通
本文深入解析HarmonyOS Next的HiLog日志系统,涵盖日志级别、核心API、隐私保护与高级回调功能,助你从入门到精通掌握这一重要开发工具。
380 1
|
2月前
|
数据采集 缓存 大数据
【赵渝强老师】大数据日志采集引擎Flume
Apache Flume 是一个分布式、可靠的数据采集系统,支持从多种数据源收集日志信息,并传输至指定目的地。其核心架构由Source、Channel、Sink三组件构成,通过Event封装数据,保障高效与可靠传输。
212 1
|
3月前
|
存储 Kubernetes 监控
Kubernetes日志管理:使用Loki进行日志采集
通过以上步骤,在Kubernetes环境下利用LoKi进行有效率且易于管理地logs采集变成可能。此外,在实施过程中需要注意版本兼容性问题,并跟进社区最新动态以获取功能更新或安全补丁信息。
266 16
|
7月前
|
存储 缓存 Apache
StarRocks+Paimon 落地阿里日志采集:万亿级实时数据秒级查询
本文介绍了阿里集团A+流量分析平台的日志查询优化方案,针对万亿级日志数据的写入与查询挑战,提出基于Flink、Paimon和StarRocks的技术架构。通过Paimon存储日志数据,结合StarRocks高效计算能力,实现秒级查询性能。具体包括分桶表设计、数据缓存优化及文件大小控制等措施,解决高并发、大数据量下的查询效率问题。最终,日志查询耗时从分钟级降至秒级,显著提升业务响应速度,并为未来更低存储成本、更高性能及更多业务场景覆盖奠定基础。
|
4月前
|
存储 缓存 Apache
StarRocks+Paimon 落地阿里日志采集:万亿级实时数据秒级查询
A+流量分析平台是阿里集团统一的全域流量数据分析平台,致力于通过埋点、采集、计算构建流量数据闭环,助力业务提升流量转化。面对万亿级日志数据带来的写入与查询挑战,平台采用Flink+Paimon+StarRocks技术方案,实现高吞吐写入与秒级查询,优化存储成本与扩展性,提升日志分析效率。
523 1