简介:随着微服务的流行,微服务的架构也在不断的发展演进,Spring Cloud 与 Dubbo为代表的微服务开发框架也得到了普及和落地;在云原生时代,无侵入的服务网格(Service Mesh)开始走向成熟,相对于传统微服务架构,服务网格具有可观察性、流量控制、安全性三大优势。服务网格将之前服务治理中的复杂性从应用中分离出来,将这些复杂性放到了服务代理中,包括流量控制,断路,服务发现,安全性,可观测性等;开发时应用只需要关心业务功能实现,让责任划分变得更加清楚。

1. 前言

随着微服务的流行,微服务的架构也在不断的发展演进,Spring Cloud 与 Dubbo为代表的微服务开发框架也得到了普及和落地;在云原生时代,无侵入的服务网格(Service Mesh)开始走向成熟,相对于传统微服务架构,服务网格具有可观察性、流量控制、安全性三大优势。服务网格将之前服务治理中的复杂性从应用中分离出来,将这些复杂性放到了服务代理中,包括流量控制,断路,服务发现,安全性,可观测性等;开发时应用只需要关心业务功能实现,让责任划分变得更加清楚。

阿里云服务网格是阿里云提供的全托管式服务网格平台,兼容Istio。在可观测性方面,与SLS深度集成,提供了日志采集、可视化、告警一站式可观察性解决方案。本文主要介绍介绍服务网格新推出的控制面日志采集和告警配置,同时也会涵盖数据面访问日志的采集和可视化;未来数据面的访问日志的告警也将推出更多内置告警规则,实现可以在SLS上一站式进行告警管理。

2. 阿里云服务网格(ASM)介绍

阿里云服务网格(Alibaba Cloud Service Mesh,简称ASM)提供一个全托管式的服务网格平台,兼容社区Istio开源服务网格,用于简化服务的治理,包括服务调用之间的流量路由与拆分管理、服务间通信的认证安全以及网格可观测性能力,从而极大地减轻开发与运维的工作负担。

ASM中的控制平面组件完全有阿里云托管,兼容Istio,用户只需要挂住业务应用的开发部署。 对于ACK托管集群,专有集群,Serverless集群,混合云或者多云场景,提供一致的流量控制,安全和可观测性管理,控制平面核心组件由阿里云托管,最大限度降低用户资源的开销和运维成本。

在可观测性方面,ASM支持使用SLS控制平面和数据平面的日志,并提供了内置的仪表盘及告警,未来将增加更多内置告警的内置告警规则,借助SLS强大的告警管理和通知功能,用户可以更加对ASM的运行状态更加了解,并及时获得告警通知以进行下一步操作。

3. SLS告警介绍

日志服务SLS是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。日志服务提供一站式数据采集、加工、查询与分析、可视化、告警、消费与投递等功能。

SLS告警是一站式的告警监控、降噪、事务管理、通知分派的智能运维平台。SLS告警的核心功能组件主包括数据存储,告警监控,告警管理,行动管理和开放告警几个子系统。

SLS告警来源主要包括自定义告警,系统内置告警和开放告警。各类告警源产生告警后,告警会发送给告警管理系统,通过告警管理系统,用户可以进行合并,抑制,静默等处理;然后告警会到通知管理系统,在通知管理中,可以设置根据不同的告警属性将将通知分派到不同的通知渠道。

4. ASM可观测性日志采集及可视化

ASM可观测性的日志主要包括控制平面和数据平面的日志:

  • 控制平面日志ASM提供了基于SLS的告警功能;
  • 数据平面日志主要包括入口网关日志,Envoy Access Log,在数据平面日志中ASM提供了基于SLS的内置仪表盘功能。

4.1. 数据平面入口网关日志采集及可视化

接入数据平面入口网关日志可以参考服务网格接入入口网关日志。主要包括安装日志服务组件和采集配置,完成采集后,在ASM控制台内嵌了入口网关概览、入口网关访问中心、入口网关监控中心三个仪表盘。

4.2. Envoy Access Log采集及可视化

接入Envoy Access Log可以参考使用日志服务采集数据平面入口网关日志,主要步骤包括安装日志服务组件和采集配置,完成采集后可以在ASM控制台查看访问日志监控中心和访问日志详细记录。

4.3. 控制平面日志采集及告警

ASM支持将控制平面的日志采集到SLS,然后根据日志进行告警配置,接下来着重介绍下如何开启控制面日志采集及告警。

4.3.1 在ASM控制台开启告警

  1. 在ASM控制台,找到关心的服务网格实例,点击进入,启用控制平面日志采集的开关,如图所示:

  1. 点击告警设置,在告警弹出框中选择行动策略,可以默认选择“SLS服务网格内置行动策略”,然后开启告警。

4.3.2 在SLS控制台配置告警通知人

  1. 在SLS控制台首页,页面上方找到日志应用,点击“告警管理中心”

  1. 点击全局配置

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

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

在接收到告警后,可以根据告警中的内容提示进行一些处理建议

错误信息

处理建议

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。

5. 总结

本文主要描述了如果在阿里云服务网格中开启数据面访问日志及控制面日志,并且简单介绍了数据面日志中的内置仪表盘和控制面日志的告警配置。借助SLS告警,用户可以一站式的进行告警的管理,可以有效的提供运维效率。目前SLS支持了ASM控制面日志告警,未来,在ASM数据面日志采集和可视化基础上,SLS将提供更多的内置告警规则,在ASM控制台可以实现一键开启内置告警规则,完善服务网格可观测性的闭环,用户也可以在SLS上实现统一的告警管理,敬请期待。

原文链接

本文为阿里云原创内容,未经允许不得转载。

