google-app-engine - 如何将 Stackdriver 日志导入 BigQuery

标签 google-app-engine google-cloud-platform google-bigquery etl stackdriver

有没有办法将日志从应用引擎加载到 Google Cloud Platform 上的 BigQuery 中?

我正在尝试使用联合查询加载 Cloud Storage 中的 Stackdriver 日志文件。但是 BigQuery 无法加载 Stackdriver 写入的某些字段名称。

日志文件是换行符分隔的 JSON,记录类似于

{  
   "insertId":"j594356785jpk",
   "labels":{  
      "appengine.googleapis.com/instance_name":"aef-my-instance-20180204t220251-x59f",
      "compute.googleapis.com/resource_id":"99999999999999999",
      "compute.googleapis.com/resource_name":"c3453465db",
      "compute.googleapis.com/zone":"us-central1-f"
   },
   "logName":"projects/my-project/logs/appengine.googleapis.com%2Fstdout",
   "receiveTimestamp":"2018-02-08T02:59:59.972739505Z",
   "resource":{  
      "labels":{  
         "module_id":"my-instance",
         "project_id":"my-project",
         "version_id":"20180204t220251"
      },
      "type":"gae_app"
   },
   "textPayload":"{\"json\":\"blob\"}\n",
   "timestamp":"2018-02-08T02:59:54Z"
}

但 BigQuery 对此输入返回错误:查询:字段名称“compute.googleapis.com/zone”无效。字段只能包含字母、数字和下划线,以字母或下划线开头,长度最多为 128 个字符。

有什么方法可以将此类日志提取到 BigQuery 中吗?

我对仅提取 textPayload 字段特别感兴趣。

最佳答案

您可以将 Stackdriver 日志导出到 BigQuery

Google Cloud Platform 控制台中,Stackdriver Logging>> 导出>> 创建导出。 创建过滤器 resource.type="gae_app" 并填写右侧的接收器名称,然后选择 BigQuery 作为接收器服务> 然后选择要从接收器目标导出的数据集。 https://console.cloud.google.com/logs/exports

引用:https://cloud.google.com/logging/docs/export/configure_export_v2#dest-create

关于google-app-engine - 如何将 Stackdriver 日志导入 BigQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48711835/

相关文章:

java - Oauth : Where to get userId for AuthorizationCodeFlow . createAndStoreCredential?

google-bigquery - 自动从行生成列(无 IF)

sql - 如何合并 BigQuery 中多行的 NULL?

java - GAE HDR : Are entity retrievals by key eventually consistent within a XG transaction?

java - 为存储在 Google Appengine 数据存储区中的实体创建 URL

python - 使用 Python 解析 JSON 数据

python - 使用临时凭证将数据从 S3 存储桶传输到 GCP 存储桶

Golang GCP 存储客户端内存泄漏

mysql - 谷歌云 SQL 时间序列统计

google-bigquery - BigQuery 插入百万行的更快方法