[转帖]配置logback上报日志到Skywalking

配置,logback,上报,日志,skywalking · 浏览次数 : 0

小编点评

**配置logback上报日志到Skywalking配置logback上报日志到skywalking需要引入toolkit依赖项,并根据环境配置的具体值进行调整。** **1. 配置logback日志** 配置logback日志,需要创建一个名为`skywalking-log`的appender,并将其配置为GRPC日志记录器。 ```yaml # 配置logback日志 &appender name="skywalking-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender"> &encoder& &layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout" &pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} -%msg%n" &encoder& &root level="INFO" &appender-ref ref="skywalking-log" &appender-ref ref="file" ``` **2. 配置agent/config/agent.config配置文件** 如果使用kubernetes配置的skywalking-agent插件,需要配置agent/config/agent.config配置文件,内容如下: ``` # 指定要向其报告日志数据的GRPC服务器主机plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:10.10.10.1} # 指定要向其报告日志数据的GRPC服务器端口plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800} # 指定GRPC客户端要报告的日志数据的最大大小 # 以及客户端向上游发送数据时将超时多长时间 apiVersion: apps/v1kind: Deploymentmetadata: labels: type: service language: java k8s-app: test name: test namespace: myappspec: progressDeadlineSeconds: 600 replicas: 2 revisionHistoryLimit: 10 selector: matchLabels: k8s-app: test strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate template: spec: containers: image: xxx.mycompany.com/test:1.0.0 - env: - name: JAVA_TOOL_OPTIONS value: -javaagent:/skywalking/agent/skywalking-agent.jar - name: LD_LIBRARY_PATH value: $LD_LIBRARY_PATH:/skywalking/agent/activations/ ``` **3. 启动skywalking-agent插件** 启动skywalking-agent插件,并按照提示进行配置。 **4. 验证日志记录** 验证日志记录是否以预期的方式在Skywalking中看到。

正文

https://zhuanlan.zhihu.com/p/506119895

 

配置logback上报日志到Skywalking

配置logback上报日志到skywalking需要引入toolkit依赖项,如在maven中添加:

    <dependency>
         <groupId>org.apache.skywalking</groupId>
         <artifactId>apm-toolkit-logback-1.x</artifactId>
         <version>{skywalking.version}</version>
     </dependency>

gradle中添加:

dependencies {
    implementation "org.apache.skywalking:apm-toolkit-logback-1.x:${skywalkingVersion}"
}

如果是通过容器加载的skywalking-agent插件,由于其自带了这些jar包,可以参考后面的kubernetes配置。

配置logback日志:

    <appender name="skywalking-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
        <encoder>            
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} -%msg%n</Pattern>
            </layout>
        </encoder>
    </appender>    
<root level="INFO">
        <appender-ref ref="skywalking-log"/>
        <appender-ref ref="file" />
</root>

如果agentoap不在同一服务器上时,需要配置agent/config/agent.config配置文件,内容如下:

# 指定要向其报告日志数据的GRPC服务器主机
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:10.10.10.1}
# 指定要向其报告日志数据的GRPC服务器端口
plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800}
# 指定GRPC客户端要报告的日志数据的最大大小
plugin.toolkit.log.grpc.reporter.max_message_size=${SW_GRPC_LOG_MAX_MESSAGE_SIZE:10485760}
# 客户端向上游发送数据时将超时多长时间,单位是秒
plugin.toolkit.log.grpc.reporter.upstream_timeout=${SW_GRPC_LOG_GRPC_UPSTREAM_TIMEOUT:30}

如果是通过kubernetes配置的,追加环境变量LD_LIBRARY_PATH可实现动态加载(此处省略了配置SW_相关的环境变量):

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    type: service
    language: java
    k8s-app: test
  name: test
  namespace: myapp
