跳转到内容
搜索文档

诊断日志

最后更新 查看 MarkdownAgent 设置

Cloudflare One Client(前称为 WARP)提供诊断日志,您可以使用它们来排查设备上的连接问题。

Chapters

macOS/Windows/Linux

通过 CLI 收集日志

要在桌面设备上查看客户端日志:

  1. 打开终端窗口。
  2. 运行 warp-diag 工具:
    warp-diag

这将在您的桌面上放置一个 warp-debugging-info-<date>-<time>.zip 文件。

  1. 打开命令提示符或 PowerShell 窗口。
  2. 运行 warp-diag 工具:
    C:\Users\JohnDoe>warp-diag

这将在您的桌面上放置一个 warp-debugging-info-<date>-<time>.zip 文件。

  1. 打开终端窗口。
  2. 运行 warp-diag 工具:
    warp-diag

这将在您运行该命令的同一个文件夹中放置一个 warp-debugging-info-<date>-<time>.zip 文件。

通过仪表板收集日志

功能可用性

客户端模式 Zero Trust 计划 ↗
  • 流量和 DNS 模式
  • 仅流量模式
所有计划
系统 可用性 最低客户端版本
Windows ✅ 2024.12.492.0
macOS ✅ 2024.12.492.0
Linux ✅ 2024.12.492.0
iOS ❌
Android ❌
ChromeOS ❌

您可以使用数字体验监测(DEX)的远程捕获(remote captures)功能,直接从 Zero Trust 仪表板远程收集客户端诊断日志。

设备必须主动连接到互联网才能运行远程捕获。

要从远程设备捕获数据:

  1. 在 Cloudflare One ↗ 中,前往 DEX > Remote captures(远程捕获)。
  2. 选择最多 10 台您要运行捕获的设备。设备必须已在您的 Zero Trust 组织中 注册。
  3. 配置要运行的捕获类型。
    • Packet capture (PCAP)(分组捕获):对 WARP 隧道之外的流量(默认网络接口)和 WARP 隧道之内的流量(虚拟接口)进行分组捕获。

    • Device diagnostics(设备诊断日志):生成过去 96 小时的 Cloudflare One Client 诊断日志。要在您的 分流隧道配置 中包含针对所有 IP 和域的路由测试,请选择 Test all routes(测试所有路由)。

  4. 选择 Run diagnostics(运行诊断)。

DEX 现在将向配置的设备发送捕获请求。如果 Cloudflare One Client 已断开连接,则捕获将在 10 分钟后超时。

下载远程捕获

  1. 在 Cloudflare One ↗ 中,前往 DEX > Remote captures(远程捕获)。
  2. 找到一次成功的捕获。
  3. 选择三点菜单并选择 Download(下载)。

这将在您的本地计算机上下载一个名为 <capture-id>.zip 的 ZIP 文件。DEX 将根据我们的 日志保留策略 存储捕获数据。

诊断分析器(Beta)

诊断分析器突出显示了 Cloudflare 确定在 warp-diag 日志中最重要的检测事件。您可以使用检测报告来帮助解析您的 日志文件 并确定客户端问题的根本原因。诊断分析器仅适用于 通过仪表板收集的 日志。

要访问诊断分析器:

  1. 在 Cloudflare One ↗ 中,前往 DEX > Remote captures(远程捕获)。

  2. 从列表中找到现有的 warp-diag 日志,或选择 Run diagnostics(运行诊断) 生成新的 warp-diag 日志。

  3. 对您要分析的 warp-diag 日志选择三点图标,然后选择 View Device Diag(查看设备诊断)。

    Overview(概览) 选项卡将显示结果的 AI 生成的摘要、检测事件列表以及基本设备信息。

    字段说明

    字段 描述
    检测类型 诊断日志中可能出现的常见 Cloudflare One Client 问题。
    出现次数 在日志中检测到问题的次数。
    严重性级别 指示问题对 Cloudflare One Client 功能的影响。严重性级别为:
    • Critical(严重):问题导致功能完全丧失。
    • Warning(警告):问题导致功能下降,但核心功能应仍可工作。
    • No detection(未检测到):日志中未检测到问题。
    操作系统 设备的 OS 和 OS 版本。
    Cloudflare One Client 版本 Cloudflare One Client 发布版本
    配置文件 ID 设备配置文件 UUID
    服务模式 客户端模式
    配置名称 Cloudflare One Client 连接到的 Zero Trust 组织 的名称。
    设备 ID 由 Cloudflare One Client 生成的 ID。
  4. 选择检测类型以获取有关该事件的更多信息以及推荐的后续步骤。

