溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微服務(wù)spring-cloud 鏈路追蹤skywalking6.x引入的示例分析

發(fā)布時間:2021-10-19 18:23:41 來源:億速云 閱讀:193 作者:柒染 欄目:大數(shù)據(jù)

微服務(wù)spring-cloud 鏈路追蹤skywalking6.x引入的示例分析,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

一、準(zhǔn)備工作

環(huán)境:

1.jdk1.8,高于不支持

2.elasticsearch7.5.4搜索引擎:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz

解壓:tar -zxvf elasticsearch-6.5.4.tar.gz

配置:

vim elasticsearch-6.5.4/config/elasticsearch.yml

修改以下內(nèi)容

cluster.name: myskywalking

path.data: /opt/data/es/data

path.logs: /opt/data/es/logs

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

network.host: 127.0.0.1    #推薦本機(jī)IP,

http.port: 9200

啟動es

二、安裝skywalking服務(wù)端

1.官網(wǎng)下載:http://skywalking.apache.org/

#wget http://mirror.bit.edu.cn/apache/skywalking/6.1.0/apache-skywalking-apm-6.1.0.tar.gz 

#解壓:tar -zxvf apache-skywalking-apm-6.1.0.tar.gz 

2.修改webapp端口由默認(rèn)8080,改成13800:

cd /home/wshop/skywalking/apache-skywalking-apm-bin/webapp

vi webapp.yml

server:
  port: 13800

3.修改es配置

cd /home/wshop/skywalking/apache-skywalking-apm-bin/config

vi application.yml

微服務(wù)spring-cloud 鏈路追蹤skywalking6.x引入的示例分析

4.啟動

cd /home/wshop/skywalking/apache-skywalking-apm-bin/bin

./startup.sh

將啟動兩個服務(wù):收集器11800端口和監(jiān)控ui界面13800端口

訪問:http://192.168.60.235:13800/

微服務(wù)spring-cloud 鏈路追蹤skywalking6.x引入的示例分析

說明服務(wù)端已經(jīng)啟動成功;

三、客戶端引入:

192.168.60.235:11800屬于收集器

本地服務(wù)器,只要對應(yīng)上"skywalking-agent.jar"

其他服務(wù)只要將agent目錄復(fù)制過去,然后啟動對應(yīng)該服務(wù)接口,即能進(jìn)行監(jiān)控;

微服務(wù)spring-cloud 鏈路追蹤skywalking6.x引入的示例分析

相應(yīng)jar工程,在啟動腳本前增加“ -javaagent:/home/wshop/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar -Dskywalking.agent.service_name=${APPNAME} -Dskywalking.collector.backend_service=192.168.60.235:11800”  即可。

完整客戶端run腳本

#!/bin/bash
#########################################################################
# File Name: run.sh
# Function:
# Author: Mason
# Version: V1.0
# Created Time: 28/1/2019 11:41:48
#########################################################################

# chkconfig: - 98 33
# description: Starts and stops the java project daemon \
#              used to provide some java jar packet services.

source /etc/profile

# base env parameters setting
BASEDIR=$(dirname $(readlink -f $0))
APPNAME=user-manager
VERSION=1.0.0
PORT=8710

JAVAOPT="-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M"


# define some functions
get_pid(){
        PID=$(ps -ef|grep ${APPNAME} |grep "java" |grep -v grep |awk '{print $2}')
}

start(){
        if [ -z ${PID} ];then
                nohup java ${JAVAOPT} -Dlogging.config=${BASEDIR}/logback-spring.xml -D$APPNAME -javaagent:/home/wshop/skywalking/apache-skywalking-apm-bin/agent/skywalking-agent.jar -Dskywalking.agent.service_name=${APPNAME} -Dskywalking.collector.backend_service=192.168.60.235:11800  -jar ${BASEDIR}/${APPNAME}-${VERSION}.jar --spring.config.location=${BASEDIR}/application.yml,/home/wshop/service/config/bootstrap.yml &>/dev/null &

                inter=1
                time=10
                i=0
                while ((i < time));do
                        get_pid
                        #if [ $(netstat -lntup|grep -c $PID) -le 1 ];then
                    if((i>(time-2)));then
                if [ ${PID} ];then
                    echo "${APPNAME} started OK."
                    break
                else
                    sleep ${inter}
                    let i++
                fi
            else
                sleep ${inter}
                let i++
            fi
                done
                if ((i == time));then
                        echo "${APPNAME} started FAIL in $((inter*time)) second!"
                        exit 1
                fi
        else
                echo "${APPNAME} is still running with pid ${PID}!"
                exit 1
        fi
}

stop(){
        if [ ! -z ${PID} ];then
                kill -9 ${PID} && echo "${APPNAME} was killed."
        else
                echo "${APPNAME} is not running!"
                exit 0
        fi
}

restart(){
        stop
        start
}

status(){
        if [ ! -z ${PID} ];then
                echo "${APPNAME} is running with pid ${PID}"
        else
                echo "${APPNAME} is not running."
        fi
}

# the main program started
get_pid
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  status)
        status
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|status}"
        exit 2
esac
exit $?

看完上述內(nèi)容,你們掌握微服務(wù)spring-cloud 鏈路追蹤skywalking6.x引入的示例分析的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI