Skip to main content
查看 Lager Box 上日志文件的大小,并删除旧日志。

语法

命令

这些命令用于统计和删除日志文件,它们不打印日志内容。若要读取 Box 各服务的日志,请参阅下方的”读取服务日志”一节。

命令参考

size

查看某一台 Lager Box、或全部已保存 Lager Box 上 ~/box/logs 的大小。
选项:
  • --box BOX - 指定某台 Lager Box(不指定时检查全部)
  • --verbose / -v - 显示各个日志文件
示例:
输出:

clean

删除 ~/box/logs 中超过指定天数的 *.log 文件。
选项:
  • --box BOX(必填)- 要清理的 Lager Box
  • --older-than DAYS - 删除超过 N 天的日志(默认 1)
  • --yes - 跳过确认提示
示例:
输出:

docker

查看每个正在运行的容器的 Docker 日志文件大小。一台 Lager Box 运行一个容器,名为 lager
选项:
  • --box BOX(必填)- 要检查的 Lager Box
  • --container NAME - 指定容器(默认为全部)
示例:
输出:
该命令通过非交互式 SSH 会话,用 sudo 读取日志文件。如果 Box 上的 sudo 要求输入密码,容器名称下方就不会出现大小那一行。

日志轮转

Docker 容器使用自动日志轮转:
  • 单文件最大尺寸:每个文件 10 MB
  • 最大文件数:3 个(轮转掉最旧的)
也就是说,Docker 日志是自管理的,不会无限增长。

大小阈值

size 命令使用以下告警阈值:

会清理哪些内容

clean 命令删除:
  • Box 宿主机上 ~/box/logs 中匹配 *.log、并且超过 --older-than 天数的文件
不会删除:
  • /var/log/ 中的系统日志
  • Docker 容器日志(单独管理)
  • 容器内部的服务日志
  • 新于 --older-than 阈值的文件

读取服务日志

Box 上的各个服务把日志写在 lager 容器内部: 若要读取某个日志的最后几行,请在 Box 上运行 docker exec

自动化

安排定期清理日志:

示例


说明

  • --box 接受已保存 Lager Box 的名称,不接受 IP 地址。
  • 这些命令以用户 lagerdata 通过 SSH 连接,并且只使用密钥认证。它们不使用您用 lager boxes add --user 保存的用户,因此在登录用户不同的 Box 上会失败。
  • Docker 日志会自动轮转
  • --verbose 找出体积大的日志文件
  • 定期清理可以避免磁盘空间问题