更新时间:2025-08-11 GMT+08:00

ICAgent限制

本文介绍日志采集器ICAgent的限制。

表1 ICAgent文件采集限制

限制项

说明

备注

文件编码

支持UTF8、GBK,其他编码可能会产生乱码。

不支持采集其他类型日志文件,例如:二进制文件。

不涉及。

日志文件大小

无限制。

不涉及。

日志文件轮转

ICAgent目前支持配置固定日志文件名或者模糊匹配文件名,用户需要自己处理日志文件轮转。

不涉及。

日志采集路径

Linux

  • 采集路径支持递归路径,**表示递归5层目录。示例:/var/logs/**/a.log。
  • 采集路径支持模糊匹配,匹配目录或文件名中的任何字符。示例:/var/logs/*/a.log、/var/logs/service/a*.log。
  • 采集路径如果配置的是目录,示例:/var/logs/,则只采集目录下后缀为“.log”、“.trace”和“.out”的文件;如果配置的是文件名,则直接采集对应文件,只支持文本类型的文件。
  • 开启“允许文件多次采集”后,同一主机下的同一日志文件支持被采集到多个日志流。关闭“允许文件多次采集”后,采集路径不能重复配置,即同一主机下的同一路径,即使跨日志组和日志流,也只能配置一次。

Windows

  • Windows环境日志采集路径支持递归路径,**表示递归5层目录。配置样例:C:\var\service\**\a.log。
  • Windows环境日志采集路径支持模糊匹配,匹配目录或文件名中的任何字符。配置样例:C:\var\service\*\a.log、C:\var\service\a*.log。
  • 采集路径不能重复配置,即同一主机下的同一路径,即使跨日志组和日志流,也只能配置一次。
  • windows事件日志采集不能重复配置,即同一主机下,即使跨日志组和日志流,也只能配置一次。

不涉及。

软链接

不支持软链接。

不涉及。

单条日志大小

每条日志默认500KB,最大1024KB,超出限制部分ICAgent将截断后丢弃。

不涉及。

正则表达式

ICAgent只支持RE2风格的正则表达式,详细请参考语法

不涉及。

同一文件对应多个采集配置

允许文件多次采集功能只支持Linux,暂不支持Windows。

开启“允许文件多次采集”后,同一主机下的同一日志文件支持被采集到多个日志流。关闭“允许文件多次采集”后,采集路径不能重复配置,即同一主机下的同一日志文件,即使跨日志流,也只能配置一次。

不涉及。

文件打开行为

读取时打开,读取完后关闭。

不涉及。

首次日志采集行为

全量采集,从头开始。

不涉及。

容器日志

容器场景下通过卷挂载日志的路径,仅支持采集以下类型的存储卷:

  • HostPath类型的存储卷,并且挂载子路径必须为空。
  • EmptyDir类型的存储卷,并且挂载子路径必须为空。

容器场景

表2 ICAgent性能规格

限制项

说明

备注

日志采集速率

原始日志单节点最大采集速率50MB/S。

超过限制尽可能提供服务,不保证服务质量。

监控目录数

目录递归深度默认5层,最大20层,最大不超过500个文件。

不涉及。

监控文件数

容器场景下:

  • 每个通过卷挂载日志的路径下,ICAgent最多采集20个日志文件。
  • 每个ICAgent最多采集1000个容器标准输出日志文件,容器标准输出日志只支持json-file类型。

虚机场景下:最大500个文件。

容器场景下通过卷挂载日志的路径,仅支持采集以下类型的存储卷:

  • HostPath类型的存储卷,并且挂载子路径必须为空。
  • EmptyDir类型的存储卷,并且挂载子路径必须为空。

默认资源限制

CPU:

  • ICAgent版本低于5.12.200时,对CPU资源的消耗最大不超过2核。
  • ICAgent版本为5.12.200及以上,节点规格小于等于4核时,对CPU资源的消耗最大不超过2核;节点规格大于4核时,对CPU资源的消耗最大不超过log2(节点核数)。

内存:

对内存的消耗不超过min{4G,节点物理内存/2},超过时将启动重启保护(min{4G,节点物理内存/2}表示取“节点物理内存的一半”和“4G”中的较小值)。

不涉及。

资源超限处理策略

强制重启,若期间日志轮转,可能会丢失或重复。

不涉及。

Agent安装、升级或卸载

无限制。

不涉及。

表3 ICAgent其他限制

限制项

说明

备注

配置更新

配置更新生效的延时约1-3分钟。

不涉及。

配置动态加载

支持console的配置动态下发,且其中某一配置更新不影响其他采集。

不涉及。

配置数

无限制。

不涉及。

多租户隔离

默认隔离。

不涉及。

日志采集延迟

正常情况下从日志写入磁盘到采集日志延迟<10秒(阻塞状态下除外)。

不涉及。

日志上传策略

检测到文件变更,会立即读取上传,单次可以上报1条或者多条日志。

不涉及。

网络错误处理

在出现网络异常时会主动重试,间隔5秒。

不涉及。

资源配额超限处理

当日志量太大,分配给ICAgent的资源无法满足日志上报的要求时,ICAgent尽量上报,失败会重试,持续资源不足日志采集会积压。

不涉及。

超时最大尝试时间

周期性重试。

不涉及。

状态自检

通过心跳检测采集器状态是否正常。

不涉及。

Checkpoint超时时间

12小时无更新,则自动删除Checkpoint。

不涉及。

Checkpoint保存策略

上报成功则更新checkpoint的内容。

不涉及。

Checkpoint保存位置

默认保存路径为/var/share/oss/manager/ICProbeAgent/internal/TRACE。

不涉及。

日志丢失/日志重复

采集器使用多种机制保证日志采集的可靠性,尽可能保证数据不丢失,但在如下场景可能导致日志丢失或日志重复。

  • 日志文件未使用CCE提供的logPolicy轮转策略。
  • 日志文件轮转速度过快,如1秒轮转一次。
  • 若系统不存在rsyslog服务或rsyslog服务关闭时,ICAgent无法采集系统日志,不影响其他日志采集。
  • 容器运行时间过短,例如小于30s。
  • 单节点总日志产生速度过快,超过了单节点网络发送带宽或日志采集速度,建议单节点总日志产生速度<50MB/s。

当采集器被重启后,重启时间点附近可能会产生一定的数据重复。

不涉及。

表4 ICAgent支持访问的IP地址

组件/服务

IP地址

说明

openstack

http://169.254.169.254/openstack/latest/meta_data.json

获取节点元数据,节点名称和节点id。

http://169.254.169.254/openstack/latest/securitykey

委托方式获取临时ak/sk和securitytoken。

http://169.254.169.254/latest/meta-data/public-ipv4

获取节点绑定的弹性IP地址。

CCE

http://127.0.0.1:4194/api/v2.0/ps

cadvisor接口获取进程信息。

http://127.0.0.1:4194/api/v1.2/docker

cadvisor接口获取容器全量指标。

http://nodeip:10255/pods

k8s接口获取pod信息。

表5 ICAgent支持访问的端口号

端口号

说明

#icmgr-service 
{podlb}:30200

ICAgent注册。

icmgr-controller
{podlb}:30201

ICAgent状态配置。

#als-access 
{podlb}:8102

日志上报。

#ams-access 
{podlb}:8149

上报监控指标。

#ats-access apm
{podlb}:8923

上报数据到APM。