• Springboot、Tomcat+skywalking 链路追踪、日志收集配置


    背景

    描述

    skywalking适合分布式项目,零侵入源码,集成链路追踪,

    实现过程主要是在项目启动时使用java代理,把项目集成到skywalking中。

    官网地址:Documentation | Apache SkyWalking

    下载地址(skywalking和agent代理两个包):Downloads | Apache SkyWalking 

    安装

    下载好skywalking安装包

    1. cd /home
    2. wget https://dlcdn.apache.org/skywalking/9.1.0/apache-skywalking-apm-9.1.0.tar.gz
    3. tar -xvf apache-skywalking-apm-9.1.0.tar.gz
    4. cd apache-skywalking-apm-bin

    直接启动,默认存储是h2

    ./bin/startup.sh

    使用elasticsearch存储需要修改conf下的application.yml文件,修改storage为elasticsearch

    安装es参考Filebeat+Redis+Logstash+Elasticsearch+Kibana搭建日志采集分析系统_殷长庆的博客-CSDN博客 

    1. storage:
    2. selector: ${SW_STORAGE:elasticsearch}

    配置 

    下载skywalking-agent

    1. cd /home
    2. wget https://dlcdn.apache.org/skywalking/java-agent/8.11.0/apache-skywalking-java-agent-8.11.0.tgz
    3. tar -xvf apache-skywalking-java-agent-8.11.0.tgz
    4. mv skywalking-agent skywalking

    java启动项目

    命令

    通过jar方式启动项目 

    java -javaagent:/home/skywalking/skywalking-agent.jar -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 -DSW_AGENT_NAMESPACE=test -DSW_AGENT_NAME=local::luck -jar /home/luck.jar

    说明 

    -javaagent:/home/skywalking/skywalking-agent.jar

    指定java-agent.jar的位置 ,下面的配置都可以在解压包conf目录下的agent.config配置文件中设置默认值,不过还是建议每个程序启动的时候自己指定配置值,避免冲突。

    -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800

    指定服务端地址 

    -DSW_AGENT_NAMESPACE=test

    指定命名空间名称 

    -DSW_AGENT_NAME=local::luck

    指定代理的项目名称,其中local是分组名称,然后中间有两个冒号,后面的luck表示项目名 

    -jar /home/luck.jar

    Tomcat启动项目

    catalina.sh配置

    在首行添加,和jar启动配置意义相同

    CATALINA_OPTS="$CATALINA_OPTS -javaagent:/home/skywalking/skywalking-agent.jar -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 -DSW_AGENT_NAMESPACE=test -DSW_AGENT_NAME=local::luck";

    catalina.bat配置

    在首行添加,和jar启动配置意义相同

    set CATALINA_OPTS=-javaagent:/home/skywalking/skywalking-agent.jar -DSW_AGENT_COLLECTOR_BACKEND_SERVICES=127.0.0.1:11800 -DSW_AGENT_NAMESPACE=test -DSW_AGENT_NAME=local::luck

    配置完成正常启动tomcat即可

    日志收集

    日志收集需要项目中引入skywalking的日志依赖

    官网文档Index of /docs/skywalking-java/v8.11.0/en/setup/service-agent/java-agent

    针对log4j、log4j2、logback三种需要引入不同的maven依赖

    以log4j2为例,在xml中配置,其中grpc-log会往skywalking服务端发送本项目日志

    1. <Configuration>
    2. <Appenders>
    3. <Console name="Console" target="SYSTEM_OUT">
    4. <PatternLayout pattern="%d [%traceId] %-5p %c{1}:%L - %m%n"/>
    5. Console>
    6. <Async name="Async">
    7. <AppenderRef ref="Console"/>
    8. Async>
    9. <GRPCLogClientAppender name="grpc-log">
    10. <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    11. GRPCLogClientAppender>
    12. Appenders>
    13. <Loggers>
    14. <Root level="INFO">
    15. <AppenderRef ref="Async"/>
    16. <AppenderRef ref="grpc-log"/>
    17. Root>
    18. Loggers>
    19. Configuration>

  • 相关阅读:
    2003-2022年飞机航线信息数据
    软件测试月薪10K如何涨到30K,只有自动化测试能做到
    机器学习笔记 - 时间序列的混合模型
    kubeadm安装kubernetes集群
    数据结构之排序
    132.(后端)订单管理Model与初始化数据——一对多关系的表模型建立与数据填充
    Polygon ID架构
    由浅到深认识C语言(13):共用体
    哈希表— —链式实现
    C# Windows多串口绑定
  • 原文地址:https://blog.csdn.net/anshichuxuezhe/article/details/126513270