spec:
  progressDeadlineSeconds: 600
  replicas: 2
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: test
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 0
    type: RollingUpdate
  template:
    spec:
      containers:
        image: xxx.mycompany.com/test:1.0.0
      - env:
        - name: JAVA_TOOL_OPTIONS
          value: -javaagent:/skywalking/agent/skywalking-agent.jar
        - name: LD_LIBRARY_PATH
          value: $LD_LIBRARY_PATH:/skywalking/agent/activations/
        imagePullPolicy: Always
        name: test
        resources:
          limits:
            cpu: 2000m
            memory: 2Gi
          requests:
            cpu: 250m
            memory: 512Mi
        livenessProbe:
          failureThreshold: 3
          initialDelaySeconds: 60
          periodSeconds: 10
          successThreshold: 1
          tcpSocket:
            port: 80
          timeoutSeconds: 1
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /heartbeat
            port: 80
            scheme: HTTP
          initialDelaySeconds: 60
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      terminationGracePeriodSeconds: 30

与[转帖]配置logback上报日志到Skywalking相似的内容:

[转帖]配置logback上报日志到Skywalking

https://zhuanlan.zhihu.com/p/506119895 配置logback上报日志到Skywalking 配置logback上报日志到skywalking需要引入toolkit依赖项,如在maven中添加: org.apache.sk

[转帖]配置logback上报日志到Skywalking

https://zhuanlan.zhihu.com/p/506119895 配置logback上报日志到Skywalking 配置logback上报日志到skywalking需要引入toolkit依赖项,如在maven中添加: org.apache.sk

[转帖]微服务集成skywalking实现全链路日志追踪方案

目录 1、安装部署skywalking 1.1 环境准备 1.2 部署步骤 2、微服务整合skywalking实现链路监控 2.1 下载skywalking官方版本 2.2 将微服务引入skywalking监控 2.3 以上配置完成后启动服务即可实现链路监控 3、通过logback+ELFK实现全链

[转帖]配置中心预研

https://www.cnblogs.com/zisefeizhu/p/13261243.html 概述 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址…… 对程序配置的期望值也越来越高:配置修改后实时生效,分环境、分集群管理配置,代码安全、审核机制…… 在这

[转帖]配置Jmeter压测结果在Grafana展示

https://cloud.tencent.com/developer/article/1782473?areaSource=&traceId= 最近正在研究Jenkins的CICD,其中有个环节就是stress test 压力测试。 原打算使用 taurus 来做压测的,但是遇到了些问题,时间有限

[转帖]配置大页内存实施方案

https://tool.4xseo.com/article/35670.html 如果系统性能稳定无异常,则不需要大的页面内存。HugePages_Free等于HugePages _ Total ... 展开 一、概述HugePages是通过使用大页内存来取代传统的4kb内存页面,使得管理虚拟地址

[转帖]配置ftp连接对象存储bucket子目录的方法

https://developer.jdcloud.com/article/1838 配置ftp连接对象存储bucket子目录的方法 京东云技术交付部 2021-01-27 IP归属:未知 44160浏览 收藏 云主机 云计算 公有云

[转帖]Redission 配置方法

Redission 配置方法 1. 程序化配置方法2. 文件方式配置2.1 通过YAML格式配置 3. 常用设置codec(编码)threads(线程池数量)nettyThreads (Netty线程池数量)executor(线程池)eventLoopGrouptransportMode(传输模式)

[转帖]redis配置注意事项(适合于较大配置)

https://tool.4xseo.com/article/102125.html 实际中最好让redis主节点仅使用50-60%的内存,剩余的用于执行bgsave和创建写命令的缓冲区,保证最大可 ... 展开 根据官方的建议,redis-server的相关配置建议如下,但是有些并不合适,LZ会进

[转帖]Redis配置项汇总(超级详细)

http://c.biancheng.net/redis/config-summary.html 本节对 Redis 的常用配置项和基本命令做简单的总结,您可以把本篇文章看做简版的速查手册。不过,需要注意的是由于 Redis 不同版本的差异,配置项会多少存在一些不同,但总体的来说,大同小异。 基本配