小编ISU*_*URU的帖子

如何从 python 按时间戳过滤 GCP stackdriver 日志

我正在尝试从 python 模块获取 GCP stackdriver 日志。我可以过滤 request_id 和 user 的日志

但是当我尝试获取两个时间段之间的日志时,它给出了我的错误。

import json
import sys
from google.cloud import logging
from google.cloud.logging import DESCENDING
from google.cloud import bigquery

#stackdriver client object
logging_client = logging.Client()

FILTER="logName:projects/cognitedata-europe-west1-1/logs/stdout AND timestamp>="+sys.argv[3]
results_iterator = logging_client.list_entries(filter_=FILTER,projects=PROJECT_IDS,order_by=DESCENDING,page_size=1000)
Run Code Online (Sandbox Code Playgroud)

我使用以下模式来提供时间。

timestamp:sys.argv[3]
Run Code Online (Sandbox Code Playgroud)
timestamp=sys.argv[3]
Run Code Online (Sandbox Code Playgroud)
timestamp>sys.argv[3]
Run Code Online (Sandbox Code Playgroud)
timestamp>=sys.argv[3]
Run Code Online (Sandbox Code Playgroud)

但注意到解决了我的问题。

我将 sys.argv 3的输入时间设置为“2019-09-28T03:28:04.189Z”

我的要求是从时间戳中过滤数据 在此输入图像描述

但在 GCP 堆栈驱动程序记录器 UI 中,它给出了两者的结果

timestamp:"2019-09-28T03:28:04.189Z"
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

timestamp>="2019-09-28T03:28:04.189Z" AND timestamp<="2019-09-28T03:30:39.189Z" 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python google-cloud-platform stackdriver google-cloud-stackdriver

3
推荐指数
1
解决办法
3494
查看次数