前面的几篇文章咱们聊了基于Metrics的监控Prometheus,利用Prometheus和Grafana能够全方位监控你的服务器及应用的性能指标,在出现异常时利用Alertmanager告警及时通知运维处理。今天咱们聊聊基于Trace的分布式跟踪系统 - SkyWalkingjava
随着微服务架构的流行,一些微服务架构下的问题也会愈来愈突出,好比一个请求会涉及多个服务,而服务自己可能也会依赖其余服务,整个请求路径就构成了一个网状的调用链,而在整个调用链中一旦某个节点发生异常,整个调用链的稳定性就会受到影响,若是没有及时处理颇有可能会形成整个系统崩溃。 面对以上状况,咱们就须要一些能够帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,可以快速定位和解决问题。web
SkyWalking 逻辑上分为四部分: 探针, 平台后端, 存储和用户界面。apache
探针 主要负责从客户端收集数据,将数据转换成SkyWalking适用的格式,探针对客户端程序没有任何代码侵入,使用起来简单方便,使用以下命令便可完成对应用的监控 java -javaagent:/path/skywalking-agent.jar -jar youApp.jar
后端
平台后端(OAP Server) 主要用于数据聚合, 数据分析以及驱动数据流从探针到用户界面的流程。经过 gRPC/Http 收集客户端Agent的采集信息 ,Http默认端口 12800,gRPC默认端口 11800。服务器
存储 SkyWalking支持不少存储:H2(用做演示环境)、MySQL(当数据量大时检索性能降低很厉害)、ES(主流生产级别的存储)架构
用户界面 炫酷的界面,调用请求监控一目了然。app
直接从官网下载最新的安装包,并上传到服务器解压。解压后的文件以下: 运维
(须要提早准备好JAVA(1.8)和ES(6.x)的环境。)webapp
关注一下几个重要的目录:elasticsearch
application.yml
,修改storage
相关配置。关闭H2,打开ES,而后启动 ./bin/startup.sh
storage: elasticsearch: nameSpace: ${SW_NAMESPACE:"elk-online"} clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:192.168.136.129:9200} protocol: ${SW_STORAGE_ES_HTTP_PROTOCOL:"http"}
agent 配置 将agent
文件夹从服务器上拷贝出来,放在客户端服务器。打开agent\config\agent.config
做以下修改
agent.service_name
修改为你应用名称:blogcollector.backend_service
修改为OAP Server地址:192.168.136.129:11800
IDEA配置(可选)
配置完成后启动你的客户端应用。
环境搭建好了,下一步就是全面监控你的应用了,我们下期有缘再见。
三维一体立体化监控
请关注我的公众号:JAVA日知录