# :-: **skywalking**
:-:
## **skywalking 鏈路追蹤介紹**
`SkyWalking`是一個可觀測性分析平臺(Observability Analysis Platform 簡稱OAP)和應用性能管理系統(Application Performance Management 簡稱 APM)。
提供分布式鏈路追蹤,服務網格(Service Mesh)遙測分析,度量(Metric)聚合和可視化一體化解決方案。
SkyWalking 特點
* 多語言自動探針,java,.Net Code ,Node.Js
* 多監控手段,語言探針和Service Mesh
* 輕量高效,不需要額外搭建大數據平臺
* 模塊化架構,UI ,存儲《集群管理多種機制可選
* 支持警告
* 優秀的可視化效果。

:-:
:-:
二、安裝
```
以下僅是基本的安裝方法
```
**步驟一,下載SkyWalking**:[http://skywalking.apache.org/downloads/](https://links.jianshu.com/go?to=http%3A%2F%2Fskywalking.apache.org%2Fdownloads%2F)解壓縮后得到主目錄如下

**步驟二,啟動Collector**:定義:收集來自各項目上傳的監控數據,并保存至h2或Elasticsearch部署:單獨部署節點啟動方法:進入/bin目錄,windows運行startup.bat即可啟動服務([Linux則啟動startup.sh](http://xn--Linuxstartup-6x5ts6dt6j.sh)),這個時候實際上是啟動了兩個項目,一個收集器,一個web頁面。然后在瀏覽器輸入地址:localhost:8080,即可打開web監控頁面:

*****
*****
| 參數 | 描述 |
| --- | --- |
| 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開發環境:設置如下**

**步驟五,替換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開啟端口