apm工具-skywalking6.4(docker安装)

skywalking简介

SkyWalking:一个开放源码,从微服务和云本地基础设施可观测性平台,收集、分析、聚合和可视化数据。提供了一种简便的方法让你看清你的分布式系统,可以看清整个微服务的调用链路。它是一个现代,专门为云本机,容器和分布式系统提供监控的APM(应用性能管理(Application Performance Management))。
在这里插入图片描述

service map

面对以上图情况, 我们就需要一些可以帮助理解系统行为、用于分析性能问题的工具,以便发生故障的时候,能够快速定位和解决问题,这时候 APM(应用性能管理)工具就该闪亮登场了。

目前主要的一些 APM 工具有: Cat、Zipkin、Pinpoint、SkyWalking,这里主要介绍 SkyWalking ,它是一款优秀的国产 APM 工具,包括了分布式追踪、性能指标分析、应用和服务依赖分析等。

下面是 SkyWalking 6.x 的架构图:

在这里插入图片描述

官网简介(https://github.com/apache/skywalking)
服务介绍:

  • oas(Observability Analysis Platform):用于接收微服务代理上传的链路信息,并存储。
  • ui:用于展示链路信息。
  • 存储:用于保存链路数据,可以使用es或者mysql等存储。

skywalking服务器安装

docker-compose安装方式(https://github.com/apache/skywalking-docker/blob/master/6/6.4/compose/docker-compose.yml)

注意默认oap安装的时区是0时区,所以你在界面右下角选择应该也是零时区,否则差8个小时,可以将oap默认时区修改为东八区,界面也就默认东八区查询

version: '3.3'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:6.8.1
    container_name: elasticsearch
    restart: always
    ports:
      - 9200:9200
      - 9300:9300
    environment:
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
    ulimits:
      memlock:
        soft: -1
        hard: -1
  oap:
    image: apache/skywalking-oap-server:6.4.0
    container_name: oap
    depends_on:
      - elasticsearch
    links:
      - elasticsearch
    restart: always
    ports:
      - 11800:11800
      - 12800:12800
    environment:
      SW_STORAGE: elasticsearch
      SW_STORAGE_ES_CLUSTER_NODES: elasticsearch:9200
      TZ: Asia/Shanghai
  ui:
    image: apache/skywalking-ui:6.4.0
    container_name: ui
    depends_on:
      - oap
    links:
      - oap
    restart: always
    ports:
      - 8080:8080
    environment:
      SW_OAP_ADDRESS: oap:12800

执行命令:

[root@ip_192_168_1_134 cent]# docker-compose up -d
Starting elasticsearch ... done
Starting oap           ... done
Starting ui            ... done

查看所有服务:

[root@ip_192_168_1_134 cent]# docker ps
CONTAINER ID        IMAGE                                                 COMMAND                  CREATED             STATUS              PORTS                                                          NAMES
2e53a46e4b58        apache/skywalking-ui:6.4.0                            "bash docker-entrypo…"   17 minutes ago      Up 12 minutes       0.0.0.0:8080->8080/tcp                                         ui
b26d892b7a5e        apache/skywalking-oap-server:6.4.0                    "bash docker-entrypo…"   17 minutes ago      Up 10 minutes       0.0.0.0:11800->11800/tcp, 1234/tcp, 0.0.0.0:12800->12800/tcp   oap
ccdf1f078973        docker.elastic.co/elasticsearch/elasticsearch:6.8.1   "/usr/local/bin/dock…"   17 minutes ago      Up 12 minutes       0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp  

其中 8080端口是ui端口,浏览器访问:http://ip:8080

在这里插入图片描述

skywalking代理

可以理解每个微服务都是一个上传链路信息的埋点,需要在应用启动注入代理工具,对代码无侵入。
skywalking同时支持java,donetcore,支持跨语言调用链路等,这也是优于pinpoint的主要点。

java代理

java代理安装文档(https://github.com/apache/skywalking/blob/v6.4.0/docs/en/setup/service-agent/java-agent/README.md)

下载完整安装包
参考(https://github.com/apache/skywalking/blob/master/docs/en/setup/README.md)

下载Binary Distribution (Windows),目录结构:

其中agent目录用于设置java代理,目录结构:

在这里插入图片描述

springboot应用中启动方式:

java -Denv=uat  -Dskywalking.agent.service_name=ums -Dskywalking.collector.backend_service=192.168.1.134:11800 -Dskywalking.plugin.mysql.trace_sql_parameters=true -javaagent:F:/soft/apache-skywalking-apm-bin/agent/skywalking-agent.jar -jar ums-app-1.0.12-SNAPSHOT.jar
  • skywalking.collector.backend_service:表示oap收集器地址。
  • skywalking.agent.service_name:表示当前微服务名称
  • skywalking.plugin.mysql.trace_sql_parameters:表示是否抓取sql语句的参数,默认是false。
  • -javaagent:F:/soft/apache-skywalking-apm-bin/agent/skywalking-agent.jar:指定代理jar

-D配置项在 agent/config/agent.config配置也可,但是不够灵活。

忽略端点

某些端口比如consul,apollo,数据库的关闭动作等都不需要,
在这里插入图片描述

skywalking中可选插件中有apm-trace-ignore-plugin可以通过端点名称忽略日志
在这里插入图片描述

拷贝agent/optional-plugins/apm-trace-ignore-plugin-6.4.0.jar到plugins目录

agent/config目录新建apm-trace-ignore-plugin.config文件添加配置:

trace.ignore_path=/v1/agent/**,/v1/event/**,/v1/catalog/**,/v1/health/**,Mysql/JDBI/Statement/executeQuery,Mysql/JDBI/Connection/close

多个端点path使用,隔开。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值