
文章插图
转载本文需注明出处:微信公众号EAWorld,违者必究 。
引言:微服务框架落地后,分布式部署架构带来的问题就会迅速凸显出来 。服务之间的相互调用过程中,如果业务出现错误或者异常,如何快速定位问题?如何跟踪业务调用链路?如何分析解决业务瓶颈?...本文我们来看看如何解决以上问题 。
目录:一、SkyWalking初探
二、业务调用链路监控
三、服务性能指标监控
四、服务告警
一、SkyWalking初探Skywalking 简介
Skywalking是一款国内开源的应用性能监控工具,支持对分布式系统的监控、跟踪和诊断 。
它提供了如下的主要功能特性:

文章插图
Skywalking 技术架构

文章插图
SW总体可以分为四部分:
1.Skywalking Agent:使用JAVAagent做字节码植入,无侵入式的收集,并通过HTTP或者gRPC方式发送数据到Skywalking Collector 。
2. Skywalking Collector :链路数据收集器,对agent传过来的数据进行整合分析处理并落入相关的数据存储中 。
3. Storage:Skywalking的存储,时间更迭,sw已经开发迭代到了6.x版本,在6.x版本中支持以ElasticSearch、MySQL、TiDB、H2、作为存储介质进行数据存储 。
4. UI :Web可视化平台,用来展示落地的数据 。
Skywalking Agent配置
通过了解配置,可以对一个组件功能有一个大致的了解 。让我们一起看一下skywalking的相关配置 。
解压开skywalking的压缩包,在agent/config文件夹中可以看到agent的配置文件 。
从skywalking支持环境变量配置加载,在启动的时候优先读取环境变量中的相关配置 。

文章插图
- agent.namespace: 跨进程链路中的header,不同的namespace会导致跨进程的链路中断
- agent.service_name:一个服务(项目)的唯一标识,这个字段决定了在sw的UI上的关于service的展示名称
- agent.sample_n_per_3_secs: 客户端采样率,默认是-1代表全采样
- agent.authentication: 与collector进行通信的安全认证,需要同collector中配置相同
- agent.ignore_suffix: 忽略特定请求后缀的trace
- collecttor.backend_service: agent需要同collector进行数据传输的IP和端口
- logging.level: agent记录日志级别
Skywalking Collector关键配置
Collector支持集群部署,zookeeper、kubernetes(如果你的应用是部署在容器中的)、consul(Go语言开发的服务发现工具)是sw可选的集群管理工具,结合大家具体的部署方式进行选择 。详细配置大家可以去Skywalking官网下载介质包进行了解 。
Collector端口设置

文章插图
downsampling: 采样汇总统计维度,会分别按照分钟、【小时、天、月】(可选)来统计各项指标数据 。
通过设置TTL相关配置项可以对数据进行自动清理 。
Skywalking 在6.X中简化了配置 。collector提供了gRPC和HTTP两种通信方式 。
UI使用rest http通信,agent在大多数场景下使用grpc方式通信,在语言不支持的情况下会使用http通信 。
关于绑定IP和端口需要注意的一点是,通过绑定IP,agent和collector必须配置对应ip才可以正常通信 。
Collector存储配置
在Application.yml中配置的storage模块配置中选择要使用的数据库类型,并填写相关的配置信息 。

文章插图
Collector Receiver
Receiver是Skywalking在6.x提出的新的概念,负责从被监控的系统中接受指标数据 。用户完全可以参照OpenTracing规范来上传自定义的监控数据 。Skywalking官方提供了service-mesh、istio、zipkin的相关能力 。

文章插图
现在Skywalking支持服务端采样,配置项为sampleRate,比例采样,如果配置为5000则采样率就是50% 。
关于采样设置的一点注意事项
关于服务采样配置的一点建议,如果Collector以集群方式部署,比如:Acollector和Bcollector,建议Acollector.sampleRate = Bcollector.sampleRate 。如果采样率设置不相同可能会出现数据丢失问题 。
推荐阅读
- 借力电商专业服务商 茶企转型进入快车道
- 吃西餐时,服务生拿来2杯柠檬水?记得不要乱喝,否则会闹出笑话
- 茶行业如何利用全流程服务体系实现品牌突围
- 微软|Windows 11安全新功能来了:密码安全性大大加强
- 信阳浉河区,农技推广 服务助推茶产业发展
- 微笑狗图片吓人原图 微笑狗原图恐怖
- Windows Server 2016如何搭建部署FTP服务器
- Nginx 为什么是高效服务器,架构设计是怎样的?
- ngrok服务器搭建 一分钟实现内网穿透
- 为什么微服务一定要有网关?
