Linux-Manual

SkyWalking 安装和配置

OpenAPM 相关

官网资料

支持收集的组件列表

基于 IntelliJ IDEA 直接运行、Debug

cd skywalking/

git submodule init

git submodule update

mvn clean package -DskipTests

因为需要设置 gRPC 的自动生成的代码目录,为源码目录,所以:
手工将下面提到的目录下的 grpc-java 和 java 目录设置为 IntelliJ IDEA 的源码目录(Sources Root)
/skywalking/apm-protocol/apm-network/target/generated-sources/protobuf
/skywalking/oap-server/server-core/target/generated-sources/protobuf
/skywalking/oap-server/server-receiver-plugin/receiver-proto/target/generated-sources/protobuf
/skywalking/oap-server/exporter/target/generated-sources/protobuf


手工将下面提到的目录下的 antlr4 目录设置为 IntelliJ IDEA 的源码目录(Sources Root)
/skywalking/oap-server/generate-tool-grammar/target/generated-sources

手工将下面提到的目录下的 oal 目录设置为 IntelliJ IDEA 的源码目录(Sources Root)
/skywalking/oap-server/generated-analysis/target/generated-sources

启动 Server 项目

启动 UI 项目

Java Agent(探针)

IntelliJ IDEA 项目调试

<!--SkyWalking start-->
<!-- https://mvnrepository.com/artifact/org.apache.skywalking/apm-toolkit-trace -->
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-trace</artifactId>
    <version>6.1.0</version>
</dependency>
<!--SkyWalking end-->
@Trace
@ApiOperation(tags = {"用户系统管理->用户管理->用户列表"}, value = "查询所有用户列表", notes = "查询所有用户列表")
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ResponseBody
public List<SysUser> list() {
    List<SysUser> sysUserList = sysUserService.findAll();
    ActiveSpan.tag("一共有数据:", sysUserList.size() + "条");
    log.info("当前 traceId={}", TraceContext.traceId());
    return sysUserList;
}

-javaagent:/你自己的路径/skywalking-agent.jar -Dskywalking.agent.application_code=my_app_001 -Dskywalking.collector.backend_service=localhost:11800

jar 包方式

java -javaagent:/你自己的路径/skywalking-agent.jar -Dskywalking.collector.backend_service=localhost:11800 -Dskywalking.agent.application_code=my_app_002 -jar my-project-1.0-SNAPSHOT.jar

Docker 方式

FROM openjdk:8-jre-alpine

LABEL maintainer="tanjian20150101@gmail.com"

ENV SW_AGENT_NAMESPACE=java-agent-demo \
	SW_AGENT_COLLECTOR_BACKEND_SERVICES=localhost:11800

COPY skywalking-agent /apache-skywalking-apm-bin/agent

COPY target/sky-demo-1.0-SNAPSHOT.jar /demo.jar

ENTRYPOINT java -javaagent:/apache-skywalking-apm-bin/agent/skywalking-agent.jar -jar /demo.jar
docker build -t hello-demo .
docker run -p 10101:10101 -e SW_AGENT_NAMESPACE=hello-world-demo-005 -e SW_AGENT_COLLECTOR_BACKEND_SERVICES=127.10.0.2:11800 hello-demo

构建 jar 部署在服务器

cd skywalking/

git submodule init

git submodule update

mvn clean package -DskipTests

告警配置

资料