最新公告
  • 欢迎您光临都潮汇,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • CentOS 6搭建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:探针,用来收集和发送数据到归集器

    CentOS 6搭建SkyWalking 做分布式跟踪

    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集群(推荐)

    安装详情,见 http://www.info110.com/Linux/2019-08/159732.htm

    安装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):  <–初次运行直接回车    Set root password? [Y/n]   <– 是否设置root用户密码,输入y并回车或直接回车    Remove anonymous users? [Y/n]   <– 是否删除匿名用户,生产环境建议删除,所以直接回车    Disallow root login remotely? [Y/n]  <–是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止    Remove test database and access to it? [Y/n]   <– 是否删除test数据库,直接回车    Reload privilege tables now? [Y/n]   <– 是否重新加载权限表,直接回车

    //修改配置文件

    cat /etc/my.cnf  ---------------------------------------------------------------------------------  [mysqld]  port=3319  datadir=/var/lib/mysql  socket=/var/lib/mysql/mysql.sock  pid-file=/var/run/mysqld/mysqld.pid    innodb_large_prefix=on  innodb_file_format=Barracuda    # time zone  default-time-zone=system  character-set-server=utf8  default-storage-engine=InnoDB    skip-name-resolve  skip-symbolic-links  skip-external-locking  skip-slave-start    # res settings  back_log=128  max_connections=100  max_connect_errors=2000  #open_files_limit=10240    connect-timeout=10  wait-timeout=28800  interactive-timeout=28800  innodb_thread_concurrency=0 #不限制并发    # slow query log  slow_query_log=1  long-query-time=3 #慢查询时间  slow_query_log_file=/data/logs/mysql/slow.log    log-warnings=1  log-error=/data/logs/mysql/mysql.err  log_output=FILE    general_log=1  general_log_file=/data/logs/mysql/mysql.log  max_binlog_size=1G  max_relay_log_size=1G    innodb_additional_mem_pool_size=16M  innodb_buffer_pool_instance=2  innodb_buffer_pool_size=256M  innodb_file_io_threads=4  innodb_flush_log_at_trx_commit=2  innodb_log_buffer_size=5M  innodb_log_file_size=100M    innodb_log_files_in_group=2  innodb_log_group_home_dir=/data/mysql/var/  innodb_old_blocks_pct=20  innodb_buffer_pool_dump_at_shutdown=1  innodb_buffer_pool_dump_now=1  innodb_buffer_pool_load_at_startup=1  innodb_buffer_pool_load_now=1  innodb_buffer_pool_filename=ib_buffer_pool    innodb_max_dirty_pages_pct=90  innodb_lock_wait_timeout=50    symbolic-links=0  sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES    [mysqld_safe]  log-error=/var/log/mysqld.log  pid-file=/var/run/mysqld/mysqld.pid    [mysql]  disable-auto-rehash  default-character-set=utf8  connect-timeout=3

    //创建配置目录

    mkdir -p /data/logs/mysql  mkdir -p /data/mysql/var  chown -R mysql:mysql /data/mysql/var  chown -R mysql:mysql /data/logs/mysql

    //重启mysql

    /etc/init.d/mysqld restart

    配置 Skywalking Collector服务

    cd /data/packages/  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  ll /opt/skywalking

    CentOS 6搭建SkyWalking 做分布式跟踪

    配置ES 存储监控数据(推荐)
    将储存方式由 h2 修改为 elasticsearch:

    storage:  # h2:  #   driver: org.h2.jdbcx.JdbcDataSource  #   url: jdbc:h2:mem:skywalking-oap-db  #   user: sa    elasticsearch:      clusterName: elk-cluster      clusterNodes: 192.168.1.102:9200      indexShardsNumber: 2      indexReplicasNumber: 0      # Batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html      bulkActions: 2000 # Execute the bulk every 2000 requests      bulkSize: 20 # flush the bulk every 20mb      flushInterval: 10 # flush the bulk every 10 seconds whatever the number of requests      concurrentRequests: 2 # the number of concurrent requests

    其中主要修改 clusterName 和 clusterNodes 和 已启动的 elasticsearch 配置一致。

    配置Mysql 存储监控数据(不推荐)
    1、将储存方式由 h2 修改为 mysql:

    cd /opt/skywalking  #修改 config/application.yml (# 修改storage部分,注释掉h2,打开mysql,其他保持不动):    core:    default:      restHost: 127.0.0.1      restPort: 12800      restContextPath: /      gRPCHost: 127.0.0.1      gRPCPort: 11800  storage:  #  h2:  #    driver: ${SW_STORAGE_H2_DRIVER:org.h2.jdbcx.JdbcDataSource}  #    url: ${SW_STORAGE_H2_URL:jdbc:h2:mem:skywalking-oap-db}  #    user: ${SW_STORAGE_H2_USER:sa}  ....................此处省略N行..........................................  # 设置mysql 存储监控数据    mysql:         #取消此行注释
    #配置datasource, 修改 config/datasource-settings.properties 配置如下:    jdbcUrl=jdbc:mysql://localhost:3319/swtest  dataSource.user=root  dataSource.password=<your_pass>  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> 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目录之下。

    本网站所有源码和软件均为作者提供和网友推荐收集整理而来!
    本站提供的所有模块、软件等资源,均不提供任何技术服务,请悉知!
    如您需要商用,请支持正版,本站提供的程序仅供学习和研究使用!
    资源每天实时更新,如遇压缩包解压密码,一律为:www.dch888.cn
    如有侵犯你版权的,请来信(邮箱:i@dch888.cn)指出,本站将立即改正。
    都潮汇 » CentOS 6搭建SkyWalking 做分布式跟踪

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    都潮汇
    互联网精品资源网站源码分享平台
    升级SVIP尊享更多特权立即升级