跳到主要内容
版本:3.7.0

Server端日志接入

平台提供SmartAgent日志采集能力,能够覆盖Linux、Windows、ARM等主流主机设备,适配不同主机类型的日志采集诉求。

1758858422300

前置条件

若未安装 SmartAgent,则需要根据提示安装SmartAgent

开始使用

进入 日志配置->添加日志页面,切换到 Server端日志标签页。

当开启 “SmartAgent 采集日志” 开关后,SmartAgent具备自动发现日志的能力,未被发现的路径可通过 “自定义源路径” 添加,也可通过 “黑名单” 设置无需采集的路径。

在 “选择采集路径” 区域,勾选需要采集日志的主机路径,系统每60s自动更新路径,可设置采集策略(如 “勾选后采集”),还能选择查看方式(按主机、进程组或 Pod 查看),完成后平台将按按照主机或进程组等配置采集 Server 端日志。

查看方式

按照主机查看,展开可以看到进程组名称,进程组展开后看到日志路径列表。 按照主机查看

按照进程组查看,展开可以看到路径,路径展开可以看到主机。 按照进程组查看

按照Pod查看,展开看到k8s的路径信息,以及Pod所属的集群、命名空间的数据。 按照Pod查看

对于已禁用的日志类型或主机配置中被禁用的日志,其下已识别的路径或主机应置灰处理且不可勾选;未识别过的路径或主机则不显示。具体逻辑如下:

  1. 当某类日志监控关闭后,探针不再探测该类型的日志目录
  2. 对于此前探测到且已记录的目录,若其时效过期,则不再显示

自定义源路径(可选)

平台提供预置的日志监控类型与自定义日志源路径,支持启用禁用。启用后探针会识别对应的类型的日志目录。注意,平台并不会直接采集,只是会自动识别到这些类型的日志路径。对于自定义源路径支持搜索、删除、编辑。

自动发现的前提是日志文件满足以下的条件

  1. 日志文件必须是重要进程且可open的状态下才可被发现。
  2. 日志文件存在的时间至少长于1分钟。
  3. 日志必须具有支持的字符编码。默认情况下,支持的编码是UTF-8。其他支持的类型包括UTF-8 BOM,如果文件包含字节顺序标记(BOM),则为UTF-16LE和UTF-16BE。
  4. 日志文件的长度至少大于0.5KB。
  5. 日志文件在最近7天内由更新。
  6. 日志文件必须位于实际日志文件夹或其子文件夹中:
有效路径示例:
c:\log\log_file.txt
c:\logs\NewFolder\log_file.txt

无效路径示例:
c:\log\NewFolder\NewFolder\log_file.txt

或者日志文件名必须包含一个 log 字符串,其前面或后面必须有句点(.)或下划线(_)字符:

有效的文件名示例:
c:\NewFolder\abc.log
c:\NewFolder\0865842.log.txt

无效的文件名示例:(log前后均没看到_.)
c:\NewFolder\logfile.txt

customSrcPath

自定义日志源配置使您能够手动添加尚未自动检测到的日志源。

editCustomPath

源定义(自定义日志源配置,支持基于主机、环境全局配置)

  • 可在无进程组上下文时定义日志源(添加进程组为可选操作)。每个日志源最多可添加三个进程组;若无需进程组,需将其置于虚拟组:default process group name。若用户配置此情况,每台主机都会存在该虚拟组。
  • 能在一个进程组中添加多个路径规则。自定义路径必须为绝对路径,不支持相对路径。
  • 同一进程组内路径唯一,不同进程组间路径可重复,但同一进程组内路径不可重复。
  • 路径支持配置标签,该标签在平台定义中属于预置属性。
  • 可在目录中使用通配符。自定义日志源可包含通配符:# 用于替换数字字符,* 用于替换除斜杠(/)或反斜杠(\)外的任意字符组成的字符串。需注意,# 仅能在文件名中使用。

安全限制

  • 日志路径不在以下任何位置:/etc、/boot、/dev、/bin、/sbin、/usr。
  • 日志路径不能是/usr,/usr/local除外
  • 日志路径不包含.ssh
  • 日志路径没有.pem扩展名
  • 日志路径不在名称以 . 开头的目录中。(例如,/.hidden)
  • 文件名或路径满足以下其中一个要求:
    • 日志文件名必须具有由 .、- 或 _ 分隔的log扩展名(后面可以跟另一个具有相同分隔符集的扩展名)
    • 日志路径必须位于日志目录的第一级或第二级
    • 日志路径必须位于/var/log目录的任何级别
    • 日志路径必须具有文件名catalina.out

高级设置(可选)

该界面为日志采集与管理的高级配置模块,支持对以下核心参数进行精细化调控:

  • 数据上报策略 :可设置 SmartAgent 日志上报频率,以及日志文件大小的上报阈值,以平衡数据实时性与传输效率。
  • 文件检测规则 :定义可检测的最小文件大小阈值,确保符合规格的日志文件被有效识别。
  • 路径聚合机制 :针对路径中字符与数字字段,设置超过指定长度时的聚合处理规则,优化路径类数据的存储与检索效率。

