【问题标题】:Show httpRequest.latency in gcloud logs tail在 gcloud 日志尾部显示 httpRequest.latency
【发布时间】:2020-05-21 15:31:02
【问题描述】:

我正在使用gcloud app logs tail 来显示来自 App Engine 的最新日志。 但是,我只能看到请求 url 和响应代码。 如何获得更多标签或标签,例如“响应大小”和“延迟”?

这是我可以在 Logs Viewer 中在线看到的内容。

这就是我从表扬中得到的。

【问题讨论】:

    标签: google-app-engine google-cloud-platform google-cloud-logging


    【解决方案1】:

    您似乎正在尝试获取 App Engine Flex 的完整请求日志数据。这可以使用 gcloud logging read 命令完成,该命令使用基本和高级过滤器从 Cloud Logging 返回数据。

    要提取完整的请求日志,您可以从这样的命令开始,然后根据您的目的对其进行调整。

    watch -n 1 "gcloud logging read 'resource.type=\"gae_app\" AND logName=\"projects/YOUR_PROJECT_ID/logs/appengine.googleapis.com%2Fnginx.request\"' --limit=10 --format=json --freshness=1s"

    请注意有关此示例的一些事项:

    • 使用watch -n 1 每秒运行一次命令,这是缺少tail 的解决方法。这与--freshness=1s 标志相结合,每次只获取新数据。

    • 务必将“YOUR_PROJECT_ID”更改为您的项目 ID。

    • 根据您的屏幕截图,您似乎正在尝试从 Flex 应用程序读取 nginx.request 日志;这个例子反映了这一点。如果您想读取不同的日志类型,则需要相应地调整命令中的日志查询。

    gcloud logging read 配置标志的文档是here

    编写基本和高级过滤器的文档是here

    【讨论】:

    • gcloud app logs tail 命令似乎在时间上向前(从最旧到最新),但 gcloud logging read 命令向后,最新日志在前,然后是旧日志。你需要这两个中的哪一个? Gcloud logging read 具有您需要的信息类型,但应该过滤它,因为我会警告您正在显示大量日志。
    • @Joshua Koh,我已经访问了logging read 选项。但它缺少tail 选项。我需要在仪表板上实时观看。
    • 另外,我不一定想获得“整个”日志。我想要的只是在同一行中指定另一个字段。 (您可以在线执行相同的操作,您可以将任何字段添加为标签以显示在每一行上。)
    • 原始消息已更新,添加了watch 命令和--freshness 标志,以解决缺少tail 选项并模拟tail 的日志。
    • 我已经为您想要的 gcloud app logs tail 命令功能创建了一个功能请求。可在此处查看:issuetracker.google.com/157295083 但请记住,此请求可能无法完成,这意味着我恐怕无法为您提供完成的时间表。
    猜你喜欢
    • 2014-06-02
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 2014-09-07
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多