文档章节

微服务spring-cloud 链路追踪skywalking6.x引入

 盼望明天
发布于 07/02 18:32
字数 593
阅读 714
收藏 0

一、准备工作

环境:

1.jdk1.8,高于不支持

2.elasticsearch6.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

修改以下内容

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    #推荐本机IP,

http.port: 9200

启动es

二、安装skywalking服务端

1.官网下载: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端口由默认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

4.启动

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

./startup.sh

将启动两个服务:收集器11800端口和监控ui界面13800端口

访问:http://192.168.60.235:13800/

说明服务端已经启动成功;

三、客户端引入:

192.168.60.235:11800属于收集器

本地服务器,只要对应上"skywalking-agent.jar"

其他服务只要将agent目录复制过去,然后启动对应该服务接口,即能进行监控;

相应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 $?

 

 

© 著作权归作者所有

粉丝 7
博文 103
码字总数 174582
作品 0
广州
私信 提问
Spring Cloud(十二):分布式链路跟踪 Sleuth 与 Zipkin【Finchley 版】

随着业务发展,系统拆分导致系统调用链路愈发复杂一个前端请求可能最终需要调用很多次后端服务才能完成,当整个请求变慢或不可用时,我们是无法得知该请求是由某个或某些后端服务引起的,这时...

吴伟祥
03/21
81
0
Spring Cloud Sleuth进阶实战

版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:http://blog.csdn.net/forezp。 https://blog.csdn.net/forezp/article/details/76795269 转载请标明出处...

方志朋
2017/08/06
0
0
Spring Cloud 入门教程:聊聊Spring Cloud

一、 Spring Cloud 是什么? Spring Cloud 是将分布式系统中一系列基础框架/工具进行整合的框架。其中包含:服务注册与发现、服务网关、熔断器、配置中心、消息中心、服务链路追踪等等。 Sp...

吴伟祥
2018/12/03
582
0
spring cloud 入门系列:总结

从我第一次接触Spring Cloud到现在已经有3个多月了,当时是在博客园里面注册了账号,并且看到很多文章都在谈论微服务,因此我就去了解了下,最终决定开始学习Spring Cloud。我在一款阅读App...

JAVA开发老菜鸟
2018/07/20
0
0
spring cloud 分布式链路追踪

一篇讲了微服务之间的调用 spring cloud eureka 微服务之间的调用 微服务之间进行调用 那么如果我负责一个模块 别人负责另一个模块 我调用了他的方法 测试那边却报了错 那是我的问题还是他的...

洛阳融科王珂
2018/07/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nginx 快速安装详解

一、Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамбле...

网络小虾米
4分钟前
2
0
技术分享 | slave_relay_log_info 表认知的一些展开

作者:胡呈清 slave_relay_log_info 表是这样的: mysql> select * from mysql.slave_relay_log_info\G *************************** 1. row *************************** Number_of_lin......

爱可生
6分钟前
1
0
nginx配置http访问自动跳转到https

server {listen 80;server_name www.域名.com;rewrite ^(.*) https://$server_name$1 permanent;}server {listen 443;server_name www.域名.com;root /home/www;ssl on;......

很好亦平凡ms
6分钟前
1
0
SpreadJS:一款中国研发的类Excel开发工具,功能涵盖Excel的 95% 以上

Excel 作为一款深受用户喜爱的电子表格工具,借助其直观的界面、出色的计算性能、数据分析和图表,已经成为数据统计领域不可或缺的软件之一。 基于Excel对数据处理与分析的卓越表现,把Excel...

葡萄城技术团队
6分钟前
1
0
用javafx框架tornadofx做了个天气预报的程序

class WeatherApp : App(WeatherView::class)class WeatherView : View("十五天天气预报") { val weatherVM: WeatherViewModel by inject() val controller: WeatherController by......

oschina4cyy
10分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部