Centos6搭建SkyWalking 做分布式跟踪

Apache Skywalking(Incubator)简介

当企业应用进入分布式微服务时代,应用服务依赖会越来越多,skywalking可以很好的解决服务调用链路追踪的问题,而且基于java探针技术,基本对应用零侵入零耦合。

Apache Skywalking(Incubator) 专门为微服务架构和云原生架构系统而设计并且支持分布式链路追踪的APM系统,即应用性能监控系统,为微服务架构和云原生架构系统设计。它通过探针自动收集所需的指标,并进行分布式追踪。通过这些调用链路以及指标,Skywalking APM会感知应用间关系和服务间关系,并进行相应的指标统计。目前支持链路追踪和监控应用组件如下,基本涵盖主流框架和容器,如国产PRC Dubbo和motan等,国际化的spring boot,spring cloud都支持了。Apache Skywalking (Incubating)目前支持多种语言,其中包括Java,.Net Core,Node.js和Go语言。

> skywalaking总体架构分为三部分

  • skywalking-collector:链路数据归集器,数据可以落地ElasticSearch,单机也可以落地H2,不推荐,H2仅作为临时演示用
  • skywalking-web:web可视化平台,用来展示落地的数据
  • skywalking-agent:探针,用来收集和发送数据到归集器

Apache Skywalking(Incubator)共提供两种部署模式:单节点模式和集群模式,以下为单节点模式部署步骤。

> 依赖第三方组件

  • JDK8+
  • Mysql5.6 (不推荐)
  • ElasticSearch: 6.x

> 环境配置

  • skywalking-collector服务:192.168.1.100
  • skywalking-web服务:192.168.1.101
  • ES集群:192.168.1.102

安装ES集群(推荐)

安装详情,见https://blog.51cto.com/qiangsh/2115248

安装Mysql数据库(不推荐)

wget http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
sudo yum -y localinstall mysql-community-release-el6-*.noarch.rpm 
yum install mysql-server mysql-client libmysqlclient-dev

/etc/init.d/mysqld start
mysql_secure_installation    #MySQL安全配置向导
  Enter current password for root (enter for none):  
dataSource.cachePrepStmts=true
dataSource.prepStmtCacheSize=250
dataSource.prepStmtCacheSqlLimit=2048
dataSource.useServerPrepStmts=true
dataSource.useLocalSessionState=true
dataSource.rewriteBatchedStatements=true
dataSource.cacheResultSetMetadata=true
dataSource.cacheServerConfiguration=true
dataSource.elideSetAutoCommits=true
dataSource.maintainTimeStats=false

2、下载mysql驱动包到 oap-libs 目录下 下载地址:http://central.maven.org/maven2/mysql/mysql-connector-java/

cd /opt/skywalking/oap-libs/
wget http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar

3、进入mysql 创建swtest 数据库

[root@skywalking ]# mysql -uroot -p<your_pass>
mysql&gt; CREATE DATABASE swtest;
Query OK, 1 row affected (0.00 sec)

启动collector服务

#初始化
cd /opt/skywalking/bin/
./oapServiceInit.sh

#启动collector服务
./oapService.sh

配置 Skywalking Web服务 1、修改配置

cd /opt/skywalking/webapp
# 修改webapp.yml 文件配置如下:
server:
  port: 8080
collector:
  path: /graphql
  ribbon:
    ReadTimeout: 10000
    # Point to all backend's restHost:restPort, split by ,
    listOfServers: 127.0.0.1:12800
security:
  user:
    # username
    admin:
      # password
      password:  <your_pass>    #此处修改你的网站管理员密码

2、启动web服务

cd /opt/skywalking/bin
./webappService.sh

> 启动bin目录下的startup.sh可以将collector和Web模块一起启动起来。

如果一切顺利,这时候就可以通过 http://192.168.1.100:8080 来查看 SkyWalking UI 了,默认账号/密码:admin/admin。

探针配置(agent)

1、被监控端下载skywalking

wget http://mirrors.hust.edu.cn/apache/incubator/skywalking/6.0.0-GA/apache-skywalking-apm-incubating-6.0.0-GA.tar.gz
tar zxvf apache-skywalking-apm-incubating-6.0.0-GA.tar.gz
mv apache-skywalking-apm-incubating /opt/skywalking

2、探针的配置 修改agent.config配置如下:

vim /opt/skywalking/agent/config/agent.config
-------------------------------------------------------------
agent.service_name=Your_ApplicationName  #改为你的项目名字
collector.backend_service=192.168.1.100:11800   #collector的端口服务地址;
logging.level=info

3、启动Agent

  • 基于Tomcat的服务(SpringMvc) 在tomcat的bin目录下的catalina.sh中增加如下命令行

    CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/skywalking/agent/skywalking-agent.jar"
    export CATALINA_OPTS
  • 基于JAR file的服务(SpringBoot) 在启动你的应用程序的命令行中添加 -javaagent 参数. 并确保在-jar参数之前添加它. 例如: java -javaagent:/opt/skywalking/agent/skywalking-agent.jar -jar yourApp.jar

然后重启服务,就可以看到页面上有数据了;如果发生了其他错误,请查看日志进行详细排查;collector的日志和Web的日志都是在SkyWalking根目录的log目录之中(会在collector启动之后创建);Agent的目录是在agent目录之下。</your_pass

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值