Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Logging GCP:如何从标记的资源中查询日志?_Logging_Google Cloud Platform_Monitoring - Fatal编程技术网

Logging GCP:如何从标记的资源中查询日志?

Logging GCP:如何从标记的资源中查询日志?,logging,google-cloud-platform,monitoring,Logging,Google Cloud Platform,Monitoring,我将标签添加到我的GAE资源中,我希望根据标签拥有不同的日志接收器 我找不到在查询日志中过滤它们的方法。no bigquery。也有一种方法 我在一台电脑上测试了这个 当您准备好应用程序时,只需在app.yaml文件中添加两行即可。我的文件如下所示: 运行时:python39 服务:我的标记应用程序 网络: 实例标签:gae-tag1 部署此应用程序时,将运行它的实例将被“标记”。但是你在任何地方都看不到它,除了在logs explorer中 使用查询: resource.type="

我将标签添加到我的GAE资源中,我希望根据标签拥有不同的日志接收器

我找不到在查询日志中过滤它们的方法。no bigquery。

也有一种方法

我在一台电脑上测试了这个

当您准备好应用程序时,只需在
app.yaml
文件中添加两行即可。我的文件如下所示:

运行时:python39
服务:我的标记应用程序
网络:
实例标签:gae-tag1
部署此应用程序时,将运行它的实例将被“标记”。但是你在任何地方都看不到它,除了在logs explorer中

使用查询:

resource.type="gae_app"
protoPayload.serviceData.createVersion.request.version.network.instanceTag="gae-tag1"
你会得到这个结果:

gcloud logging read "gae-tag1"
---
insertId: -oohejhdivvs
logName: projects/myproj/logs/cloudaudit.googleapis.com%2Factivity
operation:
  first: true
  id: 459d7914-20a1-439c-9c4d-08e96964dcb1
  producer: appengine.googleapis.com/admin
protoPayload:
  '@type': type.googleapis.com/google.cloud.audit.AuditLog
  authenticationInfo:
    principalEmail: my@mail.com
  authorizationInfo:
  - granted: true
    permission: appengine.versions.create
    resource: apps/myproj/services/czesc-2-tag/versions/2034555122t104822
    resourceAttributes: {}
  methodName: google.appengine.v1.Versions.CreateVersion
  requestMetadata:
    callerIp: 31.91.214.141
    destinationAttributes: {}
requestAttributes:
      auth: {}
      time: '2021-01-22T10:48:27.701290Z'
  resourceLocation:
    currentLocations:
    - us-central1
  resourceName: apps/myproj/services/czesc-2-tag/versions/20210122t104822
  serviceData:
    '@type': type.googleapis.com/google.appengine.v1.AuditData
    createVersion:
      request:
        parent: apps/myproj/services/czesc-2-tag
        version:
          entrypoint:
            shell: ''
          id: 20210122t104822
          network:
            instanceTag: gae-tag1
          runtime: python39
  serviceName: appengine.googleapis.com
  status: {}
receiveTimestamp: '2021-01-22T10:48:28.183925224Z'
resource:
  labels:
    module_id: czesc-2-tag
    project_id: myproj
    version_id: 20210122t104822
    zone: ''
  type: gae_app
severity: NOTICE
timestamp: '2021-01-22T10:48:27.506516Z'
这就是你过滤日志的方法。至少使用网络标记(您也可以使用它定义GAE防火墙规则)


您可以查看讨论的类似案例。

AFAIK,标签在账单中报告,而不是在日志中报告。所以你不能。这真的很不幸。我很困惑,但是尝试一下这个资源。type=“gce\u app”resource.label。“zone”=“us-east1-b”我会试试。谢谢。@Thadeutonioferreiramelo你成功了吗?是吗?它起作用了。谢谢。@Thadeutonioferreiramelo听到这个消息很高兴。考虑接受答案,因为它解决了你的问题。这样,社区的其他人将更加清楚和可见。