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
使用python到gcp日志查看器的标签日志记录_Python_Logging_Google Kubernetes Engine_Log Viewer - Fatal编程技术网

使用python到gcp日志查看器的标签日志记录

使用python到gcp日志查看器的标签日志记录,python,logging,google-kubernetes-engine,log-viewer,Python,Logging,Google Kubernetes Engine,Log Viewer,我试图在我的GKE应用程序中使用GCP标签,我想记录与GKE相关联的标签,如名称空间、位置、集群名称、项目id和pod名称,但是默认情况下,所有内容都记录在全局资源类型下,只有项目id填充在GCP日志查看器中 例如: 我找到了一种方法,可以将资源类型更改为k8s_容器,并使用资源填充其他标签,但是如果不将值直接硬编码到应用程序中,我似乎无法找到填充标签的方法,请参见下面的示例: handler = CloudLoggingHandler(client,resource=Resource(&qu

我试图在我的GKE应用程序中使用GCP标签,我想记录与GKE相关联的标签,如名称空间、位置、集群名称、项目id和pod名称,但是默认情况下,所有内容都记录在全局资源类型下,只有项目id填充在GCP日志查看器中

例如:

我找到了一种方法,可以将资源类型更改为k8s_容器,并使用资源填充其他标签,但是如果不将值直接硬编码到应用程序中,我似乎无法找到填充标签的方法,请参见下面的示例:

handler = CloudLoggingHandler(client,resource=Resource("k8s_container",labels={

'namespace_name': "my_namespace",
'location': "us-west1",
'cluster_name': "my-cluster",
'project_id': "my-project-id",
'pod_name': "my-pod"
}))

完整应用程序供参考:

import logging
import google.cloud.logging
from google.cloud.logging.handlers import CloudLoggingHandler
from google.cloud.logging.resource import Resource

client = google.cloud.logging.Client().from_service_account_json(GOOGLE_SA_ACCOUNT)

handler = CloudLoggingHandler(client,resource=Resource("k8s_container",labels={

    'namespace_name': "my_namespace",
    'location': "us-west1",
    'cluster_name': "my-cluster",
    'project_id': "my-project-id",
    'pod_name': "my-pod"
}))

google.cloud.logging.handlers.setup_logging(handler)

logging.getLogger().setLevel(logging.ERROR)


try:
    requests.head('https://www.exampleurladdress.com').status_code == 200
except requests.exceptions.RequestException as err:
    logging.error(err
我想知道是否有某种方法可以直接从GKE正确地填充它们

谢谢。

检查链接是否对您有帮助。请让我知道。检查链接是否对您有帮助。请让我知道。