Cloudflare DEX 将根据我们的 日志保留策略 存储 warp-diag 日志及其检测报告。要将副本保存到本地计算机,请 下载日志文件 并前往 JSON file(JSON 文件) 选项卡复制 JSON 格式的报告。

warp-diag 日志

warp-debugging-info-<date>-<time>.zip 压缩包中包含以下文件:

文件名 描述
.qlog 用于调试 MASQUE 连接问题的 QLog 文件。
.pcap 使用 warp-cli debug pcap 命令手动生成的,或通过额外调试日志记录自动生成的数据包捕获(PCAP)文件。
.etl 仅限 Windows 的跟踪文件,由额外调试日志记录生成,包含数据包捕获、netsh TCPIP 跟踪和 Windows 过滤平台(WFP)捕获。
.xml 仅限 Windows 的 WFP 跟踪文件,由额外调试日志记录生成。
alternate-networks-check.txt 每个托管网络的连接状态。
boringtun.log 负责将流量从设备传输到 Cloudflare 全球网络的 WARP 隧道日志。
bound-dns-ports.txt 端口 53 上的活动进程。
captive-portal-hotspot-detect.txt captive.apple.com 的 HTTP 响应。
connectivity.txt 对 DNS 解析和 HTTP 跟踪请求进行检测以验证连接是否成功。可用于确定流量是否正通过 WARP 隧道路由。
*-checks-*.txt 首次启用额外调试日志记录时运行的一次性连接性检查。包含与 connectivity.txt 相同的信息。
daemon_dns.log 如果在 Cloudflare One Client 中启用了记录 DNS 查询,则包含详细的 DNS 日志。
daemon.log Cloudflare One Client 执行的所有操作的详细日志,包括设备与 Cloudflare 全球网络之间的所有通信。注意: 这是最实用的调试日志。
date.txt 您运行 warp-diag 命令时的日期和时间(UTC)。
dex.log 与 DEX 测试 执行相关的日志。
dhcp-lease-plists.txt 每个有 DHCP 租约的接口的来自 /var/db/dhcpclient/leases/ 的 DHCP 租约信息。
dhcp-lease.txt 来自 ipconfig (macOS) 或 nmcli (Linux) 的 DHCP 租约信息。
dig.txt 针对 cloudflare.com 和 apple.com 的 DNS 查找查询输出。
dns_stats.log 由 Cloudflare One Client 接收并解析的 DNS 查询的统计信息,每两分钟生成一次。
dns-check.txt 验证 Cloudflare One Client DNS 服务器是否被设置为系统默认值。对于启用了 DNS 过滤的运行模式,此文件包含本地 DNS 代理的 IP(127.0.2.2:0、127.0.2.3:0、[fd01:db8:1111::2]:0 和 [fd01:db8:1111::3]:0)。
dynamic.log 保留供 Cloudflare 支持团队使用。
etc-hosts.txt 设备的静态 DNS 配置。
firewall-pfctl-all.txt 数据包过滤(pf)防火墙配置(仅限 macOS)。
firewall-rules.txt 由 Cloudflare One Client 配置的系统防火墙规则。
gui-launcher.log 显示应用程序启动的 macOS 控制台日志。
gui-log.log 终端用户交互的 GUI 应用程序的日志文件。
hostname.txt 设备名称。
ifconfig.txt
ipconfig.txt
每个网络接口的 IP 配置。
installed_applications.txt 已安装应用程序列表。
installed_cert.pem 系统上安装的根证书。
installer.log
msi-installer.log
MSI 或 PKG 安装日志。
InstallHistory.plist
macos_installer.log
macOS 软件安装日志。
ipc.log 记录 GUI 与守护进程之间的 IPC 通信。适用于 GUI 崩溃或无法与守护进程通信的情况。
kernel-modules.txt 已加载的内核模块(macOS 和 Linux)或驱动程序(Windows)列表。
launchd-dumpstate.txt macOS launchd 系统的当前状态,包括已加载的作业、其状态和依赖关系。
local_policy.redacted.txt
mdm.plist
mdm.xml
设备上的托管部署参数。
lsb-release.txt 来自 lsb_release 命令的输出(仅限 Linux)。
netstat.txt
routetable.txt
设备使用的路由表。
netstat-v6.txt IPv6 路由表(仅限 Linux)。
platform.txt 设备的操作系统。
ps.txt
processes.txt
运行 warp-diag 时设备上所有活动进程的列表。
resolv.conf Mac/Linux 上配置了系统 DNS 服务器的 /etc/resolv.conf 文件的内容。
route.txt 来自 ip route get 命令的输出,用于验证网络流量是否通过正确的接口流出。您可以选择使用 warp-diag --enable-all-routes 标志,以包含对分流配置中所有 IP 和域名的测试。
route-change.log IP 路由表变更日志。
scutil-dns.txt macOS/Linux 上的 DNS 配置(在 Windows 上可在 ipconfig.txt 中查看)。
scutil-networkinfo.txt macOS 上的 IPv4 和 IPv6 network 接口配置(在 Windows 上可在 interfaces-config.txt 中查看)。
scutil-proxy.txt macOS/Linux 上的代理配置(在 Windows 上可在 ipconfig.txt 中查看)。
snapshots-collection.log 收集 snapshots/*.log 时生成的日志。用于排查 Cloudflare One Client 无法收集快照的原因。
snapshots/*.log 发生错误时生成的诊断信息。
stats.log WARP 隧道的运行时间和吞吐量统计信息,每两分钟生成一次。
sw-vers.txt 设备的操作系统。
sysinfo.json 运行 warp-diag 时 CPU 和内存的使用情况。此信息有助于确定速度慢是否是由系统负载过高引起的。
system-extension-diagnostics.txt 已加载的系统扩展的状态和健康状况(仅限 macOS)。
systeminfo.txt
system-profile.txt
系统软件概览。
System.evtx Windows 系统事件日志。
taskdump.log If the daemon hangs, this file will contain a dump of the currently running processes. This is helpful in debugging hangs, deadlocks, and tasks.
timezone.txt 设备的本地时区,指定为 UTC 偏移量。
traceroute.txt 指向 WARP 入站 IP 的 Traceroute 路由跟踪,显示从设备到 Cloudflare 全球网络的路径。
*-traceroute-*.txt 针对隧道边缘连接 IP、设备 API 端点主机名与 IP 以及 DNS 解析器主机名与 IP 的一次性 traceroute 路由跟踪;在发觉额外调试日志记录时开始。
uname.txt 仅限 Linux 的系统信息,包括内核版本。
updater/ 包含针对客户端版本分配的单次尝试安装程序日志和下载的软件包元数据的目录。有助于诊断从 Cloudflare 仪表板触发的失败更新。
v4interfaces.txt
v4subinterfaces.txt
v6interfaces.txt
v6subinterfaces.txt
Windows 上的 IPv4 和 IPv6 网络配置。
version.txt 设备上安装的 Cloudflare One Client 版本。
warp-account.txt Cloudflare One Client 设备注册信息。
warp-bus-metrics.txt Cloudflare One Client 使用的内部消息总线框架的指标。
warp-device-posture.txt 当前的设备状态(device posture)状态。
warp-dex-data.txt 当前配置的 DEX 测试 及其最新状态。
warp-dns-fallbacks.txt WARP DNS 代理使用的默认 DNS 回退列表。
warp-dns-lock.json 默认 DNS 提供商和网络接口信息。
warp-dns-stats.txt 自生成 dns-stats.log 以来设备上最近 DNS 查询的摘要。
warp-network.txt 由 Cloudflare One Client 检测到的设备上的网络设置。
warp-settings.txt 应用到设备的 Cloudflare One Client 设置。
warp-stats.txt 自生成 stats.log 以来 WARP 隧道的运行时间和吞吐量。
warp-status.txt Cloudflare One Client 的连接状态(Connected 或 Disconnected)。
wdutil-info.txt Wi-Fi 诊断(仅限 macOS)。
xpc-launchd.log macOS 上 launchd 进程的最新日志文件。

同一日志的多个版本

warp-debugging-info 文件夹可能包含同一日志的多个版本,例如 daemon.log、daemon.1.log 和 daemon.2.log。由于日志可能会变得非常长,因此它们要么每天轮转一次,要么在超过一定大小时进行轮转。

  • <logfile>.log 是最新的日志。这几乎总是您应该查看的日志,因为它显示了您运行 warp-diag 命令当天发生的事件。
  • <logfile>.1.log 显示前一天的事件。
  • <logfile>.2.log 显示前两天的事件。

额外调试日志记录

从版本 2026.5.0 开始,您可以使用命令 warp-cli debug extra start 启用额外调试日志记录。 额外调试日志记录将在 10 分钟后超时,除非您使用 warp-cli debug extra stop 手动停止它。

这将启用以下几项额外的日志记录功能:

  • 所有接口上的数据包捕获(PCAP)(在 Windows 上,保留原始 .etl 文件;其他 PCAP 命令在删除之前将其转换为 .pcap)
  • 用于 MASQUE 隧道连接的 QLog 文件
  • 针对带有 DNS 过滤的服务模式的 DNS 日志
  • 一次性连接性检查(与 connectivity.txt 的信息相同,在额外调试日志记录启动时收集,而不是在运行 warp-diag 时收集)
  • 一次性 traceroute 路由跟踪到:
    • DNS 解析器 IP
    • DNS 解析器主机名
    • 设备 API 端点 IP
    • 设备 API 端点主机名
    • 隧道边缘连接 IP
  • 在 Windows 上,如果您是管理员:

如果启用了额外调试日志记录,命令 warp-cli debug extra reconnect 将强制隧道连接重新启动。 如果隧道连接失败,这对于收集日志信息会很有用。

日志保留窗口

每个客户端日志文件(如 connection_stats.log、dns_stats.log、daemon.log、boringtun.log、daemon_dns.log、dex.log 和 captive-portal.log)均受到大小和时间的限制:

  • 最大文件大小: 10 MB
  • 最大文件保留时间: 24 小时
  • 每个日志的最大保留版本数: 4(例如,daemon.log、daemon.1.log、daemon.2.log 和 daemon.3.log)

日志文件可能包括运行 warp-diag 之前长达 96 小时(四天)的数据,但仅限于日志活动极少的情况。在日志量较大(例如重复出现错误)的环境中,日志可能会更频繁地轮转,并且捕获的时间窗口可能会短得多(仅有几小时)。

请务必检查每个日志文件末尾的时间戳,以验证诊断归档文件涵盖的时间范围。

iOS/Android/ChromeOS

收集日志

要在移动设备上查看客户端日志:

  1. 打开 Cloudflare One Agent 应用程序。
  2. 前往 Settings(设置) > Advanced(高级) > Diagnostics(诊断)。
  3. 收集扩展程序日志:
    1. 在 Diagnostics(诊断) 页面中,选择 Console logs(控制台日志) > Extension logs(扩展程序日志)。
    2. 选择 Share(分享) 并选择一种文件分享方式。
    3. 输入描述性的文件名(如 extension.log,如果您的分享方式支持)。然后分享或保存文件。
  4. 收集应用程序日志:
    1. 在 Diagnostics(诊断) 页面中,选择 Console logs(控制台日志) > Application logs(应用程序日志)。
    2. 选择 Share(分享) 并选择一种文件分享方式。
    3. 输入描述性的文件名(如 application.log,如果您的分享方式支持)。然后分享或保存文件。
  5. (可选)针对使用 MASQUE 隧道协议的设备收集 qlog:
    1. 在 Diagnostics(诊断) 页面中,开启 Enable qlog(启用 qlog)。
    2. 选择 Export QLog(导出 QLog)。
    3. 输入描述性的文件名(如 qlogs.zip,如果您的分享方式支持)。然后分享或保存文件。
  1. 打开 Cloudflare One Agent 应用程序。
  2. 前往 Settings(设置) > Advanced(高级) > Diagnostics(诊断)。
  3. 向下滚动至 Debug logs(调试日志) 部分。
  4. (可选)针对使用 MASQUE 隧道协议的设备开启 Enable qlog(启用 qlog)。
  5. 选择 Download logs(下载日志)。
  6. 通过电子邮件、Google 云端硬盘或其他已安装的应用程序分享 warp-debugging-info-<date>-<time>.zip 文件。

移动应用日志

以下日志文件适用于 iOS、Android 和 ChromeOS 设备。

iOS

名称 描述
扩展程序日志 来自核心 VPN 隧道服务的日志,包括连接状态变更以及设备与 Cloudflare 网络之间的数据包流操作。类似于桌面端的 daemon.log 文件。
应用程序日志 来自 iOS 应用程序进程的日志,包括 GUI 事件、设置变更和 API 调用。
Qlog 用于调试 MASQUE/HTTP3 隧道连接的 QUIC 协议事件日志。归档文件包含最多 10 个以连接 ID 命名的 .sqlog 文件。

Android/ChromeOS

warp-debugging-info-<date>-<time>.zip 压缩包中包含以下文件:

名称 描述
unhandled_exception.log 捕获 Android 应用程序层中未被捕获并可能导致应用崩溃的错误。
console.log 来自 Android 应用程序层的日志,包括 VPN 服务事件、API 调用、失败的 DNS 查询、GUI 交互和设置变更。
native_tunnel.log 来自核心 VPN 隧道服务的日志,包括连接状态变更以及设备与 Cloudflare 网络之间的数据包流操作。类似于桌面端的 daemon.log 文件。
<connection_id>.sqlog 用于调试 MASQUE/HTTP3 隧道连接的 QUIC 协议事件日志。

这篇文档对您有帮助吗?