使用 Rhino,日志对话框(“command + Enter”或“视图”菜单中的日志)会立即显示日志。但是,对于使用 V8 引擎的测试项目,即使加载最简单的日志也需要 10-20 秒,并显示消息“正在等待日志,请稍候...”
“Logger.log”或“console.log”加载日志都很慢。有没有其他人遇到同样类型的缓慢?这是新引擎的预期吗?
先感谢您!
这是我用于测试的基本功能:
function logTest() {
Logger.log("log test");
}
Run Code Online (Sandbox Code Playgroud) 有没有办法监控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
我的堆栈:
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
我有一个登录Stackdriver,记录每个请求进入我的api并失败,我想写一个脚本来指望每个错误消息出现的次数.问题是,Stackdriver V2中的导出功能只允许我接收即将发生的错误消息,但我只关心已经存在于日志中的日志条目.有没有办法从Stackdriver下载完整的日志?
请你能帮我解决以下问题吗?
我在 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) 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) 是否可以检索用户登录或注销平台的日志?并将它们作为 Cloud Functions 日志发送到 stackdriver?谢谢
firebase google-cloud-platform firebase-authentication google-cloud-stackdriver google-cloud-firestore
我们有一个带有自动升级节点的 GKE 集群。我们最近注意到一个节点变得不可调度并最终被删除,我们怀疑该节点正在为我们自动升级。有没有办法在 Stackdriver 中确认(或以其他方式)这确实是发生的原因?
kubernetes google-kubernetes-engine google-cloud-stackdriver
我最近意识到我为我的日志付出了太多:
正如您所看到的,我今天刚刚对摄取设置了“限制”。希望这会减慢速度。
但据我所知,我的日志变得如此之大,以至于我每个月都必须为它们的保留付费。我不知道如何:a) 删除某个时期(或全部)的日志 b) 使日志在 x 天后自动删除
logging google-app-engine google-cloud-platform stackdriver google-cloud-stackdriver
我有一个来自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) stackdriver ×4
kubernetes ×2
logging ×2
apache2 ×1
django ×1
firebase ×1
mod-wsgi ×1
monitoring ×1
opencensus ×1
python ×1
v8 ×1