目录
一、服务端
1、下载
或者选更多版本
下载后解压。
此处以8.5.0版本为例
apache-skywalking-apm-es7-8.5.0.tar.gz
2、修改配置
1、端口
解压后再 webapp下可修改webapp.xml中的端口号
server:
port: 8868
如上则启动后访问127.0.0.1:8868即可进入skywalking控制台
2、配置
config下application.yml可修改
storage:
selector: ${SW_STORAGE:mysql}
修改后同时修改mysql相关配置,启动后数据可持久化。
修改后启动缺少驱动,需要下载驱动插件,mysql-connector-java-8.0.25.jar
放入oap-libs文件夹下
3、启动说明
bin目录下有startup.bat,可以在windows启动,linux下执行startup.sh
二、接入微服务
1、启动参数
-javaagent:F:\learning\apache-skywalking-apm-bin-es7\agent\skywalking-agent.jar
-DSW_AGENT_NAME=api-gateway
-DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800
需要在jar包启动时配置相应参数
2、项目增加节点
1、引入依赖
<dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-trace</artifactId> <version>8.5.0</version> </dependency>
2、增加注解
在实现类的方法上添加注解 @Trace
还可以同时加注解,可管理平台看到返回值
@Tags({@Tag(key="create",value = "returnedObj"), @Tag(key = "param",value = "arg[0]")}) public Order create(Order order) { // 插入订单 orderMapper.insert(order); // 扣减库存 stockService.reduct(order.getProductId()); // int a=1/0; return order; }
3、整合gateway
需要把agent/optional-plugins下的
apm-spring-cloud-gateway-2.1.x-plugin-8.5.0.jar
复制到plugins
这样gateway服务才能在skywalking管理平台看到
三、性能剖析
在性能剖析,先建任务,选择服务和端点名称及其他配置
四、日志
1、引入依赖
<dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-logback-1.x</artifactId> <version>8.5.0</version> </dependency>
2、配置logback-spring.xml
src\main\resources\logback-spring.xml,
其中console是打印在代码控制台的,
grpc-log是上报给skywalking的。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
</layout>
</encoder>
</appender>
<appender name="grpc-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
</layout>
</encoder>
</appender>
<root level="INFO">
<appender-ref ref="console"/>
<appender-ref ref="grpc-log"/>
</root>
</configuration>
3、管理台效果
五、告警
1、告警规则配置
修改config文件夹下的alar-setting.yml可以修改告警默认配置
2、告警钩子函数
config文件夹下的alar-setting.yml最后的webhook可以配置接口,当告警后会调用此接口。
skywalking内置了一些接口,如微信,钉钉,飞书的。详见如下链接
https://github.com/apache/skywalking/blob/v8.5.0/docs/en/setup/backend/backend-alarm.md#webhook