当遇到应用上添加了扩展标签 label aliyun.log_store_xxx: xxx,但日志服务上没有收集到任何日志时,可以按照下面的步骤排查问题出在哪里。

说明 逐步进行,不要跳过。

1. 检查logstore是否创建成功

如果 logstore 没有创建,说明应用没有成功部署,请检查应用“事件”,其中是否存在部署错误的信息。

2. 检查ilogtail版本

到机器上执行 docker ps|grep ilogtail,根据输出判断 ilogtail 镜像的版本,如果是 0.11.6,请先升级系统服务到最新版本,目前最新版本是 0.13.4。升级后,等应用产生新日志之后,再到日志服务控制台查询。

3. 检查ilogtail的日志

执行 docker exec -it <ilogtail容器id> cat /usr/local/ilogtail/ilogtail.LOG ,根据 ilogtail 日志判断问题所在。常见的可能原因包括:

  • 网络未联通,可以通过执行以下命令确认

    VPC网络:
      telnet logtail.cn-<region>-vpc.log.aliyuncs.com 80
      公网:
      telnet logtail.cn-<region>.log.aliyuncs.com 80
  • 未配置 AccessKey

    日志里出现 Unauthorized ErrorMessage:no authority, denied by ACL,主账号没有配置 AccessKey,请先为主账号创建 AccessKey。当然,即使日志内容没有 denied by ACL,也要检查主账号是否配置了 AccessKey。

4. 检查机器 ip 有没有在日志服务机器组里

  1. 登录 日志服务控制台
  2. 找到集群对应的日志 project,project 名称规则是 acslog-project-<集群id前10位>。
  3. 在 project 详情页的左侧菜单,单击 Logtail机器组
  4. 在机器组右侧,选择 查看状态,判断当前机器的 ip 有没有在 ip 列表里。

5. 检查主账号是否配置了 AccessKey

请确保主账号下至少有一个启用状态的 AccessKey。

6. 检查日志文件是否有内容

进入业务应用容器,判断是否确实有日志生成。如果是 stdout 日志,可以直接用 docker logs 命令。