Skywalking之五整合

2020-03-12  本文已影响0人  Java及SpringBoot

个人专题目录


Skywalking项目集成

相关Maven依赖引入

<skywalking.version>6.6.0</skywalking.version>
<dependency>
   <groupId>org.apache.skywalking</groupId>
   <artifactId>apm-toolkit-trace</artifactId>
   <version>${skywalking.version}</version>
</dependency>
<dependency>
   <groupId>org.apache.skywalking</groupId>
   <artifactId>apm-toolkit-log4j-2.x</artifactId>
   <version>${skywalking.version}</version>
</dependency>

traceId 集成到日志组件Log4j2,traceId 打印到每条日志里

核心配置:

<Property name="CONSOLE_LOG_PATTERN">%clr{%d{yyyy-MM-dd HH:mm:ss.SSS}}{faint} %clr{[%traceId]} %clr{${LOG_LEVEL_PATTERN}} %clr{${sys:PID}}{magenta} %clr{---}{faint} %clr{[%t]}{faint} %clr{%-40.40c{1.}:%L}{cyan} %clr{:}{faint} %X %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>

<Property name="FILE_LOG_PATTERN">%d{yyyy-MM-dd HH:mm:ss.SSS} [%traceId] ${LOG_LEVEL_PATTERN} ${sys:PID} --- [%t] %-40.40c{1.}:%L : %X %m%n${sys:LOG_EXCEPTION_CONVERSION_WORD}</Property>

@Trace 注解想要追踪的任何方法

跨线程追踪

@TraceCrossThread
    public static class MyCallable<String> implements Callable<String> {
        @Override
        public String call() throws Exception {
            return null;
        }
    }
...
    ExecutorService executorService = Executors.newFixedThreadPool(1);
    executorService.submit(new MyCallable());
ExecutorService executorService = Executors.newFixedThreadPool(1);
    executorService.submit(CallableWrapper.of(new Callable<String>() {
        @Override public String call() throws Exception {
            return null;
        }
    }));
ExecutorService executorService = Executors.newFixedThreadPool(1);
    executorService.execute(RunnableWrapper.of(new Runnable() {
        @Override public void run() {
            //your code
        }
    }));

部署脚本(部分核心内容)

SW_AGENT_NAME=test-xxx
SW_AGENT_COLLECTOR_BACKEND_SERVICES=xx.xxx.xxx.xxx:11800
SW_LOGGING_LEVEL=debug
SW_LOGGING_DIR=${APP_LOG_PATH}
SW_LOGGING_MAX_FILE_SIZE=`expr 1024 \* 1024 \* 1024`
echo "SW_LOGGING_MAX_FILE_SIZE : ${SW_LOGGING_MAX_FILE_SIZE}"
SW_LOGGING_MAX_HISTORY_FILES=180
SW_MYSQL_TRACE_SQL_PARAMETERS=true
SW_SPRING_MVC_USE_QUALIFIED_NAME_AS_ENDPOINT_NAME=true
nohup java -javaagent:/data/apps/java/agent/skywalking-agent.jar=agent.service_name=${SW_AGENT_NAME},logging.level=${SW_LOGGING_LEVEL},logging.dir=${SW_LOGGING_DIR},logging.max_history_files=${SW_LOGGING_MAX_HISTORY_FILES},collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES},plugin.mysql.trace_sql_parameters=${SW_MYSQL_TRACE_SQL_PARAMETERS},plugin.springmvc.use_qualified_name_as_endpoint_name=${SW_SPRING_MVC_USE_QUALIFIED_NAME_AS_ENDPOINT_NAME} -jar -Denv=DEV ${APP_PATH}/${APP_NAME} --spring.profiles.active=test --server.port=${APP_PORT} --logging.path=${APP_LOG_PATH} > /dev/null 2>&1 &
上一篇 下一篇

猜你喜欢

热点阅读