# :-: **skywalking**
:-:
## **skywalking 链路追踪介绍**
`SkyWalking`是一个可观测性分析平台(Observability Analysis Platform 简称OAP)和应用性能管理系统(Application Performance Management 简称 APM)。
提供分布式链路追踪,服务网格(Service Mesh)遥测分析,度量(Metric)聚合和可视化一体化解决方案。
SkyWalking 特点
* 多语言自动探针,java,.Net Code ,Node.Js
* 多监控手段,语言探针和Service Mesh
* 轻量高效,不需要额外搭建大数据平台
* 模块化架构,UI ,存储《集群管理多种机制可选
* 支持警告
* 优秀的可视化效果。
![](https://img.kancloud.cn/23/4b/234b3f9e2fbe2ce3cbf76759af224889_2362x1068.png)
:-:
:-:
二、安装
```
以下仅是基本的安装方法
```
**步骤一,下载SkyWalking**:[http://skywalking.apache.org/downloads/](https://links.jianshu.com/go?to=http%3A%2F%2Fskywalking.apache.org%2Fdownloads%2F)解压缩后得到主目录如下
![](https://img.kancloud.cn/41/62/41620bcdea90865aa6017d1a6afe8392_638x320.png)
**步骤二,启动Collector**:定义:收集来自各项目上传的监控数据,并保存至h2或Elasticsearch部署:单独部署节点启动方法:进入/bin目录,windows运行startup.bat即可启动服务([Linux则启动startup.sh](http://xn--Linuxstartup-6x5ts6dt6j.sh)),这个时候实际上是启动了两个项目,一个收集器,一个web页面。然后在浏览器输入地址:localhost:8080,即可打开web监控页面:
![](https://img.kancloud.cn/76/42/7642f067de1928d06f86c86fd005bd84_1281x380.png)
*****
*****
| 参数 | 描述 |
| --- | --- |
| javaagent | 配置skywalking-agent.jar的地址 |
| service\_name | 配置需要监控的服务名 |
| javaagent | skywalking收集器服务的地址 |
*****
**步骤三,安装Agent**:定义:获取当前项目的接口请求、jvm等信息,并将这些信息上传给Collector部署:跟随项目一起启动方法:复制或移动/agent目录到你所在的项目节点(如果只是本地测试就无所谓了),找到该目录下的skywalking-agent.jar文件,不要单独移动此文件,因为它与同目录下的其他配置文件有关联。使用java命令启动打包好的springboot项目jar包,例如:
```
java -javaagent:/usr/hj/apps/agent/skywalking-agent.jar -Dskywalking.agent.service_name=Trade -Dskywalking.collector.backend_service=服务器地址:11800 -jar hmall-service-trade/hmall-service-trade.jar --spring.profiles.active=test
```
### **服务器地址:是**skywalking-server的服务器地址
注意指定的是skywalking-agent.jar的绝对路径)接下来,访问my-project工程的某一个接口,就能在刚才打开的skywalking服务端看到你的项目访问跟踪信息了。
**步骤四,完善Agent**:你会发现,你在skywalking的Web监控页面看到的项目名称并非你原有的项目名称,而是一个默认的—— Your\_ApplicationName。这是因为你还没有配置。打开/agent/config/agent.config文件,找到agent.service\_name一项,将Your\_ApplicationName变成你想要的项目名称、可能你还有一个疑问:我同一个服务器要部署多个项目,如果都使用同一个agent.config ,那么Collector就无法区分哪些监控信息对应哪个项目,那么在Web监控页面就只会显示同一个项目名称?此时,你可以在启动各个项目时覆盖原有配置,有两种方法:一种是另外创建一份agent.config并重命名(一个项目对应一个agent.config),另一种是在启动项目时仅指定特定参数。
```
覆盖文件:java -javaagent:/home/data/apache-skywalking-apm-incubating/agent/skywalking-agent.jar -Dskywalking_config=/home/data/apache-skywalking-apm-incubating/agent/config/agent-copy.config -jar my-project.jar
覆盖参数:参考官方文档。由于覆盖文件方式更容易处理,因此没有采取该种方式
```
```
指定特定参数
java -javaagent:D:\project\hjmall\ext\agent\skywalking-agent.jar
-Dskywalking.agent.service_name=hjmall-account
-Dskywalking.collector.backend_service=skywalking-server的服务器地址:11800
-jar hjmall_product.jar
```
## **idea开发环境:设置如下**
![](https://img.kancloud.cn/c2/a8/c2a89171ecfc08f7f9e08c972b8da03a_817x307.png)
**步骤五,替换Collector的存储方案**:服务端默认采用in-memory方式存储信息,意味着你重启服务端后原有的信息就会丢失,你可以在Collector端的config/application.yml中将存储方式替换为Elasticsearch。[接下来修改Elasticsearch的cluster.name](http://xn--Elasticsearchcluster-vk45av2ztk8id6hd7nb09g.name),随后在/agent/cofig/agent.config中找到agent.application\_code一项,修改值与你的cluster.name一致,如果没有则增加。记住,对应着每个项目的agent.config文件都要进行相应修改。
- 项目介绍
- 项目声明
- 项目简介
- 架构设计
- 项目亮点功能介绍
- 技术栈介绍
- 核心功能
- 运行环境
- 项目更新日志
- 文档更新日志
- F&Q
- 部署教程
- 环境准备
- JDK安装
- JDK1.8,17共存
- maven
- 分布式缓存Redis
- 单机版
- 集群
- 注册&配置中心alibaba/nacos
- 介绍
- Nacos安装
- Nacos配置中心
- Nacos注册发现
- Nacos生产部署方案
- 服务监控-BootAdmin
- 基本介绍
- 如何使用
- 整合Admin-Ui
- 客户端配置
- 链路追踪
- 基本介绍
- SkyWalking-1
- Skywalking-1
- 消息队列
- Kafka
- docker安装kafka
- Linux集群
- Maven私服
- nexus安装部署
- nexus使用介绍
- 全文搜索elasticsearch
- windows集群搭建
- docker安装es
- ElasticHD
- linux集群部署
- 统一日志解决方案
- 日志解决方案设计
- 介绍与相关资料
- ELK安装部署
- elasticsearch 7.5
- logstash-7.5
- kibana-7.5
- filebeat
- 服务监控-Prometheus
- Prometheus安装配置
- Prometheus介绍
- grafana
- 持续集成部署CICD
- 自动化部署Jenkins
- 安装部署win
- 打包发布远程执行
- 安装部署linux
- jenkins+gitlab+docker容器化工程自动化部署
- Git
- CICD说明
- 阿里云效
- CentOS_MYSQL安装
- docker
- 安装
- Docker安装Nginx
- Docker部署启动springboot
- dockerCompose
- harbor
- Docker私有镜像仓库
- Portainer
- Docker远程连接设置
- 打包工程
- 必要启动模块
- 核心模块
- 登录认证
- 缓存功能
- 日志模块
- 分布式锁
- 消息队列
- 异常处理
- 系统接口
- 参数验证
- es检索
- 数据导出
- 系统设计
- 系统总体架构
- 扩展模块(可选)
- 限流熔断alibaba/sentinel
- 使用Sentinel实现gateway网关及服务接口限流
- Sentinel使用Nacos存储规则及同步
- 服务调用Feign
- Feign基本介绍
- 如何使用
- 负载均衡
- 请求超时
- 请求拦截器
- 分布式任务调度
- XXL-JOB
- 分布式事务
- TX-LCN
- Seata
- Seata原理解析
- 数据库分库分表
- swagger文档
- 分布式ID生成器解决方案
- 服务网关CloudGateway
- 基本介绍
- 使用网关
- 路由配置
- 全局过滤器
- 服务认证授权架构设计
- 认证服务流程
- 授权服务流程
- 系统幂等性设计与实践
- 分布式日志链路跟踪
- 实时搜索系统设计
- 应用性能
- 压力测试工具
- Apache JMeter介绍和安装
- ApacheJMeter使用
- JVM
- JVM性能调优
- 常见JVM内存错误及解决方案
- JVM 分析工具详解
- Spring Cloud性能调优
- Linux运维
- Linux 常用命令
- Linux开启端口