阿里云SLS采集jvm日志

2023-12-13 05:51:27

一、背景

java应用部署在阿里云的k8s容器里,采集其日志的需求则是一个不可缺少的。而不同公司的jvm日志会存在很大的差异,所以本文仅以我的实际情况作一个示例,仅供有需要采集jvm日志的同学们一个参考。

我们打印的Jvm日志格式见下,如果你和我这的不一样,还请自己稍作修改。

2023-12-08 17:55:40.252  INFO [xxx-service,0000000000087a470000018c48dab44c,26914efbf65c43bb,true] 8 --- [nio-9041-exec-6] c.x.s.c.application.ClassroomAppService  : 课堂更新任务数量等信息, request={"classroomId":"32SY0C79"}

二、deployment.yaml的环境变量

	containers:
        - env:
            - name: aliyun_logs_xxx-service
              value: stdout

三、Logtail配置

在这里插入图片描述
在这里插入图片描述
接下来是重点,设置日志的处理:
提取字段(正则模式)
在这里插入图片描述
这里再重申一下,采集模式选择多行模式,行首正则为日期,比如2023-12-09

\d{4}-\d{2}-\d{2}

跟前文写的kong日志采集类似,主要是填写正则表达式。

(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{3}) *([^ ]+) \[([^\[]*),([^,]*),([^,]*),([^,]*)\] ([^ ]+) --- (.*)

在这里插入图片描述

四、验证

按上述配置,最后sls解析的日志见下:

{
“content”:“2023-12-08 17:55:40.252 INFO [xxx-service,0000000000087a470000018c48dab44c,26914efbf65c43bb,true] 8 — [nio-9041-exec-6] c.x.s.c.application.ClassroomAppService : 课堂更新任务数量等信息, request={“classroomId”:“32SY0C79”}”,
“time”:“2023-12-08 17:55:40.252”,
“level”:“INFO”,
“App_Name”:“xxx-service”,
“X_B3_TraceId”:“0000000000087a470000018c48dab44c”,
“X_B3_SpanId”:“26914efbf65c43bb”,
“X_Span_Export”:“true”,
“Pid”:“8”,
“message”:“[nio-9041-exec-6] c.x.s.c.application.ClassroomAppService : 课堂更新任务数量等信息, request={“classroomId”:“32SY0C79”}”
}

  • content字段是原始日志
  • 不必要的字段被我忽略,真正的比这多,但都没啥用。

文章来源:https://blog.csdn.net/zhuganlai168/article/details/134900550
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。