尾日志使用gloud日志读取?

时间:2018-11-19 08:37:37

标签: google-cloud-platform gcloud google-cloud-logging

使用gcloud logging read命令是否无法在终端命令行上查看特定日志的结尾?我正在寻找类似于标准Linux上的tail -f调用的内容。我找不到允许它的任何文档化参数。 Web控制台提供了一个播放按钮功能,可以做到这一点,但是 当我让它运行10分钟以上时,整个选项卡将变得无响应,感觉它将使整个浏览器崩溃。

我有一个不错的日志过滤器,我想在终端上而不是在Chrome浏览器中“观看”。但是watch命令不会读取gcloud命令的输出,而只是在我尝试watch -n 30 gcloud logging read ...调用时坐在那里。

欢迎您提出建议。

4 个答案:

答案 0 :(得分:1)

“ watch -n 30 gcloud读取日志”确实可以在我的云shell中使用。 但是,“ tail”不适用于“ gcloud日志读取”。

您提到的播放按钮可以很好地更新/刷新(我已经测试了半个多小时)。尝试使用隐身窗口。

答案 1 :(得分:1)

由于gcloud日志读取支持时间戳过滤器,因此可以在循环中调用该命令,以在每次调用中请求更多的最新数据。像这样:

CURRENT_DATE_UTC=`date --utc -Iseconds`
while true; do
  sleep 60
  echo "logs since ${CURRENT_DATE_UTC}"
  gcloud logging read "<your filter here> timestamp>=\"${CURRENT_DATE_UTC}\" ... > logfile.txt
  cat logfile.txt | sed '/^$/d'
  if [[ $(cat logfile.txt | head -n 5 | wc -l) -ne 0 ]]; then
    CURRENT_DATE_UTC=`date --utc -Iseconds`;
  fi
done

答案 2 :(得分:1)

您现在可以使用gcloud alpha logging tail命令来跟踪尾日志。这是一种低延迟的流API,可直接从Logging跟踪日志。您可以在以下页面中了解更多信息:

答案 3 :(得分:1)