标签: google-cloud-stackdriver

Google Apps Script V8 vs Rhino 的“日志”非常慢?

使用 Rhino,日志对话框(“command + Enter”或“视图”菜单中的日志)会立即显示日志。但是,对于使用 V8 引擎的测试项目,即使加载最简单的日志也需要 10-20 秒,并显示消息“正在等待日志,请稍候...”

“Logger.log”或“console.log”加载日志都很慢。有没有其他人遇到同样类型的缓慢?这是新引擎的预期吗?

先感谢您!

这是我用于测试的基本功能:

function logTest() {
 Logger.log("log test");
}
Run Code Online (Sandbox Code Playgroud)

logging v8 google-apps-script google-cloud-stackdriver

15
推荐指数
1
解决办法
3147
查看次数

监控和警告pod状态或使用Google Container Engine(GKE)和Stackdriver重新启动

有没有办法监控pod状态并使用Stackdriver重新启动在GKE集群中运行的pod的数量?

虽然我可以看到Stackdriver中所有pod的CPU,内存和磁盘使用情况指标,但似乎没有办法获得有关由于崩溃而重新启动副本集中的pod或pod的崩溃的指标.

我正在使用Kubernetes副本集来管理pod,因此它们会在重新生成时重新生成并在崩溃时使用新名称创建.据我所知,Stackdriver中的指标由pod-name(在pod的生命周期中是唯一的)显示,这听起来并不合理.

警告pod故障听起来像是一件很自然的事情,听起来很难相信目前还不支持.我从Stackdriver for Google Container Engine获得的监控和警报功能似乎相当无用,因为它们都绑定到了生命周期非常短的pod.

因此,如果这不起作用,那么有关于如何监控持续崩溃的pod的已知变通方法或最佳实践吗?

monitoring kubernetes google-kubernetes-engine stackdriver google-cloud-stackdriver

12
推荐指数
3
解决办法
3412
查看次数

在App Engine Standard python中使用Google Stackdriver Logging时出错

我的堆栈:
Google App Engine标准
Python(2.7)

目标:
要在Google Stackdriver日志记录中创建命名日志,请访问https://console.cloud.google.com/logs/viewer

文档 - Stackdriver日志记录: https ://google-cloud-python.readthedocs.io/en/latest/logging/usage.html

码:

from google.cloud import logging as stack_logging
from google.cloud.logging.resource import Resource
import threading

class StackdriverLogging:
    def __init__(self, resource=Resource(type='project', labels={'project_id': 'project_id'}), project_id='project_id'):

    self.resource = resource
    self.client = stack_logging.Client(project=project_id)

    def delete_logger(self, logger_name):
        logger = self.client.logger(logger_name)
        logger.delete()

    def async_log(self, logger_name, sev, msg):
        t = threading.Thread(target=self.log, args=(logger_name, sev, msg,))
        t.start()

    def log(self, logger_name, sev, msg):
        logger = self.client.logger(logger_name)

    if isinstance(msg, str):
        logger.log_text(msg, severity=sev, resource=self.resource)
    elif isinstance(msg, dict):
        logger.log_struct(msg, severity=sev, resource=self.resource) …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine google-cloud-platform google-cloud-logging google-cloud-stackdriver

11
推荐指数
1
解决办法
602
查看次数

如何在Stackdriver中导出以前的日志

我有一个登录Stackdriver,记录每个请求进入我的api并失败,我想写一个脚本来指望每个错误消息出现的次数.问题是,Stackdriver V2中的导出功能只允许我接收即将发生的错误消息,但我只关心已经存在于日志中的日志条目.有没有办法从Stackdriver下载完整的日志?

google-cloud-platform stackdriver google-cloud-stackdriver

10
推荐指数
2
解决办法
3352
查看次数

安装在 VM 上的 GCP stackdriver-agent 每分钟发送一次奇怪的日志

请你能帮我解决以下问题吗?

我在 node.js 上有一个后端服务,我将它部署在 GCE VM 上。它工作正常,但在安装日志记录和监控代理后,我在日志查看器中看到非常奇怪的日志。我查看了生成该日志的付费内容。它是堆栈驱动程序代理。

以下是它们:

A 2020-05-15T22:45:26Z write_gcm: can not take infinite value
A 2020-05-15T22:45:26Z write_gcm: wg_typed_value_create_from_value_t_inline failed for swap/percent/value! Continuing. 
A 2020-05-15T22:45:26Z write_gcm: can not take infinite value 
A 2020-05-15T22:45:26Z write_gcm: wg_typed_value_create_from_value_t_inline failed for swap/percent/value! Continuing. 
A 2020-05-15T22:45:26Z write_gcm: can not take infinite value 
A 2020-05-15T22:45:26Z write_gcm: wg_typed_value_create_from_value_t_inline failed for swap/percent/value! Continuing. 
A 2020-05-15T22:45:28Z write_gcm: Server response (CollectdTimeseriesRequest) contains errors:#012{#012  "payloadErrors": [#012    {#012      "error": {#012        "code": 3,#012        "message": "Unsupported collectd plugin/type combination: plugin: \"processes\" type: \"io_octets\""#012 …
Run Code Online (Sandbox Code Playgroud)

google-cloud-monitoring google-cloud-stackdriver

10
推荐指数
1
解决办法
1747
查看次数

Docker日志驱动程序gcplogs:如何格式化日志,以便它们在Stackdriver中正确显示?

tldr:
- 我正在写一个运行在Google Cloud之外的python应用程序的日志
- 我正在使用gcplogs将日志导入到Stackdriver - 导入的日志
必须是错误的格式,因为它们不会在Stackdriver日志记录中显示

