华为云 LTS 日志采不到/搜不到:从 ICAgent、采集配置到索引的分层排查

举报
yd_294423728 发表于 2026/11/03 11:48:35 2026/11/03
【摘要】 云日志服务 LTS 接好了主机、配好了路径,控制台却迟迟看不到日志;或者日志明明在流里,一搜索就提示「查询结果不精确」「字段未配置字段索引」「未开启全文索引」。很多人会先怀疑 ICAgent 挂了,其实常见的情况是:刚配完还在等生效、同路径已在 AOM 配过、采集开关被关、路径写法踩了 `**` 规则,或者索引没开对。这篇按「现象分类 → 采不到 → 查不到新日志 → 搜不到/报错 → 速查…

云日志服务 LTS 接好了主机、配好了路径,控制台却迟迟看不到日志;或者日志明明在流里,一搜索就提示「查询结果不精确」「字段未配置字段索引」「未开启全文索引」。很多人会先怀疑 ICAgent 挂了,其实常见的情况是:刚配完还在等生效、同路径已在 AOM 配过、采集开关被关、路径写法踩了 ** 规则,或者索引没开对。这篇按「现象分类 → 采不到 → 查不到新日志 → 搜不到/报错 → 速查表」分层整理,方便对照官方 FAQ 与用户指南逐项排除。

一、先分清三种现象

排查前先把问题归到下面三类,后面查的方向不一样:

现象 典型表现 优先排查层
采不到 接入配置已提交,日志流里长期没有新日志 等待时间、AOM 重复配置、ICAgent/主机组/安全组/路径规则
查不到新产生的日志 以前有过日志,最近业务仍在写文件,但 LTS 不再更新 ICAgent 采集开关、主机侧 switchList / httpsend / als event
搜不到或查询报错 日志流有数据,但关键词搜不准,或报字段/全文索引相关错误 时间范围、短语语法、字段索引、全文索引

容易混淆的一点:控制台「有历史日志、没有最新日志」和「完全空白」不是同一类问题,前者更像采集开关或上报失败,后者更像接入配置本身没生效。

二、采不到:主机接入后的基础核对

官方 FAQ「主机接入 LTS 后无法采集到日志」建议先做这几步:

  1. 刚配完先等 1~5 分钟。接入配置提交后,ICAgent 需要一点时间拿到配置并开始上报,立刻刷新看不到很正常。
  2. 同主机、同路径不要在 AOM 和 LTS 重复配。相同主机的同一个日志采集路径,如果已经在应用运维管理 AOM 里配置过,就不能再在 LTS 重复配置;两边抢同一路径时,LTS 侧会采不到。
  3. 对照 ECS 文本日志接入指南,排除不规范配置。路径、主机组、索引等任一项不规范,都可能导致采集失败。

若以上都排除,再走工单;大多数场景在下面第三节就能定位。

三、采不到:按 ECS 文本日志接入链路逐项查

ECS 文本日志接入的标准流程是:选择日志流 → 选择主机组 → 采集配置 → 索引配置 → 提交。入口一般在「日志接入 > 接入中心」选 ECS 卡片「接入日志(LTS)」,或在「日志接入 > 接入管理」创建。下面按链路从底向上查。

3.1 前提条件是否齐

  • ICAgent 已安装,且主机已加入主机组。主机组可以在接入时勾选,也可以事后在「主机管理 > 主机组」或修改接入配置时再关联;未关联主机组时,采集配置实际上不会生效。
  • 安全组放行 ICAgent 上报相关端口:入方向开放 8149、8102、8923、30200、30201、80(以官方「添加安全组规则」说明为准)。
  • 配置中心已开启 ICAgent 采集开关。采集开关默认打开;关闭后 ICAgent 会停止采集,AOM 侧「日志采集开关」也会同步关闭。很多人排查了半天路径,最后发现是全局开关被关了。

3.2 路径规则:最容易写错的一处

采集路径最多可加 30 条,规则里这几条最常踩坑:

  • ** 表示递归目录,最多递归 5 层,且整条路径里 ** 只能出现一次。
    • 正确示例:/var/logs/**/a.log
    • 错误示例:/opt/test/**/log/**(出现两次)
  • 第一层不能是 **,避免误采系统文件。错误示例:/**/test
  • 支持 * 模糊匹配目录或文件名,例如 /var/logs/*/a.log、/var/logs/service-*/a.log、/var/logs/service/a*.log
  • 配置的是文件名时,只采集文本格式文件

绕接(日志切割改名)若不符合内置规则,需要在路径配置里加自定义绕接规则,否则容易重复采集或切割瞬间丢日志。控制台提供「使用路径验证」「使用绕接规则验证」,配完可以先自检。

3.3 文件新旧与采集时间窗口

LTS 下发配置后,ICAgent 对文件还有时间窗口限制(官方约束):

  • 新文件(首次采集):最后修改时间与当前时间相差超过 6 小时,不采集。
  • 旧文件(非首次采集):最后修改时间与当前时间相差超过 3 分钟,不采集。

常见的情况是:拿一份很久没改动的历史日志文件做验证,路径配对了也看不到数据——并不是接入失败,而是命中了「超过 6 小时不采」的规则。验证时尽量用正在持续写入的日志文件。

另外:

  • 同主机同路径若已在 AOM 配置,LTS 不能重复(再次强调)。
  • 「允许文件多次采集」关闭时,同一主机同一文件跨日志流也不能重复配;开启后才支持采到多个日志流(依赖 ICAgent 版本)。
  • 黑名单与采集路径重合时,优先按黑名单过滤。

