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

前置条件
若未安装 SmartAgent,则需要根据提示安装SmartAgent。
开始使用
进入 日志配置->添加日志页面,切换到 Server端日志标签页。
当开启 “SmartAgent 采集日志” 开关后,SmartAgent具备自动发现日志的能力,未被发现的路径可通过 “自定义源路径” 添加,也可通过 “黑名单” 设置无需采集的路径。
在 “选择采集路径” 区域,勾选需要采集日志的主机路径,系统每60s自动更新路径,可设置采集策略(如 “勾选后采集”),还能选择查看方式(按主机、进程组或 Pod 查看),完成后平台将按按照主机或进程组等配置采集 Server 端日志。
查看方式
按照主机查看,展开可以看到进程组名称,进程组展开后看到日志路径列表。

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

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

对于已禁用的日志类型或主机配置中被禁用的日志,其下已识别的路径或主机应置灰处理且不可勾选;未识别过的路径或主机则不显示。具体逻辑如下:
- 当某类日志监控关闭后,探针不再探测该类型的日志目录
- 对于此前探测到且已记录的目录,若其时效过期,则不再显示
自定义源路径(可选)
平台提供预置的日志监控类型与自定义日志源路径,支持启用禁用。启用后探针会识别对应的类型的日志目录。注意,平台并不会直接采集,只是会自动识别到这些类型的日志路径。对于自定义源路径支持搜索、删除、编辑。
自动发现的前提是日志文件满足以下的条件 :
- 日志文件必须是重要进程且可open的状态下才可被发现。
- 日志文件存在的时间至少长于1分钟。
- 日志必须具有支持的字符编码。默认情况下,支持的编码是UTF-8。其他支持的类型包括UTF-8 BOM,如果文件包含字节顺序标记(BOM),则为UTF-16LE和UTF-16BE。
- 日志文件的长度至少大于0.5KB。
- 日志文件在最近7天内由更新。
- 日志文件必须位于实际日志文件夹或其子文件夹中:
有效路径示例:
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

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

源定义(自定义日志源配置,支持基于主机、环境全局配置)
- 可在无进程组上下文时定义日志源(添加进程组为可选操作)。每个日志源最多可添加三个进程组;若无需进程组,需将其置于虚拟组:default process group name。若用户配置此情况,每台主机都会存在该虚拟组。
- 能在一个进程组中添加多个路径规则。自定义路径必须为绝对路径,不支持相对路径。
- 同一进程组内路径唯一,不同进程组间路径可重复,但同一进程组内路径不可重复。
- 路径支持配置标签,该标签在平台定义中属于预置属性。
- 可在目录中使用通配符。自定义日志源可包含通配符:
#用于替换数字字符,*用于替换除斜杠(/)或反斜杠(\)外的任意字符组成的字符串。需注意,#仅能在文件名中使用。
安全限制
- 日志路径不在以下任何位置:/etc、/boot、/dev、/bin、/sbin、/usr。
- 日志路径不能是/usr,/usr/local除外
- 日志路径不包含.ssh
- 日志路径没有.pem扩展名
- 日志路径不在名称以 . 开头的目录中。(例如,/.hidden)
- 文件名或路径满足以下其中一个要求:
- 日志文件名必须具有由 .、- 或 _ 分隔的log扩展名(后面可以跟另一个具有相同分隔符集的扩展名)
- 日志路径必须位于日志目录的第一级或第二级
- 日志路径必须位于/var/log目录的任何级别
- 日志路径必须具有文件名catalina.out
高级设置(可选)
该界面为日志采集与管理的高级配置模块,支持对以下核心参数进行精细化调控:
- 数据上报策略 :可设置 SmartAgent 日志上报频率,以及日志文件大小的上报阈值,以平衡数据实时性与传输效率。
- 文件检测规则 :定义可检测的最小文件大小阈值,确保符合规格的日志文件被有效识别。
- 路径聚合机制 :针对路径中字符与数字字段,设置超过指定长度时的聚合处理规则,优化路径类数据的存储与检索效率。
所有配置项调整后,可通过 “保存” 操作使参数生效,实现对日志全生命周期(采集、传输、查询、存储)的精准管控。

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

-
规则名称:必填,设置规则名称,不超过二十个字符。规则名称不允许重复
-
生效范围:必填,可设置针对固定条件下的日志生效。多个条件之间可以选择与和或的关系
-
时间格式:非必填,设置时间戳格式,至少需要指定月、日、小时、分钟、秒信息。详细说明可参考时间格式说明
-
时区:原始日志产生的时区
-
多行分隔符:非必填,通过字符串作为日志拆分的标志
-
查找限制:设置时间信息和多行分隔符查找的范围,默认为64字节。设置为0时,表示纯文本日志,每行不以空格开头的行都被视为新日志记录的开头,并自动分配一个时间戳,即探针读取日志记录的时间。
-
描述:按照规则配置内容自动生成描述
-
保存校验逻辑:
- 除了必填项以外,时间格式和多行分割符至少要配置一种类型才可保存。
-
每条日志匹配多个规则的生效逻辑:
- 多行分隔符判断优先级高于时间戳。
- 当日志条目包含一个或多个时间戳时,根据规则列表优先级评估时间戳,从列表中的第一个规则开始。如果条目的时间戳与其中一种规则匹配,探针将使用该时间戳作为日志条目的开头,不再匹配其他的条件。
- 不满足自定义规则的日志全部按照默认规则进行拆分,默认规则只支持修改时区和查找限制配置。
时间格式说明
- 时间格式下拉框选项支持以下常用格式:
| 时间格式 |
|---|
| %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 |
| %p | AM或PM。 | AM、PM |
| %r | 12小时制的时间组合,等同于**%I:%M:%S %p**。 | 11:59:59 AM |
| %R | 小时和分钟组合,等同于**%H:%M**。 | 23:59 |
| %S | 秒数,十进制,范围为00~59。 | 59 |
| %t | Tab符号,制表符。 | 无 |
| %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 %Y | Nov 20 14:12:58 2020 |
| %x | 标准的日期,不带时间。等同于%b %e %Y | Nov 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。
- % 属特殊字符
- % 字符后面不跟格式符认为不合法
- %% 认为不合法