启用控制平面日志采集和日志告警(新版)

服务网格ASM提供日志中心功能,支持从ASM控制台查看服务网格控制平面和数据平面日志。启用日志采集后,您可以通过日志中心查看控制平面日志、配置基于日志的告警规则、查看数据平面日志和相关的Dashboard。本文介绍如何启用控制平面日志采集和日志告警。

前提条件

启用控制平面日志采集

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择可观测管理中心 > 日志中心

  3. 日志中心页面,单击控制平面日志页签,选择新建Project使用已有Project,进行相关配置,然后单击启用控制平面日志采集,在确认对话框,单击确定

    将日志采集到日志服务SLS后,您可以进行以下操作。

说明

若您不再需要此功能,可以在控制平面日志页签的右上角,单击关闭控制面日志采集,在确认对话框,单击确定

查看控制平面日志

启用控制平面日志采集后,由于托管侧的日志被采集到日志服务SLS中,您可以通过日志服务SLS控制台或服务网格ASM控制台集成的日志浏览界面,查看或检索控制平面日志。

说明

SLS分发建立需要一定时间,因此在启用日志后短时间内,在控制台可能会出现暂时看不到日志的情况。

方式一:通过ASM控制台

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择可观测管理中心 > 日志中心

  3. 日志中心页面,单击控制平面日志页签,查看日志相关信息。

方式二:通过SLS控制台

  1. 登录日志服务控制台

  2. Project列表区域,单击目标集群对应的日志服务Project名称。

  3. 在左侧日志库单击目标日志库,然后在页面右侧,查看日志相关信息。

配置控制平面日志告警

启用控制平面日志采集后,您可以配置控制平面日志告警。

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择可观测管理中心 > 日志中心

  3. 日志中心页面,单击控制平面日志页签,然后在左上角,单击告警设置

  4. 控制面日志告警设置对话框,按需选择行动策略,单击开启告警,然后在重要提示对话框,单击确认

    行动策略定义了当告警发生时如何进行通知,支持服务网格ASM内置行动策略自定义行动策略两种类型。关于行动策略的配置方法,请参见行动策略服务网格ASM的内置行动策略默认未设置任何通知渠道,您可以单击设置.png图标,根据引导进入阿里云日志服务告警中心进行设置。若告警触发,您可以参考告警处理建议对告警进行处理。

配置告警通知人

您可以配置SLS服务网关内置行动策略,设置告警通知接收人,通知模板等。

  1. 登录日志服务控制台

  2. Project列表区域,单击目标Project名称,然后在左侧导航栏,单击告警

  3. 告警中心页面,单击通知对象 > 用户组管理

  4. 用户组管理页签,单击SLS 服务网格内置用户组右侧操作列下的修改

  5. 修改用户组对话框,在待添加成员区域选中目标成员,单击添加图标,将目标成员添加到已添加成员区域,然后单击确认修改用户组

触发告警通知示例

说明

本文限于篇幅无法覆盖每一个告警项,以下例子将通过错误的配置触发从网格控制面推送配置失败

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择ASM网关 > 网关规则,然后单击使用YAML创建

  3. 创建页面,选中目标命名空间和任意场景模板,配置YAML。

    本文以default命名空间为例,配置服务网关,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
  4. 查看告警通知。

    1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

    2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择可观测管理中心 > 日志中心

    3. 日志中心页面,单击控制平面日志,搜索ACK ERROR,查看告警信息。

      如果您配置了告警通知人的邮箱地址,可以在邮箱中查看告警通知。

告警处理建议

诊断出警告的网格配置

ASM网格诊断在您的集群中发现了潜在有风险的网格配置,这些配置可能会导致ASM的执行结果不符合预期。您可以通过网格诊断页面查看告警内容,并按照网格诊断页面的提示修正错误的配置。更多信息,请参见使用ASM网格诊断

诊断出错误的网格配置

ASM网格诊断在您的集群中发现了错误的网格配置,这些配置有较高的风险引起不符合预期的行为。您应当尽快在网格诊断页面查看告警内容,并遵照网格诊断页面给出的提示修正错误的配置。更多信息,请参见使用ASM网格诊断

网格规则配置不符合规范要求导致从网格控制面推送配置失败

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

错误信息

处理建议

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证书。具体操作,请参见通过ASM网关启用HTTPS安全服务

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

该告警信息表示您为数据面配置的证书路径有误或证书不存在,您需要检查证书挂载路径是否与Gateway中配置的路径相符。具体操作,请参见通过ASM网关启用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。

证书管理处存在过期证书,可能导致网关处理TLS流量失败

该告警提示证书管理中的证书已经过期,需要立即处理。

证书管理处存在即将过期的证书,请及时更新证书

该告警提示证书管理中的证书即将过期,需要尽快处理。

相关操作

修改控制平面日志Project

  1. 登录ASM控制台,在左侧导航栏,选择服务网格 > 网格管理

  2. 网格管理页面,单击目标实例名称,然后在左侧导航栏,选择可观测管理中心 > 日志中心

  3. 日志中心页面的控制平面日志页签下方,单击更改日志Project,在更改日志Project对话框,按需进行修改,然后单击确认