3.4 接入后用「ICAgent 采集诊断」

接入配置操作列「更多 > ICAgent采集诊断」可以看 ICAgent 异常监控、整体状态和采集监控。若列表里没有该项,需要先在设置里开启「ICAgent 诊断开关」。我习惯接入提交后先等几分钟,再用诊断页确认状态,比直接在日志流里干等更省时间。

四、查不到新日志:采集开关与主机侧痕迹

官方 FAQ「在 LTS 页面无法查询新产生的日志」给出的方向是:采集开关、上报失败、配置下发异常。可以按下面顺序查。

4.1 控制台:ICAgent 采集开关

  1. 登录云日志服务控制台
  2. 进入「配置中心」
  3. 在「ICAgent采集开关」页签确认开关为开启;未开启则打开后再观察是否恢复上报

4.2 主机:/var/ICAgent 看三类关键信息

登录 ICAgent 所在 ECS:

cd /var/ICAgent

① 采集开关是否真正下发为开启

zgrep switchList *.zip
cat oss.icAgent.trace | grep switchList

看最新一条配置里,switch.log 是否为 true(代表采集开关开启)。也可以核对:

cat /var/share/oss/manager/ICProbeAgent/internal/TRACE_CONFIG/swithes_context.json

② 是否上报失败

cat oss.icAgent.trace | grep httpsend | grep 'dataType:TRACE' | grep failed
zgrep 'dataType:TRACE' *.zip | grep httpsend | grep failed

出现 failed 说明日志发送失败,需要结合网络、安全组或联系技术支持继续排查。

③ 采集配置是否已下发到 ICAgent

cat oss.icAgent.trace | grep 'als event' | grep -v grep | tail -n 1
# 当前文件没有时再查压缩包
zgrep 'als event' *.zip | grep -v grep | tail -n 1

结果里应能看到实际配置的日志组、日志流和采集路径。对不上时,回到控制台「日志接入」核对接入任务本身。

五、搜不到 / 查询报错:索引与搜索语法

日志已经进流,但搜索不符合预期时,对照官方「无法搜索日志」FAQ,按报错对号入座。

5.1 提示「查询结果不精确」

可能原因是查询时间范围内日志量过大,控制台只展示了部分结果。可以:

  • 缩小时间范围后再查
  • 或多点几次「查询」,直到拿到精确结果

5.2 关键词顺序对不上

普通空格查询 abc def 表示同时包含这两个词,不保证顺序。要精确匹配短语,用:

#"abc def"

5.3 字段查不到:未配置字段索引

报错类似「XXX 字段未配置字段索引,不支持查询该字段」时,需要在索引配置里为该字段创建字段索引,再重新查询。注意:索引修改只对之后新写入的日志生效,改完立刻用旧日志验证会误判为「没生效」。

5.4 全文 / content 查不到:未开启全文索引

报错「未开启全文索引,不支持查询 content 字段和全文查询」时,在索引配置中开启全文索引。同样只对新写入日志生效。

5.5 其他常见语法限制(简表)

报错或现象 处理方向
* / ? 放在词开头 不支持,改写查询或调整分词符
long / float 字段用 * / ? 模糊查 改用 > >= < <= 或 in 做范围查询
string 字段用比较运算符或 in 做范围查 改用模糊查询,或把结构化类型改成数字
搜索语句含语法关键词(如 and) 用双引号包成普通字符,例如 field:"and"
短语里带 * 或 ? 视为普通字符,不是通配符

接入时若暂时不需要按字段分析,可以跳过索引配置先提交采集;之后再按业务补字段索引或全文索引即可,不必为了「先看到日志」卡在索引页。

六、速查表

现象 可能原因 怎么确认
刚接入完全没日志 配置未生效完 等待 1~5 分钟后再查
路径看起来对,始终无数据 同主机同路径已在 AOM 配置 检查 AOM 虚机日志采集路径是否占用
路径含 ** 仍采不到 ** 出现两次,或第一层就是 ** 对照路径规则改成单次、非首层
用旧文件验证采不到 新文件 mtime 超过 6 小时 换正在写入的日志文件验证
所有主机突然都不更新 ICAgent 采集开关关闭 配置中心「ICAgent采集开关」
开关开着仍无新日志 上报失败或配置未下发 /var/ICAgent 查 httpsend failed、als event
主机组未勾选 采集配置未关联主机 主机组页或修改接入配置补关联
安全组过严 上报端口未放行 放行 8149/8102/8923/30200/30201/80
搜索结果不精确 时间范围内日志量过大 缩小时间范围或多点查询
短语顺序不对 没用短语语法 改用 #"abc def"
按字段查报错 未配字段索引 索引配置里补字段;只对新日志生效
content/全文查报错 未开全文索引 开启全文索引;只对新日志生效

小结

遇到 LTS「采不到 / 搜不到」,我习惯先把问题拆成三类:接入链路(ICAgent、主机组、安全组、路径与时间窗口)、采集开关与主机侧 /var/ICAgent 痕迹、以及索引与搜索语法。路径上优先核对 ** 规则和 AOM 是否重复占用;搜索上优先核对全文/字段索引是否已开,并记住索引变更只作用于新写入日志。把「等几分钟」「别和 AOM 抢路径」「先开采集开关再查索引」这几条当成固定检查项,大部分问题可以在提交工单前自己收掉。

参考文档:

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。