跳转到内容
搜索文档

日志流

最后更新 查看 MarkdownAgent 设置

隧道日志记录了 cloudflared 实例与 Cloudflare 全球网络之间的所有活动,以及 cloudflared 与您的源服务器之间的所有活动。这些日志使您能够调查 Cloudflare Tunnel 的连接或性能问题。您可以配置服务器以存储持久日志,也可以从任何客户端机器流式传输实时日志。

在服务器上查看日志

如果您可以访问源服务器,则可以使用 --loglevel 标志在启动 Tunnel 时启用日志记录。默认情况下,cloudflared 将日志打印到 stdout,并且不会在服务器上存储日志。您可以选择使用 --logfile 标志将日志写入文件。

要启用日志,请使用 --loglevel info 和 --logfile <PATH> 标志运行 Tunnel。例如,

cloudflared tunnel --loglevel info --logfile cloudflared.log run <UUID>

在本地机器上查看日志

您可以通过仪表板或从安装了 cloudflared 的任何机器查看 Cloudflare Tunnel 的实时日志。使用远程日志流,您无需 SSH 登录到运行隧道的服务器。要获取远程日志,隧道必须处于活动状态且能够接收请求。

仪表板

要从仪表板流式传输 Tunnel 日志:

  1. 在 Cloudflare 仪表板 ↗中,转到 Zero Trust > Networks(网络) > Connectors(连接器) > Cloudflare Tunnels(Cloudflare 隧道)。
  2. 选择您要监控的 Tunnel 旁的 View logs。
  3. 选择 Begin log stream(开始日志流)。

查看副本(replica)的日志

如果您针对同一个 Tunnel 运行多个 cloudflared 实例(也称为副本),您可以流式传输特定副本的日志:

  1. 在 Cloudflare 仪表板 ↗中,转到 Zero Trust > Networks(网络) > Connectors(连接器) > Cloudflare Tunnels(Cloudflare 隧道) 并选择您的 Tunnel。
  2. 在 Connectors(连接器) 列表中,选择您要查看的副本的 Connector ID(连接器 ID)。
  3. 选择 Begin log stream(开始日志流)。

命令行接口 (CLI)

cloudflared 守护程序可以将您账户中任何隧道的日志流式传输到本地命令行。cloudflared 必须同时安装在本地机器和源服务器上。

cloudflared 守护进程可以将您账户中任何 Tunnel 的日志流式传输到本地命令行。您的本地机器和源服务器上都必须安装 cloudflared。

  1. 在本地机器上,向您的 Cloudflare 账户身份验证 cloudflared:

    cloudflared tunnel login
  2. 针对特定的 Tunnel 运行 cloudflared tail:

    cloudflared tail <UUID>

    为了更结构化地查看 JSON 消息,您可以将输出管道传输到类似 jq ↗ 的工具:

    cloudflared tail --output=json <UUID> | jq .

过滤日志

您可以按事件类型 (--event)、事件级别 (--level) 或采样率 (-sampling) 过滤日志,以减少从源站流式传输的日志量。这有助于减轻对源站的性能影响,尤其是在源站通常处于高负载的情况下。例如:

cloudflared tail --level debug <UUID>
标志 描述 允许的值 默认值
--event 按事件/请求的类型进行过滤。 cloudflared, http, tcp, udp 所有事件
--level 返回此级别及以上的日志。独立于服务器上的 --loglevel 设置运行。 debug, info, warn, error, fatal debug
--sampling 对总日志的一部分进行采样。 0.0 到 1.0 之间的数字 1.0

查看副本的日志

如果您在同一个隧道运行了多个 cloudflared 实例(也称为副本),您必须指定一个单独的实例来流式传输日志:

  1. 在 Cloudflare 仪表板中,转到 Networking(网络) > **Tunnels(隧道)**并选择您的隧道。

    Go to Tunnels ↗
  2. 找到您要查看的 cloudflared 实例的 Connector ID(连接器 ID)。

  3. 在 cloudflared tail 中指定 Connector ID:

    cloudflared tail --connector-id <CONNECTOR ID> <UUID>

性能考量

  • 日志会话将仅保持开启一小时。所有日志系统都会引入一定程度的性能开销,此限制有助于防止对您隧道的端到端延迟造成长期影响。
  • 在为高吞吐量隧道流式传输日志时,Cloudflare 会有意将服务稳定性置于日志交付之上。为了减少丢失日志的数量,请尝试请求更少的日志。为确保您能看到所有日志,请在服务器上查看日志,而不是远程流式传输日志。

这篇文档对您有帮助吗?