首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python的Google Kubernetes引擎中的OpenCensus错误

使用Python的Google Kubernetes引擎中的OpenCensus错误
EN

Stack Overflow用户
提问于 2019-09-27 07:22:28
回答 1查看 202关注 0票数 1

我正在将容器部署到包含Python应用程序的GKE,但在尝试使用OpenCensus发送跟踪消息时遇到错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/opencensus/metrics/transport.py", line 59, in func
    return self.func(*aa, **kw)
  File "/usr/local/lib/python3.7/site-packages/opencensus/metrics/transport.py", line 113, in export_all
    export(itertools.chain(*all_gets))
  File "/usr/local/lib/python3.7/site-packages/opencensus/ext/stackdriver/stats_exporter/__init__.py", line 162, in export_metrics
    self.client.project_path(self.options.project_id), ts_batch)
  File "/usr/local/lib/python3.7/site-packages/google/cloud/monitoring_v3/gapic/metric_service_client.py", line 1024, in create_time_series
    request, retry=retry, timeout=timeout, metadata=metadata
  File "/usr/local/lib/python3.7/site-packages/google/api_core/gapic_v1/method.py", line 143, in __call__
    return wrapped_func(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/google/api_core/retry.py", line 273, in retry_wrapped_func
    on_error=on_error,
  File "/usr/local/lib/python3.7/site-packages/google/api_core/retry.py", line 182, in retry_target
    return target()
  File "/usr/local/lib/python3.7/site-packages/google/api_core/timeout.py", line 214, in func_with_timeout
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/google/api_core/grpc_helpers.py", line 59, in error_remapped_callable
    six.raise_from(exceptions.from_grpc_error(exc), exc)
  File "<string>", line 3, in raise_from
google.api_core.exceptions.InvalidArgument: 400 One or more TimeSeries could not be written: The set of resource labels is incomplete. Missing labels: (container_name namespace_name).: timeSeries[0-199]

有趣的部分似乎是这句话:Missing labels: (container_name namespace_name)

当我在本地运行完全相同的代码时,我没有收到任何错误,并且我确实在Stackdriver Metrics Explorer中看到了我的跟踪,因此问题似乎特别与在GKE中的容器内运行有关。

要让OpenCensus在GKE容器中工作,有什么特定的要求吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-12 01:56:29

答案是您需要在容器中手动设置两个环境变量:CONTAINER_NAMENAMESPACE。我认为GKE应该设置这些值,而不是,所以OpenCensus找不到期望值。示例修复包括在podspec中包含这两个变量:

代码语言:javascript
复制
        spec:
          containers:
            env:
            - name: NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
            - name: CONTAINER_NAME
              value: {{ APP }}-collectors-{{ NAME }}

更多细节:https://github.com/census-instrumentation/opencensus-python/issues/796#issuecomment-539109321

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58125884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档