跳转到内容
搜索文档

日志流

最后更新 查看 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.01.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 会有意将服务稳定性置于日志交付之上。为了减少丢失日志的数量,请尝试请求更少的日志。为确保您能看到所有日志,请在服务器上查看日志,而不是远程流式传输日志。

这篇文档对您有帮助吗?