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的路径。

猜你喜欢

转载自blog.csdn.net/ywtech/article/details/129560270