我很难搞清楚如何配置gcplogs Docker日志驱动程序,以便在Stackdriver日志记录中显示日志.这是日志目前的样子: 在此输入图像描述

看起来stackdriver没有正确解析这些日志.但是,如果在GKE中运行docker镜像,则日志看起来正确:

在此输入图像描述

这里Stackdriver已经认识到这些日志是调试消息.

由于这两个应用程序使用相同的记录器,我认为从应用程序记录的消息格式正确,并且必须是错误或缺少某些内容的gcplogs配置.(有关python代码的信息,请参阅此存储库:https://github.com/cognitedata/python-logs-export-docker-gcplogs-test)

这是/etc/docker/daemon.json运行Docker镜像的机器上的内容:

{
  "log-driver": "gcplogs",
  "log-opts": {
    "gcp-project": "removed",
    "env": "host"
  }
}
Run Code Online (Sandbox Code Playgroud)

输出docker info | grep 'Logging Driver'Logging Driver: gcplogs.

输出docker version是:

Client:
 Version:       18.03.0-ce
 API version:   1.37
 Go version:    go1.9.2
 Git commit:    0520e24
 Built: Wed Mar 21 23:05:52 2018
 OS/Arch:       linux/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:      18.03.0-ce
  API …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform stackdriver google-cloud-stackdriver

9
推荐指数
0
解决办法
715
查看次数

Firebase 身份验证日志 - GCP

是否可以检索用户登录或注销平台的日志?并将它们作为 Cloud Functions 日志发送到 stackdriver?谢谢

firebase google-cloud-platform firebase-authentication google-cloud-stackdriver google-cloud-firestore

9
推荐指数
2
解决办法
7489
查看次数

如何在 Stackdriver 日志中检测 GKE 自动升级节点

我们有一个带有自动升级节点的 GKE 集群。我们最近注意到一个节点变得不可调度并最终被删除,我们怀疑该节点正在为我们自动升级。有没有办法在 Stackdriver 中确认(或以其他方式)这确实是发生的原因?

kubernetes google-kubernetes-engine google-cloud-stackdriver

9
推荐指数
2
解决办法
5772
查看次数

如何清除 Google Cloud Platform 中的 Stackdriver 日志?

我最近意识到我为我的日志付出了太多:

正如您在图像中看到的,日志每个月都在变大

正如您所看到的,我今天刚刚对摄取设置了“限制”。希望这会减慢速度。

但据我所知,我的日志变得如此之大,以至于我每个月都必须为它们的保留付费。我不知道如何:a) 删除某个时期(或全部)的日志 b) 使日志在 x 天后自动删除

我也只是今天将配额限制为 100 而不是 6000

logging google-app-engine google-cloud-platform stackdriver google-cloud-stackdriver

8
推荐指数
1
解决办法
7914
查看次数

Django,Apache Kubernetes引擎上的Apache2,向Stackdriver Trace写了Opencensus Traces

我有一个来自Apache2的Django Web应用程序,其中mod_wsgi位于Google云平台中Kubernetes集群上运行的docker容器中,受Identity-Aware代理保护.一切都很好,但我想为所有请求发送GCP Stackdriver跟踪,而不为我的项目中的每个视图写一个.我发现使用Opencensus处理这个中间件.我浏览了这个文档,并通过指定StackdriverExporter并将project_id参数作为Project Number我的项目的Google Cloud Platform 传递,手动生成导出到项目中的Stackdriver Trace的跟踪.

现在为了对所有请求进行自动化,我按照说明设置了中间件.在settings.py,我添加模块INSTALLED_APPS,MIDDLEWARE并设置了OPENCENSUS_TRACE选项字典.我还加了OPENCENSUS_TRACE_PARAMS.这个伟大的工程使用默认的出口"opencensus.trace.exporters.print_exporter.PrintExporter",我所看到的跟踪和跨度信息,包括跟踪ID,并在我的Apache2 Web服务器日志的所有细节.但是,我想将这些发送到我的Stackdriver Trace处理器进行分析.

我尝试将EXPORTER参数设置为opencensus.trace.exporters.stackdriver_exporter.StackdriverExporter,只要您提供项目编号,该参数在从shell手动运行时有效.

当设置使用时StackdriverExporter,网页不会响应加载,运行状况检查开始失败,最终网页返回502错误,说我应该在30秒内再试一次(我相信身份识别一旦检测到运行状况检查失败,代理就会生成此错误),但服务器不会生成任何错误,并且Apache2中没有访问日志或错误.

在settings.py中有另一个字典命名OPENCENSUS_TRACE_PARAMS,我认为需要确定导出器应该使用哪个项目编号.该示例GCP_EXPORTER_PROJECT设置为None,并SERVICE_NAME设置为'my_service'.

我需要设置哪些选项才能让导出器发送回Stackdriver而不是打印到日志?你对我如何设置它有什么想法吗?

settings.py

MIDDLEWARE = (
    ...
    'opencensus.trace.ext.django.middleware.OpencensusMiddleware',
)
INSTALLED_APPS = (
    ...
    'opencensus.trace.ext.django',
)

OPENCENSUS_TRACE = {
    'SAMPLER': 'opencensus.trace.samplers.probability.ProbabilitySampler',
    'EXPORTER': 'opencensus.trace.exporters.stackdriver_exporter.StackdriverExporter',  # This one just makes the server hang with no response or error …
Run Code Online (Sandbox Code Playgroud)

django mod-wsgi apache2 google-cloud-stackdriver opencensus

8
推荐指数
1
解决办法
285
查看次数