所有配置项调整后,可通过 “保存” 操作使参数生效,实现对日志全生命周期(采集、传输、查询、存储)的精准管控。

image-20251212191150173

自定义时间格式&多行分割说明

通过自定义时间格式&多行分割规则,可以将多行日志分割成多条在日志查询中进行分析。

image-20251212192716021

  • 规则名称:必填,设置规则名称,不超过二十个字符。规则名称不允许重复

  • 生效范围:必填,可设置针对固定条件下的日志生效。多个条件之间可以选择与和或的关系

  • 时间格式:非必填,设置时间戳格式,至少需要指定月、日、小时、分钟、秒信息。详细说明可参考时间格式说明

  • 时区:原始日志产生的时区

  • 多行分隔符:非必填,通过字符串作为日志拆分的标志

  • 查找限制:设置时间信息和多行分隔符查找的范围,默认为64字节。设置为0时,表示纯文本日志,每行不以空格开头的行都被视为新日志记录的开头,并自动分配一个时间戳,即探针读取日志记录的时间。

  • 描述:按照规则配置内容自动生成描述

  • 保存校验逻辑

    • 除了必填项以外,时间格式和多行分割符至少要配置一种类型才可保存。
  • 每条日志匹配多个规则的生效逻辑:

    • 多行分隔符判断优先级高于时间戳。
    • 当日志条目包含一个或多个时间戳时,根据规则列表优先级评估时间戳,从列表中的第一个规则开始。如果条目的时间戳与其中一种规则匹配,探针将使用该时间戳作为日志条目的开头,不再匹配其他的条件。
    • 不满足自定义规则的日志全部按照默认规则进行拆分,默认规则只支持修改时区和查找限制配置。
    • image-20251212193953844
时间格式说明
  • 时间格式下拉框选项支持以下常用格式:
时间格式
%Y-%m-%d %H:%M:%S
%Y-%m-%d %H:%M:%S.%f
%d-%b-%y %H:%M:%S
%d %b %Y %H:%M:%S
%Y%m-%dT%H:%M:%S
%Y-%m-%dT%H:%M:%S
  • 除了提供的时间格式选项外,也可根据日志中的时间信息自定义时间格式,支持的时间相关格式包括以下内容:
时间格式说明示例
%b月份的缩写。Jan
%B月份的全称。January
%d每月第几天,十进制,范围为01~31。07, 31
%f秒的小数部分(毫秒、微秒或纳秒)123
%h月份的缩写,等同于**%b**。Jan
%H小时,24小时制。22
%I小时,12小时制。11
%m月份,十进制,范围为01~12。08
%M分钟,十进制,范围为00~59。59
%pAM或PM。AM、PM
%r12小时制的时间组合,等同于**%I:%M:%S %p**。11:59:59 AM
%R小时和分钟组合,等同于**%H:%M**。23:59
%S秒数,十进制,范围为00~59。59
%tTab符号,制表符。
%y年份,十进制,不带世纪,范围为00~99。04、98
%Y年份,十进制。2004、1998
%C世纪,十进制,范围为00~99。16
%e每月第几天,十进制,范围为1~31。如果是个位数字,前面需要加空格。7、31
%j一年中的天数,十进制,范围为001~366。365
%c标准的日期和时间。等同于%b %e %H:%M:%S %YNov 20 14:12:58 2020
%x标准的日期,不带时间。等同于%b %e %YNov 20 2020
%X标准的时间,不带日期。11:59:59
  • 时间格式需要满足以下校验条件:
  • 互斥规则
    • 同一时间类型格式符出现多次(如 %Y%Y 或 %S%S)认为不合法
    • 月份格式符互斥:%m、%b/%h、%B 只能出现其中一种
    • 日期格式符互斥:%d 和 %e 只能出现其中一种
    • 小时格式符互斥:%H 和 %I 只能出现其中一种
    • 年份互斥:(%y 和 %C 是否可以组合使用)
      • %Y 和 %C 同时出现认为不合法
      • %Y 和 %y 同时出现认为不合法
    • 中天数(%j)与月份、日期互斥:
      • %j 与 月份(%m/(%b/%h)/%B) 互斥
      • %j 与 日期(%d/%e) 互斥
  • 必须包含 "月份、日期、小时、分钟和秒"
    • 日期(月份、日期)。满足以下任一条件:
      • 条件A:包含月份(%m/(%b/%h)/%B) + 日期(%d/%e)
      • 条件B:包含年中天数(%j)
    • 时间(小时、分钟和秒)。
      • 必须包含:%H或%I(小时)
      • 必须包含:%M(分钟)
      • 必须包含:%S(秒)
  • 其他规则
    • 如果使用%I,必须同时有%p。如果使用%p,必须同时有%I。
    • % 属特殊字符
      • % 字符后面不跟格式符认为不合法
      • %% 认为不合法