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

背景信息

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

https://www.apache.org/dyn/closer.cgi/skywalking/java-agent/8.14.0/apache-skywalking-java-agent-8.14.0.tgz

用SkyWalking为Java应用自动埋点
打开config/agent.config,配置接入点和令牌。

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

collector.backend_service=

采用以下方法之一配置应用名称(Service Name)。

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

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

agent.service_name=

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

java -javaagent: -Dskywalking.agent.service_name= -jar yourApp.jar
根据应用的运行环境,选择相应的方法来指定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、付费专栏及课程。

余额充值