SkyWalking是一款广受欢迎的国产APM-02

SkyWalking是一款应用性能监控工具,专注于微服务和容器化环境。要集成SkyWalking,需安装OAPUI服务,包括Elasticsearch、Kibana和SkyWalking-OAP。自动埋点支持多种Java框架。配置agent.config文件和应用启动参数可实现应用接入。

背景信息

SkyWalking是一款广受欢迎的国产APM(Application Performance Monitoring,应用性能监控)产品,主要针对微服务、Cloud Native和容器化(Docker、Kubernetes、Mesos)架构的应用。SkyWalking的核心是一个分布式追踪系统。

要通过SkyWalking将Java应用数据上报至链路追踪控制台,首先需要完成埋点工作。SkyWalking既支持自动探针(Dubbo、gRPC、JDBC、OkHttp、Spring、Tomcat、Struts、Jedis等),也支持手动埋点(OpenTracing)。本文介绍自动埋点方法。

通过SkyWalking上报数据的原理

安装 skywalking oap  ui 服务

docker-compose.yml


version: '3'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.14.2
    container_name: elasticsearch
    ports:
      - 9200:9200
      - 9300:9300
    environment:
      - "cluster.name=elasticsearch"
      - "bootstrap.memory_lock=true"
      - "ES_JAVA_OPTS=-Xms256m -Xmx512m"
      - "discovery.type=single-node"
 
  kibana:
    image: docker.elastic.co/kibana/kibana:7.14.2
    container_name: kibana
    depends_on:
      - elasticsearch
    ports:
      - 5601:5601
    environment:
      - "elasticsearch.hosts=http://192.168.0.74:9200" 

  skywalking-oap:
    image: apache/skywalking-oap-server:9.1.0
    container_name: skywalking-oap
    depends_on:
      - elasticsearch
    ports:
      - "11800:11800"
      - "12800:12800"
    healthcheck:
      test: [ "CMD-SHELL", "/skywalking/bin/swctl ch" ]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 10s
    environment:
      TZ: Asia/Shanghai
      SW_STORAGE: elasticsearch
      SW_STORAGE_ES_CLUSTER_NODES: 192.168.0.74:9200
      SW_HEALTH_CHECKER: default
      SW_TELEMETRY: prometheus

  skywalking-ui:
    image: apache/skywalking-ui:9.1.0
    container_name: skywalking-ui
    depends_on:
      - skywalking-oap
    links:
      - skywalking-oap
    ports:
      - "8980:8080"
    environment:
      TZ: Asia/Shanghai
      SW_OAP_ADDRESS: http://192.168.0.74:12800

docker-compose up -d

示例Demo

示例代码仓库地址:SkyWalking Demo

Apache Downloads

用SkyWalking为Java应用自动埋点

  1. 打开config/agent.config,配置接入点和令牌。

    说明 请将<endpoint><auth-token>分别替换成控制台集群配置 > 接入点信息页面上SkyWalking客户端在相应地域的接入点和鉴权令牌。关于获取方法,请参见前提条件。

    collector.backend_service=<endpoint>
    
  2. 采用以下方法之一配置应用名称(Service Name)。

    重要 请将<ServiceName>替换为您的应用名称。如果同时采用以下两种方法,则仅第二种方法(在启动命令行中添加参数)生效。

    • 打开config/agent.config,配置应用名称。

      agent.service_name=<ServiceName>
    • 在应用程序的启动命令行中添加-Dskywalking.agent.service_name参数。

      java -javaagent:<skywalking-agent-path> -Dskywalking.agent.service_name=<ServiceName> -jar yourApp.jar
  3. 根据应用的运行环境,选择相应的方法来指定SkyWalking Agent的路径。

Apache SkyWalking 是一个开源的可观测性平台,用于收集、分析、聚合和可视化来自不同来源的数据,帮助用户监控和排查分布式系统的性能问题。apache-skywalking-apm-bin 是 Apache SkyWalking 的二进制发行包,包含了 SkyWalking 服务端的相关组件。 ### 相关软件版本 进行 SkyWalking 入门搭建时,可使用的相关软件版本为 apache-skywalking-apm-10.0.0、apache-skywalking-java-agent-9.2.0、nacos-2.3.0、MySQL-5.8、SpringBoot 2.7.17、JDK 11 [^1]。 ### 下载方式 以 apache-skywalking-apm-es7-7.0.0 版本为例,可使用以下命令进行下载和解压: ```bash wget https://mirror.bit.edu.cn/apache/skywalking/7.0.0/apache-skywalking-apm-es7-7.0.0.tar.gz tar -zxvf apache-skywalking-apm-es7-7.0.0.tar.gz mv apache-skywalking-apm-bin-es7/ skywalking ``` 上述命令通过 `wget` 下载指定版本的 SkyWalking 二进制包,使用 `tar` 命令解压,最后将解压后的文件夹重命名为 `skywalking` [^2]。 ### 使用指南 #### 配置 web 启动端口 以 apache-skywalking-apm-es7-7.0.0 为例,可通过编辑配置文件修改 web 启动端口: ```bash vi ./webapp/webapp.yml ``` 在配置文件中修改端口,例如将默认的 8080 端口修改为 9090: ```yaml server: port: 9090 ``` 修改完成后保存退出即可 [^2]。 #### 添加 ignore 插件 复制插件到指定目录,并查看是否复制成功: ```bash cp agent/optional-plugins/apm-trace-ignore-*.jar agent/plugins ll agent/plugins/*igno* ``` 之后还需要添加配置文件进行相关配置(引用未详细说明配置内容) [^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值