查看日志#
日志在事情出错时非常有用,可以帮助我们拼凑出问题所在。它们包含了软件各个部分在出现问题之前运行情况的详细记录,可以帮助我们理解问题并进行修复。
TLJH 收集来自 JupyterHub、Traefik Proxy 以及每个用户的笔记本服务器的日志。所有日志都可以通过 journalctl 访问。安装程序还会将日志写入磁盘,以帮助解决安装程序未成功的情况。
警告
如果您要向他人提供日志片段以帮助调试问题,请务必先从片段中删除任何私人信息(例如用户名)!
安装程序日志#
JupyterHub 安装程序将日志消息写入 /opt/tljh/installer.log
。如果安装因任何原因失败,这将非常有用。
JupyterHub 日志#
JupyterHub 负责用户身份验证以及启动/停止用户笔记本服务器。当 JupyterHub 出现一般性系统问题(而不是特定用户笔记本的特定问题)时,查看 JupyterHub 日志是一个很好的第一步。
sudo journalctl -u jupyterhub
此命令显示来自 JupyterHub 本身的日志。有关浏览日志的提示,请参阅 journalctl 提示。
Traefik Proxy 日志#
traefik 根据需要将流量重定向到 JupyterHub/用户笔记本服务器,并处理 HTTPS。如果您在浏览器中只能看到一行神秘的错误消息,或者您在使用 HTTPS 时遇到问题,请查看此日志。
sudo journalctl -u traefik
此命令显示来自 Traefik 的日志。有关浏览日志的提示,请参阅 journalctl 提示。
用户服务器日志#
每个用户都会获得自己的笔记本服务器,该服务器也会生成日志。当用户可以启动服务器但在启动后遇到问题时,查看这些日志可能会有用。
sudo journalctl -u jupyter-<name-of-user>
此命令显示来自给定用户笔记本服务器的日志。您可以在管理员页面右上角的“用户”按钮中获取所有用户的列表。有关浏览日志的提示,请参阅 journalctl 提示。
journalctl 提示#
journalctl
有很多选项可以使您作为管理员的生活更轻松。以下是一些有关有效使用 journalctl
的基本提示。
当查看完整日志(通过
sudo journalctl -u <some-name>
)时,输出通常无法容纳在一个屏幕中。因此,它会使用 less 进行分页。这使您可以向上/向下滚动、搜索特定单词等。一些常见的键盘快捷键是箭头键用于向上/向下/向左/向右移动
G
用于导航到日志末尾g
用于导航到日志开头/
后跟要搜索的字符串,并按下enter
键,以从屏幕当前位置到日志末尾搜索日志。如果有多个结果,可以使用n
键跳转到下一个搜索结果。使用?
代替/
从当前位置反向搜索q
或Ctrl + C
退出
如果您愿意,还有很多 其他命令和选项 可供探索。
在任何
journalctl
命令中添加-f
以查看实时日志输出,该输出会在写入新的日志行时更新。这在积极调试问题时非常有用。例如,要查看 JupyterHub 的实时日志,您可以运行
sudo journalctl -u jupyterhub -f