阿里云服务网格ASM集成SLS告警的更多相关文章

  1. 阿里云服务执行mysql_install_db报错

    问题描述:阿里云服务执行mysql_install_db报错解决方案:安装autoconf库(yum -y install autoconf)然后在执行:mysql_install_db就会出现这样, ...

  2. Xshell连接阿里云服务被拒绝

    问题描述:突然的Xshell连接阿里云服务被拒绝了(如图)网上众多的方案都不行例如:https://www.cnblogs.com/wanglle/p/11416987.html(参考博文,本人这个问 ...

  3. 使用Xshell链接阿里云服务

    1.下载Xshell,进入xshell官网 https://xshell.en.softonic.com/,选择免费版本进行下载,在该页面https://www.netsarang.com/zh/fr ...

  4. 重磅 | 腾讯云服务网格开源项目 Aeraki Mesh 加入 CNCF 云原生全景图

    作者 赵化冰,腾讯云工程师,Aeraki Mesh 创始人,Istio member,Envoy contributor,目前负责 Tencent Cloud Mesh 研发工作. 摘要 近日,腾讯云 ...

  5. 阿里云服务(一) OSS

    阿里电子商务迄今是中国最大的电商网站,各个厂商都在去模仿.就像google的大数据处理,Hadoop的思想等等,只有做出了一些成绩,起了带头羊,那么将会是非常吃香的.从今天开始简单学习了解一下阿里的各 ...

  6. 2018.10.9 上线发现elasticsearch写入速度超级慢,原来罪魁祸首是阿里云服务的OSS的锅

    问题描述: 按照项目计划,今天上线部署日志系统(收集线上的所有日志,便于问题排查). 运维按照以前的部署过程,部署elasticsearch,部署结束之后,通过x-pack的monitor发现elas ...

  7. 阿里云服务上面部署redis + 本地Redis客户端连接方法

    本文结合自己在阿里云服务器上面搭建redis服务器,在本地redis的客户端Redis Desktop Manager连接成功的操作,将操作中的一些方法做了一些归纳和总结,希望可以帮到有需要的同学. ...

  8. 搭建阿里云服务 FTP 折中方案

    该配置的服务都配置了,端口也都打开了 ,但是ftp  就是连接不上 就是打不开目录 8uftp  出现以下情况 配置文件逐条检查,端口逐个检查 都没有问题,还是出现这种情况,实在没辙,蛋疼...... ...

  9. Apache Hudi又双叕被国内顶级云服务提供商集成了!

    是的,最近国内云服务提供商腾讯云在其EMR-V2.2.0版本中优先集成了Hudi 0.5.1版本作为其云上的数据湖解决方案对外提供服务 Apache Hudi 在 HDFS 的数据集上提供了插入更新和 ...

  10. 阿里云服务主机部署Thinkphp系统错误解决方案

    最近在阿里云上购买了虚拟主机,于是有了把自己的网站挂在云上的冲动,那就行动呗.本来想的很简单,以为在修改数据库配置之后,将文件打包上传,然后就可以了,可在实际操作过程中,出现了很多问题,找了很多资料, ...

随机推荐

  1. [模板]01trie,维护异或最大值

    // 查询异或最大值,每次插入和查询时间都是log(C) template<class T> class trie01 { vector<vector<T>> tr ...

  2. TP6框架--EasyAdmin总结:暂时的离别和新的开始

    眨眼一下,因为项目初期开发的完成,我与EasyAdmin的缘分也将迎来短暂的离别,有时候静下来,感觉时间过的好快,我从4月到现在,使用EasyAdmin进行项目开发,从一个初识别PHP的菜鸟,到一个能 ...

  3. FreeMarker介绍及基本数据类型和用法

    FreeMarker介绍及基本数据类型和用法 FreeMarker 中文官方参考手册 FreeMarker 英文官方参考手册 一.FreeMarker介绍 FreeMarker 是一款 模板引擎: 即 ...

  4. FFmpeg开发笔记(五)更新MSYS的密钥环

    ​ <FFmpeg开发实战:从零基础到短视频上线>一书提到:使用MSYS对FFmpeg进行交叉编译时,需要事先安装交叉编译工具链,也就是执行下面命令. pacman -S mingw-w6 ...

  5. torch的cuda版本安装

    1.拥有英伟达显卡NVIDIA NVIDIA CUDA各版本下载链接(包括最新11版本和以往10.2版本) 以下是从NVIDIA官网转过来的链接,方便需要下载各种版本CUDA的同学.(借阅) http ...

  6. ElasticSearch8 - SpringBoot整合ElasticSearch

    前言 springboot 整合 ES 有两种方案,ES 官方提供的 Elasticsearch Java API Client 和 spring 提供的 [Spring Data Elasticse ...

  7. KingbaseES V8R6运维案例之---MySQL和KingbaseES字符串排序规则对比

    案例说明: 相同数据排序后查询,在MySQL和KingbaseES下得到的排序顺序不一致,本案例从MySQL和KingbaseES的排序规则分析,两种数据库排序的异同点. 适用版本: Kingbase ...

  8. java实战字符串1:给定两个字符串 s 和 t,判断他们的编辑距离是否为 1。

    题目描述给定两个字符串 s 和 t,判断他们的间距是否为 1.(满足以下三个条件) 往 s 中插入一个字符得到 t从 s 中删除一个字符得到 t在 s 中替换一个字符得到 t 例1 输入: ab ac ...

  9. C# 金额的 动态分配算法

    /// <summary> /// 金额的 动态分配算法 /// </summary> public static void FindCosts() { // 定义费用明细列表 ...

  10. 学习Source Generators之输出生成的文件

    上一篇文章学习了通过获取和解析swagger.json的内容,来生成API的请求响应类. 但是其中无法移动与编辑. 那么本文将介绍如何输出生成的文件. EmitCompilerGeneratedFil ...