首页 > 解决方案 > 使用 Python 从 Google Cloud Stackdriver API 获取 JSON 格式的 Stackdriver 日志

问题描述

我正在使用 Google 的 Stackdriver Logging Client Libraries for Python 以编程方式检索日志条目。我想要你可以在 GCP 的日志资源管理器部分看到的所有日志。像这样,

{
protoPayload: {
@type: "type.googleapis.com/google.cloud.audit.AuditLog"
status: {0}
authenticationInfo: {
principalEmail: "abs@xyz.com"
}
requestMetadata: {
callerIp: "27.60.101.186"
callerSuppliedUserAgent: "pandas-0.24.2 gl-python/3.6.8 grpc/1.29.0 gax/1.14.2 gapic/1.17.0 gccl/1.17.0,gzip(gfe)"
}
serviceName: "bigquery.googleapis.com"
methodName: "google.cloud.bigquery.v2.JobService.InsertJob"
..
}

我编写了 Python 脚本来获取 JSON,但没有得到想要的结果。这是我的代码。请帮助需要进行哪些更改才能获取项目或数据库的所有日志。


    from google.cloud import logging
    from google.cloud.logging import DESCENDING
    import os
    os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="cred.json"
    
    logging_client = logging.Client()
    
    
    FILTER = 'resource.type="bigquery_dataset" resource.labels.dataset_id="data_reporting"'
    
    
    for entry in logging_client.list_entries(filter_=FILTER):  # API call
        print(entry)

标签: pythongoogle-cloud-platformgoogle-cloud-stackdriver

解决方案


推荐阅读