微服務監控平臺SkyWalking部署實施方案

簡單說明:

  • SkyWalking是一個專門爲微服務設計的適用於分佈式系統和私有云以及容器化環境中收集、分析、聚合和數據可視化的開源監視平臺
  • 官方文檔:https://github.com/apache/skywalking/tree/v6.4.0/docs
  • 官方文檔概念和設計部分:https://github.com/apache/skywalking/blob/v6.4.0/docs/en/concepts-and-designs/README.md
  • 官方文檔安裝部署部分:https://github.com/apache/skywalking/blob/v6.4.0/docs/en/setup/README.md
  • 官方下載頁面:http://skywalking.apache.org/downloads/

部署安裝 elasticsearch 數據存儲:

  • 如果以elasticsearch做爲數據存儲,官方要求在6.3.2以上,且在7.0.0以下: https://github.com/apache/skywalking/blob/v6.4.0/docs/en/setup/backend/backend-storage.md
  • 使用 elasticsearch 作爲數據存儲,部署單點即可,存儲的數據是監控和分析的結果,不具有長期保存的價值
  • 官方文檔中也沒有找到使用elasticsearch集羣的配置樣例,如果要使用集羣,建議用nginx做負載代理
  • 無需部署index的清理策略,配置文件中recordDataTTL、otherMetricsDataTTL和monthMetricsDataTTL已經設置了數據留存的時間
  • 依據《生產JAVA日誌的ELK歸集方案(一)》部署即可,部署head插件,無需部署index清理腳本

Skywalking 部署安裝:

  • 依據《CentOS7實驗機模板搭建部署》克隆部署一臺虛擬機 192.168.77.111:
# 主機配置
HOSTNAME=sw
hostnamectl set-hostname "$HOSTNAME"
echo "$HOSTNAME">/etc/hostname
echo "$(grep -E '127|::1' /etc/hosts)">/etc/hosts
echo "$(ip a|grep "inet "|grep -v 127|awk -F'[ /]' '{print $6}') $HOSTNAME">>/etc/hosts

# 部署安裝
cd /tmp
yum -y install java-1.8.0-openjdk
wget http://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/6.4.0/apache-skywalking-apm-6.4.0.tar.gz
cd /usr/local
tar -xf /tmp/apache-skywalking-apm-6.4.0.tar.gz
cd apache-skywalking-apm-bin/config/
# 配置 application.yml
# 註釋掉storage標籤的h2標籤(93到97行)
# 打開elasticsearch標籤(73到92行),並配置74和75行爲創建的elasticsearch
cat application.yml |awk '{if(NR>=72 && NR<=97) print $0}'
sed -i '73,92 s/^#\(.*\)/\1/g' application.yml
sed -i '93,97 s/^.*$/#######&/g' application.yml
sed -i 's/SW_NAMESPACE:""/SW_NAMESPACE:"vincent-es"/g' application.yml
sed -i 's/localhost:9200/192.168.77.100:9200/g' application.yml
cat application.yml |awk '{if(NR>=72 && NR<=97) print $0}'

# 啓動測試
echo '/usr/local/apache-skywalking-apm-bin/bin/startup.sh'>>/etc/rc.local
cd /usr/local/apache-skywalking-apm-bin/bin
# 開機啓動有問題,一直是OutOfMemoryError導致啓動失敗,但是內存足夠,手動啓動沒問題
./startup.sh
# 瀏覽器訪問 http://192.168.77.111:8080 驗證部署成功

在這裏插入圖片描述


在任意主機上部署tomcat進行測試:

cd /tmp
yum -y install java-1.8.0-openjdk
wget http://mirrors.tuna.tsinghua.edu.cn/apache/skywalking/6.4.0/apache-skywalking-apm-6.4.0.tar.gz
mkdir /web
cd /web
tar -xf /tmp/apache-skywalking-apm-6.4.0.tar.gz
cd /web/apache-skywalking-apm-bin/agent/config/
# 設置當前項目在sw中的顯示名和對應的sw服務器地址
AppName=vincent_test
SWser=192.168.77.101:11800
sed -i "s/Your_ApplicationName/$AppName/g" agent.config 
sed -i "s/127.0.0.1:11800/$SWser/g" agent.config

cd /web
tar -xf /tmp/apache-tomcat-8.5.34.tar.gz
cd apache-tomcat-8.5.34/conf
sed -i 's/8080/8090/g' server.xml
cd ../bin
sed -i 's|^# OS specific support.*$|&\nexport CATALINA_OPTS|g' catalina.sh
sed -i 's|^# OS specific support.*$|&\nCATALINA_OPTS="$CATALINA_OPTS -javaagent:/web/apache-skywalking-apm-bin/agent/skywalking-agent.jar"|g' catalina.sh
./startup.sh

for i in $(seq 100000);do curl 127.0.0.1:8090 &>/dev/null;sleep 0.5;done &
# 網頁查看,查看監控狀態

在這裏插入圖片描述

[TOC]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章