SkyWalking部署


 

 

 

 

 

 

SkyWalking部署

 

 

 

 

 

 

 

 

 

作者

劉暢

時間

2021-07-12

 

 

 

 

環境: centos7.5

主機名

IP

安裝軟件

es01

192.168.30.47

elasticsearch 7.8.1

es02

192.168.30.48

elasticsearch 7.8.1

es03

192.168.30.49

elasticsearch 7.8.1

skywalking

192.168.30.51

skywalking 8.6.0jdk1.8.0_291

 

 

 

 

 

 

目錄

1 部署elasticsearch服務

2 部署SkyWalking

2.1 部署jdk1.8

2.2 下載SkyWaking

2.3 配置skywalking連接es7

2.4 啟動skywalking

2.5 訪問skywalking UI

3 部署skywalkingagent追蹤java應用

3.1 修改agent配置文件並將agent目錄打包

3.2 將打包的skywalking agent部署到jar應用上

4 訪問skywalkingUI

4.1 儀表板

4.2 拓撲圖

4.3 查看java應用的堆棧信息

 


1 部署elasticsearch服務

192.168.30.47-192.168.30.49節點上操作,並安裝elasticsearch-head,這里省略安裝步驟,詳細
安裝步驟可以參考: https://www.cnblogs.com/LiuChang-blog/p/14702941.html文檔。
elasticsearch集群名稱為: elk-cluster

# skywalking官網推薦將以下配置添加到elasticsearch.yml
thread_pool.write.queue_size: 1000
# Suitable for ElasticSearch 6 and 7

# 訪問elasticsearch集群
http://192.168.30.47:9100/
wps4EF0.tmp

2 部署SkyWalking

192.168.30.51節點上操作

官方文檔: https://skywalking.apache.org/docs/main/v8.6.0/readme/

wps4EF1.tmp 

2.1 部署jdk1.8

# tar -xzf jdk-8u291-linux-x64.tar.gz -C /home/
# cd /home/
# mv jdk-8u291-linux-x64/ jdk/

# vim /etc/profile
export JAVA_HOME=/home/jdk
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$JAVA_HOME/bin:$PATH

#
source /etc/profile

2.2 下載SkyWaking

https://www.apache.org/dyn/closer.cgi/skywalking/8.6.0/apache-skywalking-apm-es7-8.6.0.tar.gz
# tar -xzf apache-skywalking-apm-es7-8.6.0.tar.gz -C /home/
# cd /home/
# mv apache-skywalking-apm-es7-8.6.0/ skywalking-es7/

# ls -l /home/skywalking-es7/
wps4EF2.tmp

2.3 配置skywalking連接es7

# vim /home/skywalking-es7/config/application.yml
wps4EF3.tmp

可選優化:
(1) 修改skywalking日志存儲個數
#
vim /home/skywalking-es7/config/log4j2.xml
<DefaultRolloverStrategy max="30"/>
# 默認30個,單個日志大小102400KB
# 
建議值5

(2) 關於存儲清理的配置
# vim /home/skywalking-es7/config/application.yml
core:
recordDataTTL: ${SW_CORE_RECORD_DATA_TTL:3}
# Unit is day
# 記錄: 影響記錄數據,包括跟蹤和報警。
# 建議3
metricsDataTTL: ${SW_CORE_METRICS_DATA_TTL:7}
# Unit is day
# 指標: 影響所有指標,包括服務、實例、端點指標和拓撲圖指標。
# 
建議3

(3) 優化skywalking存儲elasticsearch配置
#
vim /home/skywalking-es7/config/application.yml
elasticsearch7:
indexShardsNumber: ${SW_STORAGE_ES_INDEX_SHARDS_NUMBER:1}
# Shard number of new indexes
# es存儲分片數,因為是3es節點,這里設置為3
indexReplicasNumber: ${SW_STORAGE_ES_INDEX_REPLICAS_NUMBER:1}
# Replicas number of new indexes
# es存儲分片副本數
# 建議1
bulkActions: ${SW_STORAGE_ES_BULK_ACTIONS:1000}
# Execute the async bulk record data every ${SW_STORAGE_ES_BULK_ACTIONS} requests
# 批量提交的大小,通過增加該值,減少skwalking服務端和es之間交互,增加吞吐量
# 建議4000
flushInterval: ${SW_STORAGE_ES_FLUSH_INTERVAL:10}
# flush the bulk every 10 seconds whatever the number of requests
# 每間隔多少秒提交請求,建議值30
concurrentRequests: ${SW_STORAGE_ES_CONCURRENT_REQUESTS:2}
# the number of concurrent requests
# 增加現有請求數,建議值4
metadataQueryMaxSize: ${SW_STORAGE_ES_QUERY_MAX_SIZE:5000}
# 查詢最大數量,建議值8
000

2.4 啟動skywalking

# /home/skywalking-es7/bin/startup.sh
# skywalking的日志文件在skywalking安裝目錄下的logs目錄下。

# netstat -tunlp | grep java
wps4F03.tmp
11800gRPC 服務agent連接端口
12800REST
服務agent連接端口

2.5 訪問skywalking UI

http://172.16.1.123:8080/

3 部署skywalkingagent追蹤java應用

3.1 修改agent配置文件並將agent目錄打包

# ls -l /home/skywalking-es7/agent/
wps4F04.tmp

# egrep -v "^$|^#" /home/skywalking-es7/
agent/config/agent.config
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
# agent注冊到skywalking的服務名,這里不配置,采用變量注入的方式進行覆蓋
agent.is_cache_enhanced_class = ${SW_AGENT_CACHE_CLASS:true}
agent.class_cache_mode = ${SW_AGENT_CLASS_CACHE_MODE:MEMORY}
# 上面兩行表示打開skywalking代理與其他Java代理字節碼進程的兼容性
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:192.168.30.51:11800}
# agent連接到skywalking的地址
logging.file_name=${SW_LOGGING_FILE_NAME:skywalking-api.log}
# agent默認日志文件存放在agent目錄下的logs目錄下
logging.level=${SW_LOGGING_LEVEL:INFO}
logging.dir=${SW_LOGGING_DIR:/home/liuchan/log/agent}
# 自定義日志家目錄,默認為空字符串(" ")
logging.max_history_files=${SW_LOGGING_MAX_HISTORY_FILES:5}
# agent歷史文件個數限制,默認為-1,表示不限制,為防止agent日志爆盤,這里修改為5
plugin.mount=${SW_MOUNT_FOLDERS:plugins,activations}
# 
agent插件掛載的目錄

# cd /home/skywalking-es7/
# tar -czf agent.tar.gz agent/

3.2 將打包的skywalking agent部署到jar應用上

1 部署agent

# tar -xzf agent.tar.gz -C /home/liuchan/
# mkdir -p /home/liuchan/log/agent/

 

2 修改docker-compose.yml文件[只修改以java進程啟動容器的部分]

# vim /home/liuchan/compose/docker-compose.yml
(1) 掛載agent卷到容器
volumes:
  - /home/liuchan/agent:/home/liuchan/agent

(2) 修改java命令,在 -jar 之前加入如下參數
command:
-javaagent:/home/liuchan/agent/skywalking-agent.jar -Dskywalking.agent.service_name=<分組名稱>::<容器名稱> -Dskywalking.agent.instance_name=<容器名稱>-${HOSTIP} -Dskywalking.logging.file_name=<容器名稱>-${HOSTIP}.log

 

3 重啟docker-compose

# docker-compose down
#
docker-compose up -d

4 訪問skywalkingUI

4.1 儀表板

http://192.168.30.51:8080/
wps4F05.tmp
儀表板提供服務、服務實例和端點的指標,我們需要了解一些指標術語。
吞吐量CPM # 每分鍾調用次數
Apdex # 應用程序性能指數,滿意”、“容忍”和“沮喪”分別對應10.50
響應時間百分比 # 包括p99p95p90p75p50
SLA # 代表成功率。對於HTTP,它表示200響應代碼的速率。
服務、實例和儀表板選擇器可以手動重新加載而不是重新加載整個頁面。

4.2 拓撲圖

http://192.168.30.51:8080/topology
wps4F06.tmp

4.3 查看java應用的堆棧信息

http://192.168.30.51:8080/
wps4F07.tmp


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM