监控与故障排除

如果你遇到自托管运行器的问题,以下是一些在故障排除时可能会帮助你的方法。

检查运行器状态

你可以在 GitHub 的 Settings | Actions | Runners 中检查运行器的状态。运行器的状态可以是 “Idle”(空闲)、“Active”(活动)或“Offline”(离线)。如果运行器状态是离线(Offline),可能是机器出现故障或未连接到网络,或者自托管运行器应用程序没有在机器上运行。

查看应用日志文件

日志文件保存在运行器的根目录中的 _diag 文件夹里。你可以查看 _diag 中的运行器应用程序日志文件。应用程序日志文件名以 Runner_ 开头,并附加了 UTC 时间戳,例如:

Runner_20210927-065249-utc.log

查看作业日志文件

作业日志文件也位于 _diag 文件夹中。每个作业都有自己的日志。作业日志文件名以 Worker_ 开头,并附加了 UTC 时间戳,例如:

Worker_20210927-101349-utc.log

检查服务状态

如果你的运行器作为服务运行,可以根据操作系统的不同检查服务状态。

Linux

在 Linux 上,你可以从运行器文件夹中的 .service 文件获取服务名称。使用 journalctl 工具来监控运行器服务的实时活动:

$ sudo journalctl -u $(cat ~/actions-runner/.service) -f

你可以在 /etc/systemd/systemd/ 路径下检查并自定义服务的配置:

$ cat /etc/systemd/system/$(cat ~/actions-runner/.service)

macOS

在 macOS 上,你可以使用 svc.sh 脚本来检查服务的状态:

$ ./svc.sh status

前面的脚本输出中包含服务名称和进程 ID。要检查服务配置,请定位到以下文件位置:

$ cat /Users/<user_name>/Library/LaunchAgents/<service_name>

Windows

在 Windows 上,你可以使用 PowerShell 来获取有关服务的信息:

$ Get-Service "action*"

使用 EventLog 来监控服务的近期活动:

Get-EventLog -LogName Application -Source ActionsRunnerService

监控运行器更新过程

运行器应该自动更新。如果更新失败,运行器将无法运行工作流。你可以在 _diag 目录中的 Runner_* 日志文件中检查其更新活动。