Apache Skywalking简介
Skywalking是一个可观测性分析平台(Observability Analysis Platform简称OAP)和应用性能管理系统(Application Performance Management简称APM)。提供分布式链路追踪、服务网格(Service Mesh)遥测分析、度量(Metric)聚合和可视化一体化解决方案。下面是Skywalking的几大特点:
多语言自动探针,Java,.NET Core和Node.JS。
多种监控手段,语言探针和service mesh。
轻量高效。不需要额外搭建大数据平台。
模块化架构。UI、存储、集群管理多种机制可选。
支持告警。
优秀的可视化效果。
Skywalking整体架构如下:
skywalaking总体架构分为三部分
skywalking-collector:链路数据归集器,数据可以落地ElasticSearch,单机也可以落地H2,不推荐,H2仅作为临时演示用
skywalking-web:web可视化平台,用来展示落地的数据
skywalking-agent:探针,用来收集和发送数据到归集器
Apache Skywalking(Incubator)共提供两种部署模式:单节点模式和集群模式,以下为单节点模式部署步骤。
依赖第三方组件
JDK8+
Mysql5.6 (不推荐)
ElasticSearch: 6.x.
环境配置
skywalking-collector服务:192.168.1.100
skywalking-web服务:192.168.1.101
ES集群:192.168.1.102
安装ES
Linux无坑安装Elasticsearch
配置 Skywalking Collector服务
cd /usr/lib/skywalking/wget https://mirrors.bfsu.edu.cn/apache/skywalking/8.1.0/apache-skywalking-apm-8.1.0.tar.gztar zxvf apache-skywalking-apm-8.1.0.tar.gzmv apache-skywalking-apm-bin skywalking-apcd skywalking-ap
配置ES 存储监控数据(推荐)
vi config/application.yml
storage: selector: ${SW_STORAGE:h2} elasticsearch: nameSpace: ${SW_NAMESPACE:""} # 主要配置es节点地址 clusterNodes: 113.143.100.157:9200
启动collector服务
#初始化./bin/oapServiceInit.sh #启动collector服务./bin/oapService.sh
配置 Skywalking Web服务
修改配置
vi webapp/webapp.yml
server: port: 18188collector: path: /graphql ribbon: ReadTimeout: 10000 # Point to all backend's restHost:restPort, split by # 配置collector地址,默认d的rest端口12800 listOfServers: 127.0.0.1:12800
2、启动web服务
./bin/webappService.sh
访问http://113.143.100.157:18188/来查看 SkyWalking UI
探针配置(agent)
被监控端下载skywalking
探针的配置 修改agent.config配置如下:
vi agent/config/agent.config-------------------------------------------------------------agent.service_name=Your_ApplicationName #改为你的项目名字collector.backend_service=127.0.0.1:11800 #collector的端口服务地址;logging.level=info
启动Agent
基于JAR file的服务(SpringBoot)
在启动你的应用程序的命令行中添加 -javaagent 参数. 并确保在-jar参数之前添加它. 例如:
java -javaagent:/usr/lib/skywalking/skywalking-apm/agent/skywalking-agent.jar -jar test-0.0.1-SNAPSHOT.jar
监控图: