Agregué etiquetas a mis recursos GAE y me gustaría tener diferentes sumideros de registros en función de sus etiquetas.

No puedo encontrar una manera de filtrarlos en el registro de consultas sin bigquery.

2
Thadeu Antonio Ferreira Melo 21 ene. 2021 a las 21:43

1 respuesta

La mejor respuesta

Existe una forma de agregar etiquetas de red a las instancias de App Engine < / a> también.

Probé esto en un ejemplo simple de pitón "hola mundo" .

Cuando tenga la aplicación lista, agregue dos líneas a su archivo app.yaml. Mi archivo se ve así:

runtime: python39
service: my-tagged-app
network:
   instance_tag: gae-tag1

Cuando implemente esta aplicación, la instancia que se ejecutará será "etiquetada". Pero no lo verá en ningún otro lugar que en el explorador de registros;

Utilice la consulta:

resource.type="gae_app"
protoPayload.serviceData.createVersion.request.version.network.instanceTag="gae-tag1"

Y obtendrás este resultado:

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'

Y así es como puede filtrar sus registros. Al menos usando etiquetas de red (que también puede usar para definir reglas de firewall GAE).

Puede echar un vistazo al caso similar discutido aquí.

1
Wojtek_B 22 ene. 2021 a las 11:59